【发布时间】:2022-01-04 04:17:39
【问题描述】:
我正在探索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
现在我正在尝试删除存储桶,但即使作为管理员或 root 我也无法访问存储桶以更改策略或对其执行任何操作。
我尝试在私有子网和公共子网中启动一个附加了完整管理员角色的 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 实例,但仍然没有成功。
问题:
我有什么办法可以删除这个桶吗?
【问题讨论】:
-
可以先修改bucket策略吗?
-
是S3网关端点的S3接口端点吗?你是如何设置它们的?他们甚至工作吗?你也试过这些steps吗?
-
如果您是 root 用户(不是管理员用户 - 它必须是实际的 root 帐户)并对其应通过的策略进行更改。当您制定明确的拒绝策略时,基于对 s3:delete 等易于撤销的权限的拒绝进行测试会很有帮助,这样如果您的范围或其他假设不成立,您可以轻松地恢复。
-
@Marcin,谢谢你解决了这个问题。
-
没问题。如果你不介意我会提供答案。
标签: amazon-web-services amazon-s3 amazon-cloudformation