在AWS CLI中,可以通过以下命令获取新的临时凭证:
aws sts assume-role --role-arn --role-session-name
其中,是要获取临时凭证的角色ARN,是用于标识会话的名称。
在AWS SDK中,可以使用AssumeRole操作获取新的临时凭证。例如,在Java中,可以使用以下代码:
AWSSecurityTokenService sts = AWSSecurityTokenServiceClientBuilder.standard()
.withCredentials(DefaultAWSCredentialsProviderChain.getInstance())
.build();
AssumeRoleRequest request = new AssumeRoleRequest()
.withRoleArn("")
.withRoleSessionName("");
AssumeRoleResult response = sts.assumeRole(request);
Credentials credentials = response.getCredentials();
AWSCredentialsProvider credentialsProvider = new AWSStaticCredentialsProvider(
new BasicSessionCredentials(
credentials.getAccessKeyId(),
credentials.getSecretAccessKey(),
credentials.getSessionToken()
)
);
AmazonEventBridge eventBridge = AmazonEventBridgeClientBuilder.standard()
.withCredentials(credentialsProvider)
.build();
// 使用eventBridge操作AWS EventBridge
在这个例子中,和的含义与上面相同。assumeRole操作返回的AssumeRoleResult包含了新的临时凭证,包括访问密钥ID、秘密访问密钥和会话令牌。使用这些凭证创建一个AWSStaticCredentialsProvider,然后将其传递给AmazonEventBridgeClientBuilder。