0

我有一个身份池,它具有经过身份验证的角色。该角色的其中一项策略是拥有对 API 网关端点的完全调用访问权限。当我使用 创建临时凭证时AWS.config.credentials.get(),我会像这样创建 API Gateway 客户端的实例。

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)});

我已经仔细检查accessKeysecretKey设置好了。当我向我的端点拨打电话时apiClient,我会收到unauthorized网关的响应。

我的问题:

  • 有没有办法检查临时凭据(accessKeysecretKey)是否适用于适当的身份验证角色?
  • 是否有可能找出 API Gateway 拒绝这些凭证的原因(也许我可以登录到 CloudWatch)?
4

1 回答 1

0

正如尼纳德在评论中指出的那样,我也忘了在会话中传递密钥。但是,我错过的一个关键步骤是我要访问的端点上的授权必须设置为AWS_IAM. 我之前将它设置为 Cognito 并指向用户池,这是不正确的。

于 2019-03-07T14:50:51.333 回答