AWS S3-获取存储桶位置时访问被拒绝

时间:2019-03-16 09:36:06

标签: amazon-web-services amazon-s3

我在帐户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我会收到拒绝访问消息。

1 个答案:

答案 0 :(得分:0)

根据文档:https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETlocation.html

  

要使用此执行操作,您必须是存储桶   所有者。

如有疑问,请始终参阅AWS API文档,通常会指定给定操作所需的权限。