Назад | Перейти на главную страницу

Отмена политики 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": "*"
    }
  ]
}

Однако теперь у меня больше нет доступа к этому ведру. Как я могу отменить политику корзины?

По возвращение вы про предыдущую версию политики ведра? Я не думаю, что он версионирован, извините (в отличие от политик IAM - см. Управление версиями политик IAM).

Однако мы можем исправить вашу политику, но есть несколько проблем:

  1. В Директор должен быть ARN пользователя IAM:

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

    Замените 123456789012 своим номером счета.

  2. В Ресурс должен иметь подстановочный знак как корзины, так и объектов:

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

В качестве альтернативы вы можете удалить политику корзины все вместе с помощью кнопки Удалить вверху:

Надеюсь, это поможет :)

Проблема была в том, что я не владелец ведра. Независимо от того, какие у вас разрешения в IAM, если вы не являетесь владельцем сегмента и вам отказано в доступе по политике сегмента, вы ничего не можете сделать.

Единственный способ вернуть политику обратно - это удалить политику корзины владельцем корзины.

Ссылка: https://docs.aws.amazon.com/AmazonS3/latest/dev/how-s3-evaluates-access-control.html