配置跨账户CloudTrail日志遇权限异常,需配置何种S3桶权限?
解决跨账户CloudTrail日志存储的S3桶策略配置问题
你需要给目标账户的S3存储桶添加包含以下权限的桶策略,才能允许源账户的CloudTrail将日志写入该桶:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCloudTrailPutLogs", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::<你的目标桶名称>/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control" } } }, { "Sid": "AllowCloudTrailCheckBucketLocation", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "s3:GetBucketLocation", "Resource": "arn:aws:s3:::<你的目标桶名称>" }, { "Sid": "AllowSourceAccountManageBucketPolicy", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::<源账户ID>:root" }, "Action": [ "s3:GetBucketPolicy", "s3:PutBucketPolicy" ], "Resource": "arn:aws:s3:::<你的目标桶名称>" } ] }
配置说明:
- 替换
<你的目标桶名称>为存储日志的S3桶全名 - 替换
<源账户ID>为需要发送CloudTrail日志的AWS账户ID - 第一个Statement:允许CloudTrail服务向桶内写入日志对象,同时强制设置ACL为
bucket-owner-full-control,确保目标账户拥有日志文件的完全控制权 - 第二个Statement:允许CloudTrail获取桶的区域信息,这是CloudTrail创建跟踪时的必要校验步骤
- 第三个Statement:允许源账户读取和更新桶策略,解决你遇到的「无法获取存储桶当前访问策略」错误
配置完成后,回到源账户重新创建CloudTrail跟踪即可。
内容的提问来源于stack exchange,提问作者chandan singh chauhaan
相关产品推荐
相关产品推荐

