Приложение должно использовать IAM роль, подключённую к EC2 инстансу, вместо того чтобы хранить статические учётные данные. Это самый безопасный способ получить доступ к сервисам AWS.
s3:GetObject и s3:ListBucketПриложение получает учётные данные динамически через эндпоинт сервиса метаданных:
http://169.254.169.254/latest/meta-data/iam/security-credentials/role-name
Эти временные учётные данные включают:
Перед генерацией presigned URL приложение должно:
HeadObject на S3 бакете чтобы проверить наличие файлаs3:GetObjectVersion в IAM политикеIAM роль должна включать разрешения для s3:GetObject, s3:ListBucket и s3:GetObjectVersion, ограниченные конкретным S3 бакетом и объектами, которые нужны приложению.
IAM роли, прикреплённые к EC2 инстансам, автоматически получают временные учётные данные из EC2 Instance Metadata Service, что исключает необходимость в hardcoded статических credentials в приложении.
Новый — ещё не проверен сообществом
Вы