允许基于CloudTrail事件生成策略,其中所选Trail将事件记录在另一个帐户的S3存储桶中



我有一个启用了CloudTrail的AWS帐户(帐户A(,并将管理事件记录到另一个专用日志帐户(帐户B,我也拥有它(中的S3"日志"桶中。

日志记录部分工作正常,但我现在正在尝试(但失败了(使用帐户A中IAM控制台(在Users>Permissions选项卡下(中的"Generate policy based on CloudTrail events"工具。

这应该读取给定用户/地区/编号的CloudTrail日志。天,识别用户执行的所有操作,然后生成一个示例IAM安全策略,只允许这些操作,这对于设置最低权限策略等非常有用。

当我第一次运行生成器时,它在同一帐户(帐户a(中创建了一个新的服务角色:AccessAnalyzerMonitor ServiceRole_ABCDEFGHI

当我选择CloudTrail跟踪进行分析时,它(正确地(识别出跟踪日志存储在另一个帐户的S3存储桶中,并显示以下警告消息:

重要信息:验证是否为所选trail所选的trail将事件记录在另一个S3存储桶中账户您选择或创建的角色必须具有对bucket来生成策略。了解更多信息。

尝试在此阶段运行生成器在短时间后失败,如果您将鼠标悬停在控制台中的"失败"状态上,则会看到消息:

分配给访问CloudTrail S3存储桶的权限不正确。请请先修复,然后重试。

这很有道理,但实际上,将对S3存储桶的读取权限授予自动生成的AccessAnalyzerMonitor ServiceRole_ABCDEFGHI是我现在的困境!

我对AWS还比较陌生,所以我可能做了一些愚蠢的事情,或者遗漏了一些明显的事情,但我正试图通过添加到我们账户B中S3日志存储桶附带的"存储桶策略"中,来授予账户A中自动生成的角色S3存储桶的权限。我已经将以下摘录添加到现有的bucket策略中(这只是CloudTrail日志bucket的标准策略,并扩展为允许帐户a中的CloudTrail也向其写入日志。

"Sid": "IAMPolicyGeneratorRead",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::1234567890:role/service-role/AccessAnalyzerMonitorServiceRole_ABCDEFGHI"
},
"Action": [
"s3:GetObject",
"s3:GetObjectVersion",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::aws-cloudtrail-logs-ABCDEFGHI",
"arn:aws:s3:::aws-cloudtrail-logs-ABCDEFGHI/*"
]
}

有什么建议我该怎么做吗?

原来我只需要按照这里描述的步骤操作:https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-generation.html#access-"在另一个帐户中使用AWS CloudTrail数据生成策略"一节中的分析器策略生成跨帐户,特别是针对"对象所有权"设置,以及更改我的Bucket策略以匹配示例。

相关内容

最新更新