У меня есть роль в экземпляре ec2, которая имеет разрешение роли для другой роли. У меня установлены доверительные отношения, так что это должно быть проблемой. У меня есть этот код для получения учетных данных IAM:
public class AwsCredentialsHelper {
private static final String ROLE_ARN_PROPERTY = "aws.role.arn";
private static final Logger logger = LogManager.getLogger("InfraLogger");
private AwsCredentialsHelper() {
}
public static AWSCredentialsProvider getCredentialsProvider(String clientId, AWSCredentialsProvider defaultProvider) {
String roleArn = getRoleArnProperty();
if (roleArn != null) {
if (logger.isDebugEnabled()) {
logger.debug("Using assume role credentials provider for role {}", roleArn);
}
return new STSAssumeRoleSessionCredentialsProvider.Builder(roleArn, clientId).build();
} else {
if (logger.isDebugEnabled()) {
logger.debug("Using default credentials provider");
}
return defaultProvider;
}
}
Для меня это не получается с:
18:59:47.516 [kpl-daemon-0000] DEBUG com.amazonaws.auth.AWSCredentialsProviderChain - Unable to load credentials from EnvironmentVariableCredentialsProvider: Unable to load AWS credentials from environment variables (AWS_ACCESS_KEY_ID (or AWS_ACCESS_KEY) and AWS_SECRET_KEY (or AWS_SECRET_ACCESS_KEY))
18:59:47.516 [kpl-daemon-0000] DEBUG com.amazonaws.auth.AWSCredentialsProviderChain - Unable to load credentials from SystemPropertiesCredentialsProvider: Unable to load AWS credentials from Java system properties (aws.accessKeyId and aws.secretKey)
18:59:47.516 [main] DEBUG org.springframework.jmx.export.annotation.AnnotationMBeanExporter - Unregistering JMX-exposed beans
18:59:47.523 [kpl-daemon-0000] DEBUG com.amazonaws.auth.AWSCredentialsProviderChain - Unable to load credentials from com.amazonaws.auth.profile.ProfileCredentialsProvider@c745363: profile file cannot be null
Кажется, он просматривает первые три места, но никогда не проходит мимо следующего (который включает в себя роль IAM). У нас, очевидно, нет настройки файла учетных данных. Тот же самый точный код работал в другой настройке для меня, так что я запутался, если я делаю это правильно?