【问题标题】:AWS S3 bucket control policy for cross-account access跨账户访问的 AWS S3 存储桶控制策略
【发布时间】:2019-04-23 15:42:26
【问题描述】:

我有一个名为“atest-bucket”的 S3 存储桶。在这个桶里面,我有一个名为“data”的目录。我需要从外部帐户向用户提供对此目录的访问权限(此用户将访问我的数据以运行 AWS ElasticMapReduce 作业)。

使用我创建的策略,用户在尝试访问时仍然收到 403:

拒绝访问(服务:Amazon S3;状态代码:403;错误代码: 拒绝访问;

这是我的政策:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AccessToDataFiles",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::11111111111:user/emr",
                   "arn:aws:iam::11111111111:role/EMR_EC2_DefaultRole"
                ]
            },
            "Action": "s3:List*",
            "Resource": "arn:aws:s3:::atest-bucket/data"
        },
        {
            "Sid": "Stmt1234456",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::11111111111:user/emr",
                   "arn:aws:iam::11111111111:role/EMR_EC2_DefaultRole"
                ]
            },
            "Action": [
                "s3:Get*",
                "s3:List*",
                "s3:Put*"
            ],
            "Resource": "arn:aws:s3:::atest-bucket/data/*"
        }
    ]
}

请帮我调查一下这个问题。

【问题讨论】:

  • 当您说“尝试访问它时”时,您使用了什么具体命令?另外,另一个帐户中的用户/角色有哪些与 S3 相关的权限? (他们需要由他们的自己的帐户授予调用 S3 的权限,并且他们需要通过存储桶策略获得权限。)

标签: amazon-web-services amazon-s3 amazon-iam amazon-emr


【解决方案1】:

我相信您授予了另一个帐户的权限(111----------)。在此帐户中,您需要将进一步的权限委派给您正在使用的特定用户。 您需要将权限委派给您的用户才能访问之前帐户创建的存储桶。

为帐户中的用户创建内联策略(111----------):

{ “版本”:“2012-10-17”, “陈述”: [ { “席德”:“例子”, “效果”:“允许”, “行动”: [ “s3:列表桶” ], “资源”:[ “arn:aws:s3:::examplebucket” ] } ] }

请参考以下网址: https://docs.aws.amazon.com/AmazonS3/latest/dev/example-walkthroughs-managing-access-example2.html

【讨论】:

    猜你喜欢
    • 2021-04-25
    • 2021-06-28
    • 2023-03-17
    • 2021-12-02
    • 2018-11-26
    • 2018-08-09
    • 1970-01-01
    • 2022-01-21
    相关资源
    最近更新 更多