AWS IAM身份验证

时间:2020-01-17 17:34:41

标签: amazon-web-services aws-lambda amazon-iam

我已在我的API中使用AWS IAM身份验证来授权每个请求。现在,我需要用户的身份验证请求的用户名。例如,一个用户向我的API发出请求,而他已经被授权(IAM条目),那么我想要该用户的用户名或API密钥。有什么想法吗

1 个答案:

答案 0 :(得分:3)

我刚刚为您做过测试。 Lambda收到了以下事件。

{
  ...
  "body": null,
  "resource": "/",
  "requestContext": {
    "identity": {
      "userArn": "arn:aws:iam::561819318197:user/testadmin",
      "cognitoAuthenticationType": null,
      "principalOrgId": null,
      "accessKey": "AKIAABTYKO625OKJWL65",
      "caller": "AIDAYFTYKO62TO35WYOWZ",
      "userAgent": "PostmanRuntime/7.6.0",
      "user": "AIDAYFTCDO62TO35WYOWZ",
      "cognitoIdentityPoolId": null,
      "cognitoIdentityId": null,
      "cognitoAuthenticationProvider": null,
      "sourceIp": "[user ip]",
      "accountId": "123456789012"
    },
    "accountId": "123456789012"
  }
  ...
}

我认为您可以使用event.requestContext.user

希望这对您有所帮助。