跨账户访问S3,如果在原始账户登录,则可以实现,但如果从另一个账户扮演角色,则无法实现?

0

【以下的问题经过翻译处理】 当我直接登录源账户时,我可以访问目标账户的S3:

[cloudshell-user@ip-10-0-91-7 ~]$ aws sts get-caller-identity { "UserId": "AIDAxxxxxxxxJBLJ34", "Account": "178xxxxxx057", "Arn": "arn:aws:iam::178xxxxxx057:user/adminCustomer" }

[cloudshell-user@ip-10-0-91-7 ~]$ aws s3 ls s3://target-account-bucket 2022-03-10 01:28:05 432 foobar.txx

但是,如果我在那个账户中扮演一个角色后再进行访问,我就无法访问目标账户了:

[cloudshell-user@ip-10-1-12-136 ~]$ aws sts get-caller-identity { "UserId": "AROAxxxxxxF5HI7BI:test", "Account": "178xxxxxx057", "Arn": "arn:aws:sts::178xxxxxx4057:assumed-role/ReadAnalysis/test" }

[cloudshell-user@ip-10-1-12-136 ~]$ aws s3 ls s3://targer-account-bucket

发生了一个错误(AccessDenied),当调用ListObjectsV2操作时:访问被拒绝 [cloudshell-user@ip-10-1-12-136 ~]$

但是,我可以访问源账户中的存储桶:

[cloudshell-user@ip-10-1-12-136 ~]$ aws s3 ls s3://origin-account

2022-03-09 21:19:36 432 cli_script.txt

目标账户的策略如下:

{
        "Effect": "Allow",
        "Principal": {
            "AWS": "arn:aws:iam::178xxxxxx057:root"
        },
        "Action": [
            "s3:*"
        ],
        "Resource": [
            "arn:aws:s3:::targer-account-bucket/*",
            "arn:aws:s3:::targer-account-bucket"
        ]
    },

没有任何明确的拒绝

profile picture
专家
已提问 5 个月前19 查看次数
1 回答
0

【以下的回答经过翻译处理】 确保为角色分配的策略允许访问存储桶。请参见:跨账号策略评估逻辑

"委托服务中资源的访问请求必须受到基于身份的策略的允许。"

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则