翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
複数のアカウントからの CloudTrail ログファイルの受信
は、複数の から単一の Amazon S3 バケットAWS アカウントにログファイルを CloudTrail 配信できます。例えば、アカウント IDs が 111111111111、、222222222222333333333333、444444444444 AWS アカウントの 4 つの があり、これら 4 つのアカウントすべてからアカウント 111111111111 に属するバケットにログファイルを配信 CloudTrail するように を設定するとします。これを行うには、以下の手順を実行します。
-
配信先バケットが配置されるアカウント (この例では 111111111111) で、証跡を作成します。他のアカウントについては、まだ証跡を作成しないでください。
手順については、「コンソールで証跡を作成する」を参照してください。
-
配信先バケットのバケットポリシーを更新して、 CloudTrail にクロスアカウントのアクセス権限を付与します。
手順については、「複数のアカウントのバケットポリシーの設定」を参照してください。
-
アクティビティをログ記録したい他のアカウント (この例では 222222222222、333333333333、444444444444) で、証跡を作成します。各アカウントで証跡を作成する場合は、ステップ 1 で指定したアカウント (この例では 111111111111) に属する Amazon S3 バケットを指定します。手順については、「追加アカウントでの証跡の作成」を参照してください。
注記
SSE-KMS 暗号化を有効にする場合は、KMS キーポリシーで CloudTrail がキーを使用してログファイルを暗号化できるようにし、指定したユーザーが暗号化されていない形式でログファイルを読み取れるようにする必要があります。キーポリシーを手動で編集する方法については、CloudTrail の AWS KMS キーポリシーの設定 を参照してください。
他のアカウントでコールされたデータイベントのバケット所有者アカウント ID を秘匿化する
従来、Amazon S3 CloudTrail データイベント API 発信者AWS アカウントの でデータイベントが有効になっている場合、 CloudTrail はデータイベントで S3 バケット所有者のアカウント ID を表示していました ( などPutObject
)。これは、バケット所有者アカウントで S3 データイベントが有効ではない場合も発生します。
これで、次の両方の条件が満たされた場合、 は resources
ブロック内の S3 バケット所有者のアカウント ID CloudTrail を削除します。
-
データイベント API コールは、Amazon S3 バケット所有者AWS アカウントとは異なる からのものです。 Amazon S3
-
API 発信者が発信者アカウントでのみ
AccessDenied
エラーを受信した場合。
API コールを実行したリソースの所有者は、引き続き完全なイベントを受信します。
次のイベントレコードのスニペットは、期待される動作の一例です。Historic
スニペットでは、S3 バケット所有者のアカウント ID 123456789012 が、別のアカウントから API 発信者に表示されます。現在の動作例では、バケット所有者のアカウント ID は表示されません。
# Historic "resources": [ { "type": "AWS::S3::Object", "ARNPrefix": "arn:aws:s3:::test-my-bucket-2/" }, { "accountId": "123456789012", "type": "AWS::S3::Bucket", "ARN": "arn:aws:s3:::test-my-bucket-2" } ]
以下は現在の動作です。
# Current "resources": [ { "type": "AWS::S3::Object", "ARNPrefix": "arn:aws:s3:::test-my-bucket-2/" }, { "accountId": "", "type": "AWS::S3::Bucket", "ARN": "arn:aws:s3:::test-my-bucket-2" } ]