amazon-web-services - S3 存储桶策略,如何允许来自另一个账户的 IAM 组?

标签 amazon-web-services amazon-s3 policy bucket

我在一个 AWS 账户中有一个 S3 存储桶(例如 arn:aws:s3:::my-test-bucket ),需要由另一个 AWS 账户中定义的 IAM 组访问(例如 arn:aws:iam::1111222333444:group/mygroup )。以下访问策略拒绝保存,并告诉 arn:aws:s3:::my-test-bucket是无效的主体。

{
    "Statement": [
        {
            "Action": [
                "s3:ListBucket",
                "s3:PutObject",
                "s3:List*",
                "s3:Get*"
            ],
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::1111222333444:group/mygroup"
            },
            "Resource": [
                "arn:aws:s3:::my-test-bucket",
                "arn:aws:s3:::my-test-bucket/*"
            ],
            "Sid": "allow-put-for-dedicated-group"
        }
    ],
}

我已经通过将组替换为另一个帐户的用户之一进行了测试,这很有效:
{
    "Statement": [
        {
            "Action": [
                "s3:ListBucket",
                "s3:PutObject",
                "s3:List*",
                "s3:Get*"
            ],
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::1111222333444:user/me"
            },
            "Resource": [
                "arn:aws:s3:::my-test-bucket",
                "arn:aws:s3:::my-test-bucket/*"
            ],
            "Sid": "allow-put-for-dedicated-user"
        }
    ],
}

该组存在,我不明白为什么它说它是无效的主体。实际上它不接受我的其他帐户的任何组。

有没有人对此行为有解释(可能还有解决方案)?

提前致谢,
干杯

最佳答案

IAM 组无效 principals在 S3 存储桶策略中。见 this AWS forum postthis SO post进行更多讨论。

这里有一个想法:在账户 #1(具有 S3 存储桶的账户)中创建一个 IAM 角色(例如 cross-account-s3 )。该角色应该有一个允许适当的 S3 存储桶访问的策略,并且它应该有一个信任关系,表明帐户 #2 对于 sts:AssumeRole 是受信任的。 .然后在帐户 #2 中,委派权限以承担 cross-account-s3相关 IAM 组的角色。这要求您信任第二个账户中的 IAM 管理员,以不允许错误的用户担任跨账户 s3 角色。

关于amazon-web-services - S3 存储桶策略,如何允许来自另一个账户的 IAM 组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30667678/

相关文章:

amazon-s3 - 仅当请求中存在特定 header 时才允许访问私有(private) S3 存储桶

flash - 如何防止别人嵌入我的flash?

xml - Wget 公共(public) s3 存储桶

amazon-web-services - AWS VPC Lambda 网络问题

reactjs - 使用 key 的 S3 上传 (react-dropzone-uploader)

IOS AWS s3 bucket 图片上传问题

android - 在 Android 上下载 amazon s3 图片

postgresql - 将大数据从 PostgreSQL 导出到 AWS s3

angularjs - 如何在虚拟机上访问我的工作 Angular 2 应用程序

amazon-s3 - 是否有 S3 策略限制访问只能查看/访问一个存储桶?