Запретить доступ к корзине S3 для администратора через консоль

#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. Это позволяет выполнять действия с корзиной только для указанного пользователя / роли.