Почему вы хотите добавить роль в свой API Gateway?SAM автоматически (неявно) организует, чтобы у шлюза API были разрешения для вызова функций Lambda с помощью политики ресурсов Lambda (подробнее об этом в документах шлюза API)
Если вы хотитеЧтобы установить политику ресурсов шлюза API или задать некоторые другие настройки, можно явно определить API, который используется вашим Lambda-событием.
Например, установка политики ресурсов:
RestApi:
Type: AWS::Serverless::Api
Properties:
Policy: >
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::123456789012:root"
},
"Action": "execute-api:Invoke",
"Resource": "arn:aws:execute-api:eu-central-1: 123456789012:7mancjlc5z/*"
}
]
}
Function:
Type: AWS::Serverless::Function
Properties:
Events:
ApiRequest:
Type: Api
Properties:
Path: /v1/comments
Method: post
RestApiId: !Ref RestApi
Документы SAM не совсем ясны по этому вопросу, но на момент написания вышеописанная установка работает.