即使 IAM 用户具有 S3FullAccess 策略,也无法删除 S3 存储桶

即使 IAM 用户具有 S3FullAccess 策略,也无法删除 S3 存储桶

我无法从使用虚拟 MFA 设备配置文件的 IAM 用户账户中删除存储桶

我已经生成了会话 toekns 并将其添加到文件profile部分~/.aws/credentials。并且配置文件配置已添加到~/.aws/config文件中

❯ cat config
[default]
output = json
region = us-east-1
[mfa]
output = json
region = us-east-1

[default]
aws_access_key_id = XXXXXXXXXXXXXXXXXXXXX
aws_secret_access_key = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
[mfa]
aws_access_key_id = XXXXXXXXXXXXXXXXXXXXX
aws_secret_access_key = XXXXXXXXXXXXXXXXXXXXX
aws_session_token = XXXXXXXXXXXXXXXXXXXXX

当我运行命令删除此存储桶时(它是空的)

❯ aws s3 rm s3://iac-bucket --recursive --region us-east-1 --endpoint-url https://s3.us-east-1.amazonaws.com --profile mfa
fatal error: An error occurred (AccessDenied) when calling the ListObjectsV2 operation: Access Denied

此外,存储桶不会显示在管理控制台或ls命令中

❯ aws s3 mb s3://iac-bucket --profile mfa

没有输出,并且

❯ aws s3 ls s3://iac-bucket --profile mfa --region us-east-1 --endpoint-url https://s3.us-east-1.amazonaws.com

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

我通过群组将以下策略附加到此用户

通过组附加的 AWS 策略

我如何删除这个存储桶?为什么它根本不显示?我知道它存在,因为

❯ aws s3 mb s3://iac-bucket --profile mfa --region us-east-1 --endpoint-url https://s3.us-east-1.amazonaws.com
make_bucket failed: s3://iac-bucket An error occurred (BucketAlreadyExists) when calling the CreateBucket operation: The requested bucket name is not available. The bucket namespace is shared by all users of the system. Please select a different name and try again.

答案1

分区内的存储桶名称必须是唯一的。分区是区域的分组。AWS 目前有三个分区:aws(标准区域)、aws-cn(中国区域)和 aws-us-gov(AWS GovCloud [美国] 区域)。

来自Bucket 命名规则。很可能是该名称的存储桶是由不受您控制的其他帐户创建的。这就是它不显示的原因。据我所知,除了为您的存储桶选择不同的名称外,没有其他方法可以解决这个问题。

相关内容