Вы можете указать ресурс AWS :: Serverless :: Api в шаблоне SAM, для которого настроен объект Auth , который в свою очередь должен иметь AWS_IAM
как DefaultAuthorizer
, Другими словами, что-то вроде:
Resources:
ApiWithIamAuth:
Type: AWS::Serverless::Api
Properties:
StageName: Prod
Auth:
DefaultAuthorizer: AWS_IAM
Затем вам нужно создать политику для своих пользователей, чтобы они могли вызывать API. Контроль доступа для вызова API содержит ссылку Примеры политики IAM для разрешений на выполнение API содержит два примера
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"execute-api:Invoke"
],
"Resource": [
"arn:aws:execute-api:us-east-1:*:a123456789/test/POST/mydemoresource/*"
]
}
]
}
и, наконец, Создание и присоединение политики к пользователю IAM перечисляет шаги вручную, чтобы связать политику с пользователем IAM, ролью IAM или группой IAM.