Вы должны сделать пару вещей здесь:
- используйте роли кросс-аккаунта , чтобы позволить им получить временные учетные данные
- использовать политику сегмента S3, которая блокирует доступ по незащищенным каналам с помощью aws: SecureTransport (см. Ниже)
Примечание: это не помешает им сделать пару вещей, которых вы, вероятно, хотите избежать:
- получение ваших данных из-за пределов региона AWS, что приводит к выходным сборам для вас
- небезопасное копирование данных в другое место, после загрузки их
Пример политики S3 Bucket:
{
"Version": "2012-10-17",
"Id": "id1234",
"Statement": [
{
"Sid": "sid1234",
"Effect": "Deny",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::mybucket/*",
"Condition": {
"Bool": {
"aws:SecureTransport": "false"
}
}
}
]
}