次の変数が設定された EKS でアプリケーション インスタンスを実行しています。
declare -x AWS_DEFAULT_REGION="us-west-2"
declare -x AWS_REGION="us-west-2"
declare -x AWS_ROLE_ARN="xxxxx"
declare -x AWS_WEB_IDENTITY_TOKEN_FILE="/var/run/secrets/eks.amazonaws.com/serviceaccount/token"
com.amazonaws.auth.WebIdentityTokenCredentialsProvider
私が理解しているように、内部でどのビルドを含むデフォルトの Java SDK 認証チェーンがありますcom.amazonaws.services.securitytoken.AWSSecurityTokenService
。
しかし、この循環依存関係がどのように解決されるのかわかりませんか? つまり、作成中に資格情報を指定する必要がありますAWSSecurityTokenService
が、資格情報はサービス自体を作成します。
それを行うための実際的な要件があります.stsクライアントでエンドポイントをカスタマイズしたいのですが、循環依存であるためできません。
AWSSecurityTokenServiceClientBuilder.standard()
.withCredentials(new STSAssumeRoleWithWebIdentitySessionCredentialsProvider.Builder(
"arn",
"session",
"tokenfile")
.withStsClient(xxxx)
.build())
.withEndpointConfiguration(new AwsClientBuilder.EndpointConfiguration("http://localhost:4566", null))
.build()