Разрешить лямбда-доступ к конкретному S3 Bucket в конфигурации без сервера
Как я могу разрешить конкретной лямбде доступ к определенному сегменту s3 в serverless.yml?
Например, я портирую функцию загрузки файлов в lambda, используя без сервера. Чтобы загрузить файл в конкретное ведро s3, мне нужно разрешить lambda доступ к этому ведру s3. Как я могу сделать это в serverless.yml?
1 ответ
Решение
Из Serverless Framework - Руководство по AWS Lambda - IAM:
Чтобы добавить особые права к этой общесервисной роли, определите операторы в
provider.iamRoleStatements
которые будут объединены в сгенерированную политику.
service: new-service
provider:
name: aws
iamRoleStatements:
- Effect: "Allow"
Action:
- "s3:PutObject"
Resource:
Fn::Join:
- ""
- - "arn:aws:s3:::"
- Ref: ServerlessDeploymentBucket