繁体   English   中英

获取 AWS 访问和密钥

[英]Fetch AWS Access And Secret Key

Infra 就像带有处理程序 Lambda 函数的 API 网关。 我们为 3 个客户端创建了 3 个 IAM 用户,客户端通过提供访问和密钥来执行 API 网关。 我想获取访问和密钥来识别用户。 下面的代码(在 lambda 中)帮助我们获取用户详细信息。

AWSCredentialsProvider credProvider = new AWSStaticCredentialsProvider(new BasicAWSCredentials("accessKey","secretKey"))
AmazonIdentityManagementClientBuilder.standard().withCredentials(credProvider).build()

如何获得访问和秘密密钥? 处理程序函数中的上下文对象仅提供认知身份对象,但是我一直期待 IAM 身份对象具有在 api 调用期间使用的访问权限和密钥。

实现RequestHandler<APIGatewayProxyRequestEvent, APIGatewayProxyResponseEvent> 对于每个传入的请求事件,您将在APIGatewayProxyRequestEvent 中获得以下详细信息

requestEvent.getRequestContext().getIdentity() 

包含

    private String cognitoIdentityPoolId;
    private String accountId;
    private String cognitoIdentityId;
    private String caller;
    private String apiKey;
    private String sourceIp;
    private String cognitoAuthenticationType;
    private String cognitoAuthenticationProvider;
    private String userArn;
    private String userAgent;
    private String user;
    private String accessKey;

如您所见,您将在 userARN 中获得 userID 和 accessKey。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM