Récupérer le Token d'un Switch Role

Permet de faire un Switch Rôle et de récupérer les credentials associés.

Nuget à installer :

https://www.nuget.org/packages/AWSSDK.SecurityToken/

 

using Amazon;
using Amazon.SecurityToken;
using Amazon.Runtime;
        
        //needed info from target account
        var targetRoleAccount = "434898027834";
        var targetRoleName = "AAA_PE_MOBILE_SQUAD";

        //my user creds
        var mainAccountUserAccessToken = "AKIA6JEPFD7EUAPJORAI";
        var mainAccountUserSecretToken = "*****************************";
        
        //make some ARNs
        var roleArn = $"arn:aws:iam::{targetRoleAccount}:role/{targetRoleName}";
        

        var basicCreds = new BasicAWSCredentials(mainAccountUserAccessToken, mainAccountUserSecretToken);

        var stsClient = new AmazonSecurityTokenServiceClient(basicCreds);
        var sessionResponse = stsClient.GetSessionTokenAsync().Result;

        var sessionCreds = new SessionAWSCredentials(sessionResponse.Credentials.AccessKeyId,
            sessionResponse.Credentials.SecretAccessKey, sessionResponse.Credentials.SessionToken);

        var options = new AssumeRoleAWSCredentialsOptions();

        var assumeRoleCredentials = new AssumeRoleAWSCredentials(sessionCreds, roleArn, targetRoleName, options);

        ImmutableCredentials  credentials= assumeRoleCredentials.GetCredentials();