如何使用存储桶策略允许 S3 存储桶跨账户访问

时间:2021-04-01 06:26:15

标签: terraform terraform-provider-aws terraform0.12+ terraform-modules

我对各种帐户使用以下存储桶策略将日志推送到位于“ACCOUNT-ID-0”的集中式 S3 存储桶中:

我在 ACCOUNT-ID-0 中有此政策

true

我想获取位于“arn:aws:s3::BUCKET-NAME/awsconfigconforms-rules/abc.yaml”中的文件

我正在尝试使用模板文件 abc.yaml 部署一致性包。 我从 ACCOUNT-ID-03 运行 aws cli 命令,我收到此错误: 调用 PutOrganizationConformancePack 操作时发生错误 (InsufficientPermissionsException):S3 URI 的读取权限不足

有人可以帮我处理这里的存储桶策略吗?

1 个答案:

答案 0 :(得分:1)

您可以通过以下语句在 ACCOUNT-ID-0 中扩展您当前的存储桶策略:

{
    "Sid": "AllowReadsFromOtherAccount",
    "Effect": "Allow",
    "Principal": {
        "AWS": "ACCOUNT-ID-03"
    },
    "Action": "s3:GetObject",
    "Resource": "arn:aws:s3:::BUCKET-NAME/awsconfigconforms-rules/*"
}

请注意,您在 ACCOUNT-ID-03 中使用的 IAM 用户/角色也需要读取 s3 的权限。