STSを使用してJavaでs3クライアントを作成しようとしています
BasicSessionCredentials credentials = getCredentialsOfCurrentRole();
AWSSecurityTokenService sts = new
AWSSecurityTokenServiceClient(credentials).withRegion(REGION);
AssumeRoleRequest assumeRoleRequest = new AssumeRoleRequest().withRoleArn(roleArn)
.withDurationSeconds(getDurationToAssumeRole())
.withRoleSessionName(sessionName);
AssumeRoleResult assumeRoleResult = sts.assumeRole(assumeRoleRequest);
// Get temporary credentials of assumed role
assumedRoleCredentials = assumeRoleResult.getCredentials();
ただし、IAM ロールの一時的な認証情報をリクエストしているときに次の例外が発生します
Failed to get credentials using STS. Reason:
com.amazonaws.services.securitytoken.model.AWSSecurityTokenServiceException: User:
arn:aws:sts::434234520724:assumed-role/myapplication.role.name/kiam-kiam is not authorized to
perform: sts:AssumeRole on resource: arn:aws:iam::412341320567:role/webapplication.app.com