首页 > 解决方案 > 保存错误的存储桶策略后如何解决访问被拒绝?

问题描述

使用 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"
                    },

标签: amazon-web-servicesamazon-s3terraformterraform-provider-aws

解决方案


根据评论。

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

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


推荐阅读