【问题标题】:access denied when putting a bucket policy放置存储桶策略时访问被拒绝
【发布时间】:2020-01-16 20:22:49
【问题描述】:

我正在尝试使用以下规则将存储桶策略放在 S3 存储桶上。我在这样做时收到错误access denied

{
        "Sid": "Deny bucket/policy delete",
        "Effect": "Deny",
        "Principal": "*",
        "Action": [
            "s3:DeleteBucket",
            "s3:DeleteBucketPolicy",
            "s3:PutBucketPolicy"
        ],
        "Resource": "arn:aws:s3:::mybucket",
        "Condition": {
            "ArnNotEquals": {
                "aws:PrincipalArn": "arn:aws:iam::<account-id>:role/role_name"
            }
        }
    }

我可以对账户中的其他存储桶设置相同的规则,因此可以确认 IAM 角色具有权限。

我可以在此存储桶上放置其他规则,因此可以确认有权在此存储桶上放置策略。我也可以删除存储桶策略。成功的规则之一如下:

{
        "Sid": "Deny http access",
        "Effect": "Deny",
        "Principal": "*",
        "Action": "s3:*",
        "Resource": "arn:aws:s3:::mybucket/*",
        "Condition": {
            "Bool": {
                "aws:SecureTransport": "false"
            }
        }
    }

成功的规则是针对bucket/*

失败的规则在存储桶上。

如果 IAM 角色不限制其他可能是什么问题?不知道我错过了什么。请提出建议。

ACL 截图:

【问题讨论】:

  • 你能检查ACL吗?
  • @JunedAhsan ACL 似乎不是问题。添加截图。
  • @JunedAhsan 已经通过链接。检查 IAM 和存储桶策略。我使用的角色是一种管理员角色,所以权限不是问题。

标签: amazon-web-services amazon-s3


【解决方案1】:

我将首先提到您正在添加一个“危险的”存储桶策略,如果您弄错了,您将只能通过使用 root 登录来删除它。这是因为如果编码不正确,它可能会拒绝所有人接触存储桶策略。

您可以使用NotPrincipal,而不是使用条件。见:AWS JSON Policy Elements: NotPrincipal

另外,检查Block S3 Public Access的设置,它可以阻止桶策略的创建。

【讨论】:

  • 是的,“危险的”存储桶策略就是意图。同意,也可以使用“NotPrincipal”,将对其进行调查。来到 Blocked 政策,显然这是 AW 的一个错误,提出了支持票并立即对其进行调查。
猜你喜欢
  • 2018-01-10
  • 2019-04-20
  • 2019-04-28
  • 2017-12-04
  • 2019-04-21
  • 2021-03-28
  • 1970-01-01
  • 1970-01-01
  • 2021-09-03
相关资源
最近更新 更多