Шаг 1. Создайте лямбда-роль для выполнения лямбды.
{
"Version": "2012-10-17",
"Statement": [{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:PutObject",
"s3:DeleteObject"
],
"Resource": [
"arn:aws:s3:::XXX-s3-file-upload",
"arn:aws:s3:::XXX-s3-file-upload/*"
]
}]
}
Шаг 2. Добавьте эту роль в лямбду. Шаг 3. Добавьте эту роль в политику S3, чтобы ограничить только эту роль.
{
"Version": "2008-10-17",
"Statement": [{
"Sid": "S3 Access Permissions",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::2XXXXXXXXX:role/executionrole"
},
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::sample_bucket",
"arn:aws:s3:::sample_bucket/*"
]
}]
}
Таким образом, вы можете ограничить только определенную лямбду. Для другой лямбды вы можете использовать другую роль выполнения.
Ссылка: https://aws.amazon.com/premiumsupport/knowledge-center/lambda-execution-role-s3-bucket/