这就是我想要做的-
var role = new AmazonSecurityTokenServiceClient(aws_access_key_id, aws_secret_access_key, aws_session_token, Amazon.RegionEndpoint.USWest2);
role.AssumeRole(new AssumeRoleRequest
{
DurationSeconds = 3600,
RoleArn = rolearn,
RoleSessionName = sessionname
});
GetSessionTokenResponse sessionTokenResponse = role.GetSessionToken(new GetSessionTokenRequest
{
DurationSeconds = 7200
});
现在我的“角色”是使用我通过 saml 获得的临时凭据创建的。而且似乎由于 GetSessionToken 为您提供了临时凭据,因此需要使用长期凭据创建“角色”。我似乎找不到解决方法。
本质上,我正在尝试使用具有某些权限的假定 IAM 角色创建一个 AmazonS3Client。如果我设法 GetSessionToken,这就是我计划做的事情-
var newcreds = sessionTokenResponse.Credentials;
var sessionCredentials = new SessionAWSCredentials(newcreds.AccessKeyId, newcreds.SecretAccessKey, newcreds.SessionToken);
AmazonS3Client newclient = new AmazonS3Client(sessionCredentials, Amazon.RegionEndpoint.USWest2);