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