Вот что я пытаюсь сделать -
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 предоставляет вам временные учетные данные, ему необходимо создать «роль» с долгосрочными учетными данными.Я не могу найти обходной путь для этого.
По сути, я пытаюсь создать AmazonS3Client с предполагаемой ролью IAM, которая имеет определенные разрешения.Вот что я планирую сделать, если мне удастся получить GetSessionToken-
var newcreds = sessionTokenResponse.Credentials;
var sessionCredentials = new SessionAWSCredentials(newcreds.AccessKeyId, newcreds.SecretAccessKey, newcreds.SessionToken);
AmazonS3Client newclient = new AmazonS3Client(sessionCredentials, Amazon.RegionEndpoint.USWest2);