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

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

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

注意

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

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

  1. 使用拥有存储桶的账户(此示例中为 111111111111)登录 Amazon Web Services Management Console,然后打开 Amazon S3 控制台。

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

  3. 选择权限

  4. 选择 Edit Bucket Policy

  5. 修改现有策略以便为要将其日志文件传输到此存储桶的每个额外账户添加一个行。参阅以下示例策略并记下指定另一个账户 ID 的带下划线的 Resource 行。作为安全最佳实践,请将 aws:SourceArn 条件密钥添加到 Amazon S3 存储桶策略。这有助于防止未经授权访问您的 S3 存储桶。如果您有现有跟踪记录,请务必添加一个或多个条件密钥。

    注意

    Amazon 账户 ID 为十二位数字,包括前导零。

    { "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/optionalLogFilePrefix/AWSLogs/111111111111/*", "arn:aws:s3:::myBucketName/optionalLogFilePrefix/AWSLogs/222222222222/*" ], "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:cloudtrail:region:myAccountID:trail/trailName", "s3:x-amz-acl": "bucket-owner-full-control" } } } ] }