【问题标题】:How to resolve access denied after saving a bad bucket policy?保存错误的存储桶策略后如何解决访问被拒绝?
【发布时间】:2021-05-23 06:28:58
【问题描述】:

我使用 terraform 设置了我的堆栈,我只是更改了存储桶策略并应用了,但现在我发现存储桶策略拒绝所有操作,包括管理和更改策略。

如何更新策略以便删除存储桶?

我无法再访问存储桶策略,但应用的内容仍处于我的 terraform 状态。如果我尝试对存储桶进行破坏,它会显示以下内容(我已经屏蔽了 id 和帐户)。

以下只是一个示例,因为有 5 个操作块,每个操作块都包含十几个用户 ID。

              - Statement = [
                  - {
                      - Action    = [
                          - "s3:ListBucketVersions",
                          - "s3:ListBucketMultipartUploads",
                          - "s3:ListBucket",
                        ]
                      - Condition = {
                          - StringLike    = {
                              - aws:userid = [
                                  - "AROAXXXXXXXXXXXXXXXXA:*",
                                  - "AROAXXXXXXXXXXXXXXXXB:*",
                                ]
                            }
                          - StringNotLike = {
                              - aws:userid = [
                                  - "*:AROAAXXXXXXXXXXXXXXXA:user1",
                                  - "*:AROAAXXXXXXXXXXXXXXXA:user2",
                                  - "*:AROAAXXXXXXXXXXXXXXXA:*",
                                ]
                            }
                        }
                      - Effect    = "Deny"
                      - Principal = "*"
                      - Resource  = "arn:aws:s3:::my-account-bucket-name"
                      - Sid       = "Deny bucket-level read operations except for authorised users"
                    },

【问题讨论】:

  • 您的存储桶策略是什么?之前它起作用的时候是什么?
  • 以前没有政策。现在它包含"StringNotLike": { "aws:userid": ["xxx", "yyy"] } 的条件。
  • 您能否实际显示完整的政策?以及如何访问存储桶?
  • @Marcin 我已经包含了一个示例。自从我应用该策略后,我无法再访问该策略,因为它阻止我访问它,因此我从 terraform 状态显示了该策略,这只是一个示例。
  • 谢谢@Marcin。目前,解决方法是将存储桶与我的状态分离,然后使用备用名称创建。我不拥有该帐户,因此已向我的经理请求帮助。我没有为此感到压力,因为这是我们的非产品帐户。这是类似于将钥匙留在里面的情况之一,除了这次我关上门时锁改变了。添加您的评论作为答案,以便我标记为已接受。

标签: amazon-web-services amazon-s3 terraform terraform-provider-aws


【解决方案1】:

基于 cmets。

似乎新政策导致拒绝所有人访问。在这种情况下,AWS 在一篇标题为:

的博文中解释了该怎么做:

该过程涉及以root用户身份访问帐户并删除存储桶策略。

【讨论】:

    猜你喜欢
    • 2018-01-10
    • 1970-01-01
    • 2020-01-16
    • 2019-04-20
    • 2019-10-05
    • 1970-01-01
    • 2019-04-28
    • 1970-01-01
    • 2017-12-04
    相关资源
    最近更新 更多