Лямбда-исполнительская роль против aws_iam - PullRequest
0 голосов
/ 17 мая 2018

У меня есть серверное приложение, которое использует федеративных пользователей Cognito.Для шлюза API я использую авторизатор aws_iam и предоставляю учетные данные aws с каждым запросом к шлюзу API.

Теперь, когда моя лямбда будет выполнена, я принял на себя роль, назначенную моему пользователю cognito, и ябудет иметь доступ к необходимым ресурсам.Но похоже, что для выполнения лямбда-роли все еще требуется разрешение на выполнение этих ресурсов.

Нужно ли мне иметь две роли с одинаковым набором разрешений?Если да, то в чем смысл роли познания?

Ответы [ 2 ]

0 голосов
/ 27 ноября 2018

У меня похожий вопрос по этому поводу. У меня есть серверное приложение, где у меня есть пользователи-администраторы и обычные пользователи.

Лямбда-функция у меня запрашивает динамо. API Gateway передает маркер пользователя, из которого я могу получить учетные данные (id, secret, token) и выполнить вызов Dynamo в соответствии с учетными данными пользователя, который вызвал API (то есть администратора или обычного пользователя). У моих постоянных пользователей есть роль с политикой, которая позволяет им только получать доступ к своим данным, используя условие «dynamicodb: LeadingKeys». Пользователь с правами администратора может запросить что угодно в таблице.

В этом сценарии - Если я всегда использую эти учетные данные из токена для вызовов динамо, будет ли Lambda исполняющая роль по-прежнему нуждаться в разрешениях динамо? Если да, то когда выполняется динамо-вызов, какие учетные данные фактически используются? Лямбда-исполняющая роль или учетные данные из токена?

Если я получаю учетные данные из токена и использую эти учетные данные для запроса динамо, я не уверен, почему моей роли выполнения Lambda нужны динамо-привилегии.

0 голосов
/ 17 мая 2018

Учетные данные IAM, передаваемые в шлюз API, оцениваются на уровне шлюза API (если вы добавите разрешение на роль IAM, предоставляющую доступ к определенной конечной точке, оно будет оценено как aws_iam_authorizer ).

Однако существует разрыв между предполагаемым разрешением на выполнение Cognito IAM Role и Lambda.

Lambda выполняется с использованием разрешения роли, присоединенной к функции Lambda, а не Cognito Identity IAM Role.который должен вызывать API.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...