我有一个帐户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角色
请帮助我在此处了解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"
]
}
]
}
答案 0 :(得分:1)
将存储桶策略添加到存储桶后,还必须确保该角色在其IAM策略中具有特权。
此外,如果您在AWS组织中,请确保账户A上没有任何SCP可以阻止在特定区域内采取行动。
关于存储桶策略,一旦确定它可以工作(当前存储桶上的每个S3操作,包括删除操作),就应将其范围限定为希望存储桶使用的权限。