【问题标题】:AWS IAM bucket permissions access deniedAWS IAM 存储桶权限访问被拒绝
【发布时间】:2020-10-03 07:52:23
【问题描述】:

当我对用户使用管理策略时,有没有人遇到过这种情况,它可以工作,但是当我使用内联策略时,它说访问被拒绝。我正在为 IAM 用户授予对存储桶的读取权限,因为它只能访问该存储桶。

管理政策

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:Get*",
                "s3:List*"
            ],
            "Resource": "*"
        }
    ]
}

内联政策

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:Get*",
                "s3:List*"
            ],
            "Resource": "arn:aws:s3:::mybucketname/*"
        }
    ]
}

我也试过了

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "S3Permissions",
      "Action": "s3:*",
      "Effect": "Allow",
      "Resource": [
        "arn:aws:s3:::mybucketname/*",
        "arn:aws:s3:::mybucketname"
      ]
    }
  ]
}

【问题讨论】:

  • “它不起作用”是什么意思?它不是很具体。有什么错误吗?
  • 我遇到的问题是访问被拒绝
  • 访问拒绝在哪里?要使用 AWS 控制台,需要更多权限。对于程序化访问,您的最后一个策略应该没问题。
  • 仪表板中 IAM 用户在仪表板中的访问被拒绝。用户可以使用“管理策略 Amazons3ReadonlyAccess”访问所有存储桶,但是当我删除它并附加具有相同策略或不同策略的内联策略时,用户被拒绝访问所有存储桶或指定文件夹

标签: amazon-web-services amazon-s3


【解决方案1】:

您的上一个策略应该可以直接访问存储桶,如下所述:

对于控制台访问,需要额外的权限,如下所示:

具体来说,政策应该是这样的:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetBucketLocation",
        "s3:ListAllMyBuckets"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": ["s3:ListBucket"],
      "Resource": ["arn:aws:s3:::test"]
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:PutObject",
        "s3:GetObject",
        "s3:DeleteObject"
      ],
      "Resource": ["arn:aws:s3:::test/*"]
    }
  ]
}

Amazons3ReadonlyAccess 拥有上述所有权限,您的内联策略没有。

【讨论】:

    猜你喜欢
    • 2017-12-04
    • 2019-02-03
    • 2019-11-09
    • 1970-01-01
    • 1970-01-01
    • 2015-05-09
    • 1970-01-01
    • 2017-01-01
    • 2017-07-04
    相关资源
    最近更新 更多