设置适用于多个账户的存储桶策略 - AWS CloudTrail
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

设置适用于多个账户的存储桶策略

对于要从多个账户接收日志文件的存储桶,其存储桶策略必须向 CloudTrail 授予从您指定的所有账户写入日志文件的权限。这意味着,您必须修改目标存储桶的存储桶策略以向 CloudTrail 授予从每个指定账户写入日志文件的权限。

注意

出于安全原因,未经授权的用户无法创建包含AWSLogs/作为S3KeyPrefix参数。

修改存储桶权限,以便可以从多个账户接收这些文件

  1. 使用拥有存储桶的账户 (此示例中为 1111111111111111111111111111111111) 登录 AWS 管理控制台,然后打开 Amazon S3 控制台。

  2. 选择 CloudTrail 将日志文件传输到的存储桶,然后选择属性

  3. 选择 Permissions

  4. 选择 Edit Bucket Policy

  5. 修改现有策略以便为要将其日志文件传输到此存储桶的每个额外账户添加一个行。参阅以下示例策略并记下指定另一个账户 ID 的带下划线的 Resource 行。

    注意

    AWS 账户 ID 是一个 12 位数,且不得省略前导零。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "AWSCloudTrailAclCheck20131101", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::myBucketName" }, { "Sid": "AWSCloudTrailWrite20131101", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "s3:PutObject", "Resource": [ "arn:aws:s3:::myBucketName/[optional] myLogFilePrefix/AWSLogs/111111111111/*", "arn:aws:s3:::myBucketName/[optional] myLogFilePrefix/AWSLogs/222222222222/*" ], "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control" } } } ] }