Что-то вроде ...
# this is the lambda
ApiHandler:
Type: AWS::Serverless::Function
Properties:
FunctionName: api-handler
Policies:
......
# this is the role
Role:
Type: AWS::IAM::Role
Properties:
RoleName: client-role
AssumeRolePolicyDocument:
Version: "2012-10-17"
Statement:
- Effect: Allow
Principal:
Service: lambda.amazonaws.com
Action: sts:AssumeRole
- Effect: Allow
Principal:
AWS: !GetAtt ApiHandlerRole.Arn
Action: sts:AssumeRole
ManagedPolicyArns:
- arn:aws:iam::aws:policy/AmazonS3FullAccess
Предполагается, что вы не указали " AssumeRolePolicyDocument " для своей функции. (код выше на основе pastebin), SAM cli сгенерирует для вас роль " ApiHandlerRole ".
из документов :
Если это свойство не указано, AWS SAM добавляет для этой функции предполагаемую роль по умолчанию.
На основании этого вы, возможно, захотите еще немного изучить это свойство , Я новичок в AWS SAM, но должен быть способ подключить к нему "arn: aws: iam :: aws: policy / AmazonS3FullAccess". :)
Надеюсь, что это поможет всем
документация ссылка: https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-function.html#sam -функция-предположитьролеполитический документ