如何解决提取AWS访问和密钥
Infra类似于具有处理程序Lambda函数的API网关。我们为3个客户端创建了3个IAM用户,客户端通过提供访问权限和密钥来执行API网关。我想获取访问和密钥以标识用户。 下面的代码(在lambda中)有助于我们获取用户详细信息。
AWSCredentialsProvider credProvider = new AWSStaticCredentialsProvider(new BasicAWSCredentials("accessKey","secretKey"))
AmazonIdentityManagementClientBuilder.standard().withCredentials(credProvider).build()
如何获取访问权限和密钥?处理函数中的上下文对象仅提供认知身份对象,但是我一直期望在api调用期间使用具有访问权限和密钥的IAM身份对象。
解决方法
实施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中获得用户ID和accessKey。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。