本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
设置适用于多个账户的存储桶策略
要使存储桶接收来自多个账户的日志文件,其存储桶策略必须授予从您指定的所有账户写入日志文件的 CloudTrail 权限。这意味着您必须修改目标存储桶的存储桶策略,以授予从每个指定账户写入日志文件的 CloudTrail 权限。
注意
出于安全原因,未经授权的用户无法创建包含 AWSLogs/
作为 S3KeyPrefix
参数的跟踪记录。
修改存储桶权限,以便可以从多个账户接收这些文件
-
AWS Management Console 使用拥有存储桶的账户(在本示例中为 111111111111)登录,然后打开 Amazon S3 控制台。
-
选择用于 CloudTrail 传送日志文件的存储桶,然后选择权限。
-
在 Bucket policy(存储桶策略)下,选择 Edit(编辑)。
-
修改现有策略以便为要将其日志文件传输到此存储桶的每个额外账户添加一个行。参阅以下示例策略并记下指定另一个账户 ID 的带下划线的
Resource
行。作为安全最佳实践,请将aws:SourceArn
条件密钥添加到 Simple Storage Service(Amazon S3)存储桶策略。这有助于防止未经授权访问您的 S3 存储桶。如果您有现有跟踪记录,请务必添加一个或多个条件密钥。注意
AWS 账户 ID 是一个十二位数字,包括前导零。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSCloudTrailAclCheck20131101", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::
amzn-s3-demo-bucket
", "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:::amzn-s3-demo-bucket
/optionalLogFilePrefix/
AWSLogs/111111111111
/*", "arn:aws:s3:::amzn-s3-demo-bucket
/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" } } } ] }