У меня есть несколько групп пользователей (у которых есть собственный пул идентификаторов в Cognito), которые имеют разные права на конечные точки в API Gateway. Я управляю правами доступа с помощью Ролей IAM. Например, у меня есть эта политика для одного пула идентификаторов:Управление мелким зерном с помощью AWS Cognito и API Gateway
{
"Sid": "Stmt1467885818000",
"Effect": "Allow",
"Action": [
"apigateway:Invoke"
],
"Resource": [
"arn:aws:execute-api:eu-central-1:891841139854:api-id/*/*/usergroup/*"
]
}
Теперь я хочу иметь правила доступа, основанные на отдельных идентификаторах. Причина в том, что у меня есть ресурсы, которые меня могут изменить только пользователем, который «использует» ресурсы (или перечислены как имеющие доступ к ресурсу).
Могу ли я как-то использовать IAM для этого? Моя идея что-то вроде этого:
"Resource": [
"arn:aws:execute-api:eu-central-1:891841139854:api-id/*/*/<my-user-name>/*"
]
Так таким образом, каждый пользователь может только Endpoints с его именем (а это имя пользователя может не быть переданы лямбда, которые могут быть уверены, что данный пользователь имеет право на выполните действие).
Возможно ли это? Если нет, как мне настроить мелкозернистый доступ?
Какая интеграция вы используете с помощью API Gateway? HTTP-прокси, функции Lambda или служебный прокси AWS? –
Различные. Но в основном лямбда. – Nathan