【发布时间】:2019-08-07 06:50:57
【问题描述】:
我在账户 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 我收到拒绝访问消息。
【问题讨论】:
-
账户 2 中的 user 需要一个 IAM 用户策略来授予对外部存储桶的此权限。到目前为止,您所做的是允许兑现此类赠款(如果存在)。
-
@Michael-sqlbot,帐户 2 中的用户已被允许对任何资源执行所有 s3 操作。
标签: amazon-web-services amazon-s3