in flink-connector-aws-base/src/main/java/org/apache/flink/connector/aws/util/AWSGeneralUtil.java [242:269]
private static AwsCredentialsProvider getAssumeRoleCredentialProvider(
final Properties configProps, final String configPrefix) {
final StsClientBuilder stsClientBuilder =
StsClient.builder()
.credentialsProvider(
getCredentialsProvider(
configProps,
AWSConfigConstants.roleCredentialsProvider(configPrefix)))
.region(getRegion(configProps));
Optional.ofNullable(getStsEndpoint(configProps))
.ifPresent(stsClientBuilder::endpointOverride);
return StsAssumeRoleCredentialsProvider.builder()
.refreshRequest(
AssumeRoleRequest.builder()
.roleArn(
configProps.getProperty(
AWSConfigConstants.roleArn(configPrefix)))
.roleSessionName(
configProps.getProperty(
AWSConfigConstants.roleSessionName(configPrefix)))
.externalId(
configProps.getProperty(
AWSConfigConstants.externalId(configPrefix)))
.build())
.stsClient(stsClientBuilder.build())
.build();
}