Разрешение группы Cognito Динамически из базы данных

#amazon-web-services #amazon-cognito

Вопрос:

Я создал пул cognito

Созданные пользователи

Создано 2 группы БЕЗ каких-либо ролей IAM

Распределил пользователей на 2 разные группы.

Я сохраняю политики для группы в базе данных и кэширую их .

В настроенном лямбда-авторизаторе политика запрещения работает с идентификатором principalId , установленным в случайную строку.

Для разрешения доступа я установил идентификатор участника на имя пользователя cognito. Я получаю политику из базы данных с разрешениями, разрешенными для всех конечных точек шлюза api. ( Для тестирования ) Но даже после этого я получаю сообщение «Пользователь не авторизован».

Неужели я неправильно понимаю ? Что я делаю не так?

Это моя политика предоставления доступа с идентификатором пользователя, являющимся именем пользователя cognito.

 authResponse = {}

authResponse['principalId'] = userId
authResponse['policyDocument'] = {

        'Version': '2012-10-17',
        'Statement': [
            {
                'Sid': 'FirstStatement',
                'Action': 'execute-api:Invoke',
                'Effect': 'Allow',
                'Resource': 'arn:aws:execute-api:us-east-1:*:ppg7tavcld/test/GET/test-api-1/users/*'
            }
        ]
    }

return authResponse
 

Ответ №1:

Извините. это была моя ошибка. Это было решено из-за перепутывания положения сцены в Ресурсе