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

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

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

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

注意

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

修改存储桶权限,以便可以从多个账户接收这些文件
  1. 使用拥有存储桶的账户(此示例中为 111111111111)登录 Amazon Web Services Management Console,然后打开 Simple Storage Service(Amazon S3)控制台。

  2. 选择 CloudTrail 将日志文件传输到的存储桶,然后选择 Permissions(权限)。

  3. Bucket policy(存储桶策略)下,选择 Edit(编辑)。

  4. 修改现有策略以便为要将其日志文件传输到此存储桶的每个额外账户添加一个行。参阅以下示例策略并记下指定另一个账户 ID 的带下划线的 Resource 行。作为安全最佳实践,请将 aws:SourceArn 条件密钥添加到 Simple Storage Service(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", "Condition": { "StringEquals": { "aws:SourceArn": [ "arn:aws:cloudtrail:region:111111111111:trail/primaryTrailName", "arn:aws:cloudtrail:region:222222222222:trail/secondaryTrailName" ] } } }, { "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:111111111111:trail/primaryTrailName", "arn:aws:cloudtrail:region:222222222222:trail/secondaryTrailName" ], "s3:x-amz-acl": "bucket-owner-full-control" } } } ] }