in amazon-inspector-image-scanner/amazon-inspector-image-scanner-agent/src/main/java/com/amazon/inspector/teamcity/requests/SdkRequests.java [80:100]
private AwsCredentialsProvider getCredentialProvider(String workingProfileName,
AmazonWebServicesCredentials workingCredential) {
if (workingCredential != null) {
publicProgressLogger.message("Using explicitly provided AWS credentials to authenticate.");
return StaticCredentialsProvider.create(createRawCredentialProvider(workingCredential).resolveCredentials());
} else if (roleArn != null && !roleArn.isEmpty()) {
publicProgressLogger.message("Authenticating to STS via a role and default credential provider chain.");
StsClient stsClient = StsClient.builder().region(Region.of(region)).build();
return StsAssumeRoleCredentialsProvider.builder().stsClient(stsClient).refreshRequest(AssumeRoleRequest.builder()
.roleArn(roleArn).roleSessionName("inspectorscan").build()).build();
} else if (workingProfileName != null && !workingProfileName.isEmpty()) {
publicProgressLogger.message(
String.format("AWS Credential and role not provided, authenticating using \"%s\" as profile name.",
workingProfileName)
);
return ProfileCredentialsProvider.builder().profileName(workingProfileName).build();
} else {
publicProgressLogger.message("Using default credential provider chain to authenticate.");
return DefaultCredentialsProvider.create();
}
}