我在us-east-1地区有帐户A,有IAM角色rt-profileRole和我的应用程序设置。帐户B在us-west-1和US-West-2中创建了S3存储桶。
我正在尝试使用aws cli和role RTProfile列出对象。这两个bucket策略都与下面资源相似,具有正确的bucket arn(策略附加到的bucket的bucket arn)。
问题是我可以从我的本地系统中使用aws s3 ls在us-west-1中创建的桶中列出对象。但是,当我对us-west-2中创建的bucket进行相同的尝试时,我遇到了错误。调用ListObjectsV2操作时出现了错误(AccessDenied):访问被拒绝
我累了多个bucket并得出结论,使用帐户一个角色
请帮我了解一下这里的西二区有什么问题。
{
"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"
]
}
]
}
一旦将bucket策略添加到bucket中,还必须确保角色在其IAM策略中具有特权。
此外,如果您在AWS组织中,请确保帐户A上没有SCP阻止特定区域内的操作。
关于bucket策略,一旦确认bucket可以工作(当前bucket上的每一个S3操作,包括删除),您应该将其范围扩大到希望bucket使用的权限。