Я играл с 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).
Однако мы можем исправить вашу политику, но есть несколько проблем:
В Директор должен быть ARN пользователя IAM:
"Principal": {
"AWS": [
"arn:aws:iam::123456789012:user/mohit.choudhary"
]
}
Замените 123456789012 своим номером счета.
В Ресурс должен иметь подстановочный знак как корзины, так и объектов:
"Resource": [
"arn:aws:s3:::abcd",
"arn:aws:s3:::abcd/*"
]
В качестве альтернативы вы можете удалить политику корзины все вместе с помощью кнопки Удалить вверху:
Надеюсь, это поможет :)
Проблема была в том, что я не владелец ведра. Независимо от того, какие у вас разрешения в IAM, если вы не являетесь владельцем сегмента и вам отказано в доступе по политике сегмента, вы ничего не можете сделать.
Единственный способ вернуть политику обратно - это удалить политику корзины владельцем корзины.
Ссылка: https://docs.aws.amazon.com/AmazonS3/latest/dev/how-s3-evaluates-access-control.html