恢复 S3 BucketPolicy

恢复 S3 BucketPolicy

我正在尝试使用 AWS S3 BucketPolicy。我的目的是只允许我的用户名访问存储桶。我写了以下错误的策略:

{
  "Id": "Policy1542608345364",
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "Stmt1542608327277",
      "Action": "s3:*",
      "Effect": "Allow",
      "Resource": "arn:aws:s3:::abcd",
      "Principal": {
        "AWS": [
          "mohit.choudhary"
        ]
      }
    },
    {
      "Sid": "Stmt1542608343623",
      "Action": "s3:*",
      "Effect": "Deny",
      "Resource": "arn:aws:s3:::abcd",
      "Principal": "*"
    }
  ]
}

但是,现在我不再有权访问该存储桶。我该如何恢复存储桶策略?

答案1

经过恢复您指的是存储桶策略的先前版本吗?抱歉,我认为它没有版本控制(与 IAM 策略不同 - 请参阅IAM 策略版本控制)。

不过,我们可以修复您的政策,但存在以下几个问题:

  1. 主要的应为 IAM 用户 ARN:

    "Principal": {
      "AWS": [
         "arn:aws:iam::123456789012:user/mohit.choudhary"
      ]
    }
    

    将 123456789012 替换为您的帐号。

  2. 资源应该同时具有存储桶和对象通配符:

    "Resource": [
      "arn:aws:s3:::abcd",
      "arn:aws:s3:::abcd/*"
    ]
    

或者你也可以删除存储桶策略完全使用顶部的删除按钮:

删除 S3 存储桶策略

希望有帮助:)

答案2

问题是我不是存储桶所有者。无论您在 IAM 中拥有什么权限,如果您不是存储桶所有者,并且存储桶策略拒绝您访问,您将无法执行任何操作。

恢复策略的唯一方法是存储桶拥有者删除存储桶策略。

参考:https://docs.aws.amazon.com/AmazonS3/latest/dev/how-s3-evaluates-access-control.html

相关内容