如何从us-east-1帐户访问在us-west-2区域中创建的S3存储桶?

时间:2020-07-21 07:11:05

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

我有一个帐户A,其us-east-1区域具有IAM角色rt-profileRole和我的应用程序设置。 帐户B在us-west-1和us-west-2中创建了S3存储桶。

我正在尝试使用具有角色rtprofile的aws cli列出对象。 这两个存储桶都具有与以下资源类似的存储桶策略,这些策略具有正确的存储桶策略,并附加到该存储桶。

问题是我可以使用本地系统中的aws s3 ls列出在us-west-1中创建的存储桶中的对象。 但是当我对在us-west-2中创建的存储桶尝试相同操作时出现错误 调用ListObjectsV2操作时发生错误(AccessDenied):访问被拒绝

我厌倦了使用多个存储桶,并得出结论,使用帐户A角色

  1. 我可以访问在us-east-1中创建的帐户A的存储桶
  2. 我可以访问在us-west-1中创建的帐户B的存储桶
  3. 我无法访问在us-west-2中创建的帐户B的存储桶。

请帮助我在此处了解West-2地区的问题。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "DelegateS3Access",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::AccountA:role/rt-profileRole"
                ]
            },
            "Action": "s3:*",
            "Resource": [
                "arn:aws:s3:::bucket-name/*",
                "arn:aws:s3:::bucket-name"
            ]
        }
    ]
}

1 个答案:

答案 0 :(得分:1)

将存储桶策略添加到存储桶后,还必须确保该角色在其IAM策略中具有特权。

此外,如果您在AWS组织中,请确保账户A上没有任何SCP可以阻止在特定区域内采取行动。

关于存储桶策略,一旦确定它可以工作(当前存储桶上的每个S3操作,包括删除操作),就应将其范围限定为希望存储桶使用的权限。