AmazonSecurityTokenServiceClient和AssumeRoleAWSCredentials都是AWS SDK中用于实现角色假定的类。它们之间的区别在于,AmazonSecurityTokenServiceClient.AssumeRoleAsync返回使用角色假定后的临时凭证,而AssumeRoleAWSCredentials返回的是用于调用AWS API的临时凭证。
以下是一个使用AmazonSecurityTokenServiceClient.AssumeRoleAsync实现角色假定的示例:
public async Task AssumeRoleAsync()
{
AmazonSecurityTokenServiceClient stsClient = new AmazonSecurityTokenServiceClient();
AssumeRoleRequest assumeRoleRequest = new AssumeRoleRequest
{
RoleArn = "arn:aws:iam::111111111111:role/MyRole",
RoleSessionName = "MySession"
};
AssumeRoleResponse assumeRoleResponse = await stsClient.AssumeRoleAsync(assumeRoleRequest);
Credentials credentials = assumeRoleResponse.Credentials;
// Use the temporary credentials to make AWS API calls
}
以下是一个使用AssumeRoleAWSCredentials实现角色假定的示例:
AssumeRoleAWSCredentials assumeRoleCredentials = new AssumeRoleAWSCredentials(
roleArn: "arn:aws:iam::111111111111:role/MyRole",
roleSessionName: "MySession");
// Use the temporary credentials to make AWS API calls