【问题标题】:IAM user unable to DeleteObjectIAM 用户无法删除对象
【发布时间】:2021-12-29 10:53:36
【问题描述】:

创建 IAM 用户后,我无法执行 DeleteObject 操作。必要的信息(访问密钥 ID、秘密访问密钥等)已作为环境变量插入。可以毫无问题地执行上传、下载操作。

IAM 用户政策

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "s3:ListAllMyBuckets",
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:GetBucketLocation"
            ],
            "Resource": [
                "arn:aws:s3:::************"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:GetObject",
                "s3:DeleteObject",
                "s3:PutObjectAcl",
                "s3:GetObjectAcl"
            ],
            "Resource": [
                "arn:aws:s3:::************",
                "arn:aws:s3:::************/*"
            ]
        }
    ]
}

存储桶权限

阻止所有公共访问:关闭(所有 4 个选项)

错误信息

执行 s3.Object('BUCKET_NAME','fol.jpeg').delete()

给我这个错误信息:

botocore.exceptions.ClientError: 调用 DeleteObject 操作时发生错误 (AllAccessDisabled):对该对象的所有访问都已禁用

【问题讨论】:

  • 暂停的 AWS 账户会导致这种情况。您现在可以从同一个存储桶下载对象吗? 100% 确定您的存储桶名称正确吗?相关问题here.
  • 感谢您的回复。暂停帐户不是我的情况,因为可以毫无问题地执行其他操作。
  • 仔细检查存储桶名称。这里的重点是,如果您不小心提供了错误的存储桶名称,则可能是针对已暂停帐户中的现有存储桶,并会导致此错误。
  • 感谢您的回答。最终,这是一个暂停帐户的情况。感谢您的宝贵时间。

标签: python amazon-web-services amazon-s3 boto3


【解决方案1】:

您会看到 AllAccessDisabled 的典型原因是 AWS 已暂停基础账户。如果这不是原因,请阅读this answer 了解其他可能性。

此外,有关重新激活已暂停帐户的信息是 here

【讨论】:

  • 具体来说,我的凭证已被盗用,因此 AWS 自动对该特定用户应用“AWSCompromisedKeyQuarantineV2”策略。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-11-23
  • 2012-07-25
  • 2021-10-15
  • 1970-01-01
  • 2013-04-05
  • 1970-01-01
  • 2019-04-21
相关资源
最近更新 更多