删除具有拒绝所有策略和 VPC 条件的 S3 存储桶

Delete S3 Bucket With Deny All Policy And VPC Condition

我正在探索 VPC Enpoints,我给自己制造了一个问题。在我使用 cloudformation 的过程中,我生成了一个包含以下内容的桶 bucket policy:

ArtifactBucketPolicy:
  Description: Setting Amazon S3 bucket policy for AWS CodePipeline access
  Type: AWS::S3::BucketPolicy
  Properties:
    Bucket: !Ref ArtifactsBucket
    PolicyDocument:
      Id: SSEAndSSLPolicy
      Statement:
      - Action: s3:*
        Condition:
          StringNotEquals:
            aws:SourceVpce:
              Fn::ImportValue:
                !Sub project-03:dev:${AWS::Region}:VPC:ID
        Effect: Deny
        Principal: '*'
        Resource:
        - !Sub 'arn:${AWS::Partition}:s3:::${ArtifactsBucket}'
        - !Sub 'arn:${AWS::Partition}:s3:::${ArtifactsBucket}/*'
        Sid: VPCe
      Version: 2012-10-17

现在我正在尝试删除存储桶,但即使作为管理员或根用户,我也无法访问存储桶来更改策略或对其执行任何操作。

我试图在私有和 public 子网中启动 EC2,并附加了完整的管理员角色,运行 以下命令:

aws s3 rm s3://BUCKET_NAME/
aws s3api delete-bucket --bucket BUCKET_NAME 

但我收到以下错误

An error occurred (AccessDenied) when calling the ListObjectsV2 operation: Access Denied

我还确保 VPC Endpoint 从我 运行

开始使用
sudo traceroute -n -T -p 443 s3.amazonaws.com

并输出

traceroute to s3.amazonaws.com (52.216.130.45), 30 hops max, 60 byte packets
1  * * *
2  * * *
3  * * *
4  * * *
5  * * *
6  * * *
7  52.216.130.45  0.662 ms  0.848 ms  0.723 ms

我认为这意味着正在使用端点。

我已经使用会话管理器并通过 ssh 登录到 ec2 实例,但仍然没有成功。

问题:

有什么方法可以删除这个桶吗?

根据评论,按照 AWS 指南获得了解决方案: