Я пытаюсь реализовать Passthrough API на API Gateway с Cognito для аутентификации и авторизации пользователей.На моем шлюзе у меня есть ресурс для getitem
и additem
.Я хочу, чтобы определенные пользователи имели доступ только к additem
.Я создал группу в своем Cognito Userpool для доступа к ролям и политике моего ресурса Apigateway.Вот отношения доверия роли:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Federated": "cognito-identity.amazonaws.com"
},
"Action": "sts:AssumeRoleWithWebIdentity",
"Condition": {
"StringEquals": {
"cognito-identity.amazonaws.com:aud": "us-east-1_*********"
}
}
}
]
}
Прикрепленная политика к отношениям доверия:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"execute-api:Invoke"
],
"Resource": [
"arn_of_apigateway_resource"
]
}
]
}
Я все еще могу вызывать API на API Gateway, даже если мой пользовательне допускается на основании его группы в Cognito.Весь мой ресурс API Gateway имеет авторизаторы Cognito.