AWS CloudWatch を Google SecOps と統合する
このドキュメントでは、AWS CloudWatch を Google Security Operations(Google SecOps)と統合する方法について説明します。
統合バージョン: 6.0
ユースケース
アクティブなアクション - ログの検索、ロググループ/ストリームの作成、ロググループ/ストリームの削除、保持ポリシーの更新。
統合のパラメータ
次のパラメータを使用して統合を構成します。
パラメータの表示名> | Type> | デフォルト値> | 必須> | 説明 |
---|---|---|---|---|
AWS アクセスキー ID | 文字列 | なし | ○ | 統合で使用する AWS アクセスキー ID。 |
AWS シークレット キー | パスワード | なし | ○ | 統合で使用する AWS 秘密鍵。 |
AWS のデフォルト リージョン | 文字列 | なし | ○ | 統合で使用する AWS のデフォルト リージョン(例: us-west-2)。 |
Google SecOps で統合を構成する手順については、統合を構成するをご覧ください。
必要に応じて、後の段階で変更できます。統合インスタンスを構成すると、ハンドブックで使用できるようになります。複数のインスタンスの構成とサポートの方法については、複数のインスタンスのサポートをご覧ください。
操作
アクションの詳細については、 デスクから保留中のアクションに対応すると手動アクションを実行するをご覧ください。
Ping
AWS CloudWatch への接続をテストします。
実行
このアクションはエンティティに対しては実行されません。
アクションの結果
スクリプトの結果
スクリプトの結果名> | [Value Options](値のオプション)> |
---|---|
is_success | is_success=False |
is_success | is_success=True |
ケースウォール
結果のタイプ | 値 / 説明 | 種類 |
---|---|---|
出力メッセージ * | アクションが失敗したり、ハンドブックの実行が停止したりすることはありません。
アクションが失敗し、ハンドブックの実行が停止します。
|
全般 |
ロググループの一覧表示
AWS CloudWatch で使用可能なロググループを一覧表示します。
パラメータ
パラメータの表示名> | Type> | デフォルト値> | 必須> | 説明 |
---|---|---|---|---|
返されるグループの最大数 | Integer | 50 | いいえ | 返すグループの数を指定します。デフォルト: 50。 |
実行
このアクションはエンティティに対しては実行されません。
アクションの結果
スクリプトの結果
スクリプトの結果名> | [Value Options](値のオプション)> |
---|---|
is_success | is_success=False |
is_success | is_success=True |
JSON の結果
[
{
"arn": "arn:aws:logs:us-east-1:",
"creationTime": 1611581795766,
"logGroupName": "CloudTrail/DefaultLogGroup",
"metricFilterCount": 0,
"storedBytes": 24529015
},
{
"arn": "arn:aws:logs:us-east-1:",
"creationTime": 1606993203235,
"logGroupName": "Example",
"metricFilterCount": 1,
"storedBytes": 730
},
{
"arn": "arn:aws:logs:us-east-1:",
"creationTime": 1611652265055,
"logGroupName": "aws-cloudtrail-logs",
"metricFilterCount": 0,
"storedBytes": 51354815
}
]
ケースウォール
結果のタイプ | 値 / 説明 | 種類 |
---|---|---|
出力メッセージ * | アクションが失敗したり、ハンドブックの実行が停止したりすることはありません。
データが利用できない場合(is_success = true): 「AWS CloudWatch でロググループが見つかりませんでした。」 アクションが失敗し、ハンドブックの実行が停止します:
|
一般 |
Case Wall テーブル | 名前: 「ロググループ」 列: 名前 指標フィルタの数 保存されたバイト数 作成時間 |
全般 |
ログストリームの一覧表示
AWS CloudWatch で使用可能なログストリームを一覧表示します。
パラメータ
パラメータの表示名> | Type> | デフォルト値> | 必須> | 説明 |
---|---|---|---|---|
ロググループ | CSV | なし | はい | ログストリームを取得するグループ名のカンマ区切りのリストを指定します。 |
Order By | DDL | ログ ストリーム名 有効な値: ログストリーム名 前回のイベントの時刻 |
いいえ | ログストリームの順序を指定します。 |
並べ替え順序 | DDL | 昇順 有効な値: 昇順 降順 |
いいえ | 使用する並べ替え順序を指定します。 |
返される最大ストリーム数 | Integer | 50 | いいえ | ロググループごとに返すストリームの数を指定します。 |
実行
このアクションはエンティティに対しては実行されません。
アクションの結果
スクリプトの結果
スクリプトの結果名> | [Value Options](値のオプション)> |
---|---|
is_success | is_success=False |
is_success | is_success=True |
JSON の結果
[{
"group":"{group name}"
"logStreams": [
{
"arn": "arn:aws:logs:us-east-1:log-group:aws-cloudtrail-logs:log-stream:CloudTrail_us-east-1",
"creationTime": 1611652272827,
"firstEventTimestamp": 1611652287716,
"lastEventTimestamp": 1612271538268,
"lastIngestionTime": 1612271538289,
"logStreamName": "CloudTrail_us-east-1",
"storedBytes": 0,
"uploadSequenceToken": "49039859450784908968417870788122674924958823185025535393"
}
]
}
]
ケースウォール
結果のタイプ | 値 / 説明 | 種類 |
---|---|---|
出力メッセージ * | アクションが失敗したり、ハンドブックの実行が停止したりすることはありません。
少なくとも 1 つのロググループのデータがない場合(is_success = true): 「AWS CloudWatch で次のロググループの利用可能なログストリームを返すことができませんでした: {group names}」。 少なくとも 1 つのロググループでデータが利用できない場合(is_success = false):「AWS CloudWatch で指定されたロググループのログストリームが見つかりませんでした。」 アクションが失敗し、ハンドブックの実行が停止します:
|
一般 |
Case Wall テーブル | 名前: 「{グループ名}: ログ ストリーム」 列: 名前 保存されたバイト数 作成時間 最終イベントのタイムスタンプ |
全般 |
検索ログイベント
AWS CloudWatch でログイベントを検索します。
パラメータ
パラメータの表示名> | Type> | デフォルト値> | 必須> | 説明 |
---|---|---|---|---|
ロググループ | 文字列 | なし | はい | イベントを検索するロググループの名前を指定します。 |
ログストリーム | CSV | なし | いいえ | イベントを検索するログストリームのカンマ区切りのリストを指定します。 |
期間 | DDL | Last Hour 有効な値: Last Hour 過去 6 時間 過去 24 時間 先週 先月 カスタム |
いいえ | 検索の期間を指定します。「カスタム」を選択した場合は、「開始時刻」も設定する必要があります。 |
開始時刻 | 文字列 | なし | いいえ | 検索の開始時刻を指定します。[期間] パラメータに [カスタム] が選択されている場合、このパラメータは必須です。形式: ISO 8601 |
終了時刻 | 文字列 | なし | いいえ | 検索の終了時刻を指定します。形式: ISO 8601。何も指定されず、「期間」パラメータで「カスタム」が選択されている場合、このパラメータは現在の時刻を使用します。 |
Custom Filter | 文字列 | なし | いいえ | 検索のカスタム フィルタを指定します。詳細については、ドキュメント ポータルをご覧ください。 |
返されるイベントの最大数 | 整数 | 50 | いいえ | 返すイベントの数を指定します。デフォルト: 50。 |
実行
このアクションはエンティティに対しては実行されません。
アクションの結果
スクリプトの結果
スクリプトの結果名> | [Value Options](値のオプション)> |
---|---|
is_success | is_success=False |
is_success | is_success=True |
JSON の結果
[
{
"eventId": "ID",
"ingestionTime": 1611652287896,
"logStreamName": "CloudTrail_us-east-1",
"message": {
"eventVersion": "1.08",
"userIdentity": {
"type": "AssumedRole",
"principalId": "ID",
"arn":"arn:aw
s:sts: : ACCOUNT_ID:assumed-role/AWSServiceRoleForAmazonMacie/AmazonMacieSession","accountId":"ACCOUNT_ID","accessKeyId":"KEY_ID","sessionC
ontext":{"sessionIssuer":{"type":"Role","principalId":"ID","arn":"arn:aws:iam: : ACCOUNT_ID:role/aws-service-role/macie.amazonaws.com/AW
SServiceRoleForAmazonMacie","accountId":"ACCOUNT_ID","userName":"AWSServiceRoleForAmazonMacie"},"webIdFederationData":{},"attributes":{"mfaAuthenticated": "false",
"creationDate": "2021-01-26T08:53:52Z"
}
},
"invokedBy": "AWS Internal",
"eventTime": "2021-01-26T08:53:52Z",
"eventSource": "s3.amazonaws.com",
"eventName": "GetBucketLogging",
"awsRegion": "us-east-1",
"sourceIPAddress": "AWSInternal",
"userAgent": "AWS Internal",
"requestParameters": {
"logging": "",
"bucketName": "example",
"Host": "example.s3.amazonaws.com"
},
"responseElements": null,
"additionalEventData": {
"SignatureVersion": "SigV4",
"CipherSuite": "ECDHE-RSA-AES128-GCM-SHA256",
"bytesTransferredIn": 0,
"AuthenticationMethod": "AuthHeader",
"x-amz-id-2": "PFM+6pyK/gCPy95gh8dtstgtXftrpHkL8s=",
"bytesTransferredOut": 289
},
"requestID": "8FA919A428BC82D7",
"eventID": "7eb5dd44-7021-4945-b9be-27f5b1e0d8d0",
"readOnly": true,
"resources": [
{
"accountId": "ACCOUNT_ID",
"type": "AWS::S3::Bucket",
"ARN": "arn:aws:s3:::example"
}
],
"eventType": "AwsApiCall",
"managementEvent": true,
"eventCategory": "Management",
"recipientAccountId": "ACCOUNT_ID"
},
"timestamp": 1611652287716
}
]
ケースウォール
結果のタイプ | 値 / 説明 | 種類 |
---|---|---|
出力メッセージ * | アクションが失敗したり、ハンドブックの実行が停止したりすることはありません。
データが利用できない場合(is_success = false): 「指定された検索のデータが見つかりませんでした。」 アクションが失敗し、ハンドブックの実行が停止します:
|
一般 |
Case Wall テーブル | 名前: 「Search Results」 列: すべてのキーが使用可能です。 |
全般 |
保持ポリシーを設定する
AWS CloudWatch でロググループの保持ポリシーを設定します。
パラメータ
パラメータの表示名> | Type> | デフォルト値> | 必須> | 説明 |
---|---|---|---|---|
ロググループ | 文字列 | なし | はい | 保持ポリシーを設定するロググループの名前を指定します。 |
保持日数 | DDL | 1 指定できる値 1、3、5、7、14、30、60、90、120、150、180、365、400、545、731、1827、3653 |
はい | ロググループにデータを保持する日数を指定します。 |
実行
このアクションはエンティティに対しては実行されません。
アクションの結果
スクリプトの結果
スクリプトの結果名> | [Value Options](値のオプション)> |
---|---|
is_success | is_success=False |
is_success | is_success=True |
ケースウォール
結果のタイプ | 値 / 説明 | 種類 |
---|---|---|
出力メッセージ * | アクションが失敗したり、ハンドブックの実行が停止したりすることはありません。
アクションが失敗し、ハンドブックの実行が停止します:
|
全般 |
保持ポリシーを削除する
AWS CloudWatch のロググループから保持ポリシーを削除します。
パラメータ
パラメータの表示名> | Type> | デフォルト値> | 必須> | 説明 |
---|---|---|---|---|
ロググループ | 文字列 | なし | はい | 保持ポリシーを削除するロググループの名前を指定します。 |
実行
このアクションはエンティティに対しては実行されません。
アクションの結果
スクリプトの結果
スクリプトの結果名> | [Value Options](値のオプション)> |
---|---|
is_success | is_success=False |
is_success | is_success=True |
ケースウォール
結果のタイプ | 値 / 説明 | 種類 |
---|---|---|
出力メッセージ * | アクションが失敗したり、ハンドブックの実行が停止したりすることはありません。
アクションが失敗し、ハンドブックの実行が停止します:
|
全般 |
ロググループを作成する
AWS CloudWatch にロググループを作成します。
パラメータ
パラメータの表示名> | Type> | デフォルト値> | 必須> | 説明 |
---|---|---|---|---|
ロググループ名 | 文字列 | なし | はい | 新しいロググループの名前を指定します。 |
実行
このアクションはエンティティに対しては実行されません。
アクションの結果
スクリプトの結果
スクリプトの結果名> | [Value Options](値のオプション)> |
---|---|
is_success | is_success=False |
is_success | is_success=True |
JSON の結果
{
"group_name": "GROUP_NAME"
}
ケースウォール
結果のタイプ | 値 / 説明 | 種類 |
---|---|---|
出力メッセージ * | アクションが失敗したり、ハンドブックの実行が停止したりすることはありません。
アクションが失敗し、ハンドブックの実行が停止します:
|
全般 |
ログストリームを作成する
AWS CloudWatch のロググループのログストリームを作成します。
パラメータ
パラメータの表示名> | Type> | デフォルト値> | 必須> | 説明 |
---|---|---|---|---|
ロググループ | 文字列 | なし | はい | ログストリームを作成するロググループの名前を指定します。 |
ログストリーム名 | 文字列 | なし | はい | 新しいログストリームの名前を指定します。 |
実行
このアクションはエンティティに対しては実行されません。
アクションの結果
スクリプトの結果
スクリプトの結果名> | [Value Options](値のオプション)> |
---|---|
is_success | is_success=False |
is_success | is_success=True |
JSON の結果
{
"log_stream": "STREAM_NAME"
}
ケースウォール
結果のタイプ | 値 / 説明 | 種類 |
---|---|---|
出力メッセージ * | アクションが失敗したり、ハンドブックの実行が停止したりすることはありません。
アクションが失敗し、ハンドブックの実行が停止します:
|
全般 |
ロググループを削除する
AWS CloudWatch でロググループを削除します。
パラメータ
パラメータの表示名> | Type> | デフォルト値> | 必須> | 説明 |
---|---|---|---|---|
ロググループ名 | 文字列 | なし | はい | 削除する必要があるロググループの名前を指定します。 |
実行
このアクションはエンティティに対しては実行されません。
アクションの結果
スクリプトの結果
スクリプトの結果名> | [Value Options](値のオプション)> |
---|---|
is_success | is_success=False |
is_success | is_success=True |
ケースウォール
結果のタイプ | 値 / 説明 | 種類 |
---|---|---|
出力メッセージ * | アクションが失敗したり、ハンドブックの実行が停止したりすることはありません。
グループが存在しない場合(is_success=false):「アクションは、AWS CloudWatch でロググループ {group} を削除できませんでした。理由: ロググループ {group} が AWS CloudWatch で見つかりませんでした。」 アクションが失敗し、ハンドブックの実行が停止します:
|
全般 |
ログストリームを削除する
AWS CloudWatch のロググループ内のログストリームを削除します。
パラメータ
パラメータの表示名> | Type> | デフォルト値> | 必須> | 説明 |
---|---|---|---|---|
ロググループ名 | 文字列 | なし | はい | ログストリームを含むロググループの名前を指定します。 |
ログストリーム名 | 文字列 | なし | はい | 削除する必要があるログストリームの名前を指定します。 |
実行
このアクションはエンティティに対しては実行されません。
アクションの結果
スクリプトの結果
スクリプトの結果名> | [Value Options](値のオプション)> |
---|---|
is_success | is_success=False |
is_success | is_success=True |
ケースウォール
結果のタイプ | 値 / 説明 | 種類 |
---|---|---|
出力メッセージ * | アクションが失敗したり、ハンドブックの実行が停止したりすることはありません。
ストリームが存在しない場合(is_success=false):「AWS CloudWatch で、ロググループ {group} からログストリーム {stream} を削除できませんでした。理由: AWS CloudWatch のロググループ {group} にログストリーム {stream} が見つかりませんでした。」 グループが存在しない場合(is_success=false):「AWS CloudWatch のロググループ {group} からログストリーム {stream} を削除できませんでした。理由: ロググループ {group} が AWS CloudWatch で見つかりませんでした。」 アクションが失敗し、ハンドブックの実行が停止します:
|
全般 |
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。