-
Notifications
You must be signed in to change notification settings - Fork 75
Expand file tree
/
Copy pathAwsCredsProvider.java
More file actions
29 lines (19 loc) · 1.08 KB
/
AwsCredsProvider.java
File metadata and controls
29 lines (19 loc) · 1.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package com.company.demoapplication;
import software.amazon.awssdk.auth.credentials.AwsCredentialsProvider;
import software.amazon.awssdk.auth.credentials.DefaultCredentialsProvider;
import software.amazon.awssdk.services.sts.StsClient;
import software.amazon.awssdk.services.sts.auth.StsAssumeRoleCredentialsProvider;
import software.amazon.awssdk.services.sts.model.AssumeRoleRequest;
public class AwsCredsProvider {
public static AwsCredentialsProvider getCredentials(final String roleArn, final String sessionName) {
Main.logger().info("Building the STS request for roleArn: {} and session: {}", roleArn, sessionName);
final AssumeRoleRequest assumeRoleRequest = AssumeRoleRequest.builder()
.roleArn(roleArn)
.roleSessionName(sessionName)
.build();
return StsAssumeRoleCredentialsProvider.builder()
.stsClient(StsClient.builder().credentialsProvider(DefaultCredentialsProvider.create()).build())
.refreshRequest(assumeRoleRequest)
.build();
}
}