我在帐户A中有一个名为“ my-bucket”的存储桶,我正在尝试从帐户B确定它的位置。
我有以下存储桶策略
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "1",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::11122233344:root"
},
"Action": [
"s3:GetObject",
"s3:PutObject"
],
"Resource": "arn:aws:s3:::my-bucket/*"
},
{
"Sid": "2",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::11122233344:root"
},
"Action": [
"s3:GetBucketLocation",
"s3:ListBucket"
],
"Resource": "arn:aws:s3:::my-bucket"
}
]}
我也偶然发现了包含相同策略的本文档:https://docs.aws.amazon.com/AmazonS3/latest/dev/example-walkthroughs-managing-access-example2.html
现在使用帐户B,我可以成功执行命令aws s3 ls s3://my-bucket
,但是使用aws s3api get-bucket-location --bucket my-bucket
我会收到拒绝访问消息。
答案 0 :(得分:0)
根据文档:https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETlocation.html
要使用此执行操作,您必须是存储桶 所有者。
如有疑问,请始终参阅AWS API文档,通常会指定给定操作所需的权限。