Почему мои временные учетные данные AWS из пула удостоверений не авторизованы? - PullRequest
0 голосов
/ 07 марта 2019

У меня есть пул удостоверений, который имеет роль, прошедшую проверку подлинности. Одна из политик этой роли - иметь полный доступ к конечным точкам шлюза API. Когда я создаю временные учетные данные с помощью AWS.config.credentials.get(), я создаю экземпляр клиента API-шлюза следующим образом.

AWS.config.region = 'us-east-1';
var newClientCredentials = {
                accessKey: accessKey,
                secretKey: secretKey
            };

apiClient = apigClientFactory.newClient(newClientCredentials);
apiClient.myendpointPost({}, postRequest, requestParams).then(function(result) {console.log(result)});

Я дважды проверил, что accessKey и secretKey установлены. Когда я звоню с apiClient на мою конечную точку, я получаю ответ unauthorized от шлюза.

Мои вопросы:

  • Есть ли способ проверить, что временные учетные данные (accessKey и secretKey) предназначены для соответствующей аутентифицированной роли?
  • Можно ли выяснить, почему API Gateway отклоняет эти учетные данные (может быть, что-то, что я могу войти в CloudWatch)?

1 Ответ

0 голосов
/ 07 марта 2019

Как отметил Нинад в комментариях, я забыл передать также и сессию с ключами.Однако, один из ключевых шагов, которые я пропустил, состоял в том, что авторизация на конечной точке, которую я выполнял, должна была быть установлена ​​на AWS_IAM.Ранее я установил для него Cognito и указал на пул пользователей, что было неверно.

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