如何更新sts中的token
How to renew token in sts
我正在使用 aws sts 服务连接亚马逊资源。为此,我有以下 java 代码
AssumeRoleRequest roleRequest = AssumeRoleRequest.builder()
.roleArn(roleArm)
.roleSessionName(roleSessionName)
.build();
AssumeRoleResponse roleResponse = stsClient.assumeRole(roleRequest);
sessionCredentials = roleResponse.credentials();
stsCredentials = AwsSessionCredentials.create(
sessionCredentials.accessKeyId(),
sessionCredentials.secretAccessKey(),
sessionCredentials.sessionToken());
provider = StaticCredentialsProvider.create(stsCredentials);
起初我的印象是我不必检测令牌过期并在给定的时间间隔更新它(我认为服务会自行更新)但似乎令牌在一定时间间隔后过期.
如何检测和更新令牌?
How do I detect and renew the token?
你的 AssumeRoleResponse
应该给你 expiration。所以你必须监控它,当你的凭据过期前几分钟,你必须自己创建新凭据。没有自动更新,除非您 运行 您在 EC2 实例、ECS 容器或 lambda 函数上的代码。在这种情况下,AWS 会负责这个过程。
我正在使用 aws sts 服务连接亚马逊资源。为此,我有以下 java 代码
AssumeRoleRequest roleRequest = AssumeRoleRequest.builder()
.roleArn(roleArm)
.roleSessionName(roleSessionName)
.build();
AssumeRoleResponse roleResponse = stsClient.assumeRole(roleRequest);
sessionCredentials = roleResponse.credentials();
stsCredentials = AwsSessionCredentials.create(
sessionCredentials.accessKeyId(),
sessionCredentials.secretAccessKey(),
sessionCredentials.sessionToken());
provider = StaticCredentialsProvider.create(stsCredentials);
起初我的印象是我不必检测令牌过期并在给定的时间间隔更新它(我认为服务会自行更新)但似乎令牌在一定时间间隔后过期.
如何检测和更新令牌?
How do I detect and renew the token?
你的 AssumeRoleResponse
应该给你 expiration。所以你必须监控它,当你的凭据过期前几分钟,你必须自己创建新凭据。没有自动更新,除非您 运行 您在 EC2 实例、ECS 容器或 lambda 函数上的代码。在这种情况下,AWS 会负责这个过程。