#amazon-s3 #aws-sdk #amazon-iam #aws-security-group
#amazon-s3 #aws-sdk #amazon-iam #aws-security-group
Вопрос:
У меня есть некоторые очень конфиденциальные данные, которые я хочу сохранить в корзине s3. Я хочу создать политики (корзину или iam, как требуется) таким образом, чтобы никто (даже администратор) не мог прочитать содержимое файлов в этой корзине из консоли aws. Но на моем хостинге будет запущена программа, которой необходимо размещать и получать данные из этой корзины s3. Также я буду использовать шифрование s3 на стороне сервера, но я не могу использовать шифрование s3 на стороне клиента.
Ответ №1:
Вы ищете что-то вроде этого;
{
"Id": "bucketPolicy",
"Statement": [
{
"Action": "s3:*",
"Effect": "Deny",
"NotPrincipal": {
"AWS": [
"arn:aws:iam::111111111111:user/USERNAME",
"arn:aws:iam::111111111111:role/ROLENAME"
]
},
"Resource": [
"arn:aws:s3:::examplebucket",
"arn:aws:s3:::examplebucket/*"
]
}
],
"Version": "2012-10-17"
}
В целях тестирования убедитесь, что вы заменили arn: aws: iam::11111111111111:user / ИМЯ ПОЛЬЗОВАТЕЛЯ на свой пользовательский arn. Таким образом, в случае, если вы заблокируете всех, вы можете, по крайней мере, выполнять действия в корзине.
arn: aws: iam::1111111111111111:роль / ROLENAME следует заменить на роль arn, которая прикреплена к вашему экземпляру EC2 (я предполагаю, что это то, что вы подразумеваете под хостом).
Комментарии:
1. Две проблемы: явное запрещение не может быть переопределено явным разрешением, и невозможно запретить удаление учетных данных root, а затем замену политики корзины, предоставляя учетным данным root лазейку к корзине.
2. @Michael-sqlbot вы правы, я пропустил условие в инструкции deny. Я скоро исправлю это в своем ответе.
3. @Michael- обновлена политика sqlbot. Это позволяет выполнять действия с корзиной только для указанного пользователя / роли.