Мой ApiGateway
+ Lamdba function
+ Cognito authorizer
работает, если в функцию Lamdba добавлено resource-based policy
:
{
"Version": "2012-10-17",
"Id": "default",
"Statement": [
{
"Sid": "xxx",
"Effect": "Allow",
"Principal": {
"Service": "apigateway.amazonaws.com"
},
"Action": "lambda:InvokeFunction",
"Resource": "arn:aws:lambda:us-east-1:xxx:function:lambda-1:dev",
"Condition": {
"ArnLike": {
"AWS:SourceArn": "arn:aws:execute-api:us-east-1:xxx:qmxjy21e85/*/GET/"
}
}
}
]
}
Я пытаюсь переместить эту политику на основе ресурсов в identity-based policy
добавлено к роли, связывающей с группой пользователей. Ниже приведена моя политика на основе идентификаторов, основанная на этой ссылке :
{
"Version": "2012-10-17",
"Id": "default",
"Statement": [
{
"Effect": "Allow",
"Action": "lambda:InvokeFunction",
"Resource": "arn:aws:lambda:us-east-1:xxx:function:lambda-1:dev",
"Condition": {
"ArnLike": {
"AWS:SourceArn": "arn:aws:execute-api:us-east-1:xxx:qmxjy21e85/*/GET/"
},
"StringEquals": {
"lambda:Principal": "apigateway.amazonaws.com"
}
}
}
]
}
Ошибка: ![enter image description here](https://i.stack.imgur.com/zG5SA.png)
Любая идея, пожалуйста?