¿Es posible asumir el rol de IAM iam-role1 vinculado al grupo de cognito-group1 group1 del usuario de cognito cognito-user1 en el grupo de usuarios de cognito-user-pool1 ?
Mi configuración:
Grupo de usuarios cognito-user-pool1 :
cognito-user1 pertenece a cognito-group1cognito-group1 ha asignado a iam-role1 . Grupo de identidades cognito-identity-pool1 :
cognito-user-pool1iam-role1ESTOY:
iam-role1 tiene una política para acceder a S3 ReadOnlyEste código me permite autenticarme en el grupo de usuarios de Cognito:
AmazonCognitoIdentityProviderClient provider = new AmazonCognitoIdentityProviderClient(); CognitoUserPool userPool = new CognitoUserPool("user-pool-id", "client-id", provider); CognitoUser user = new CognitoUser("cognito-user1", "client-id", userPool, provider); InitiateSrpAuthRequest authRequest = new InitiateSrpAuthRequest() { Password = "cognito-password1" }; AuthFlowResponse authResponse = await user.StartWithSrpAuthAsync(authRequest); Luego obtenga las credenciales del grupo de identidades de cognito cognito-identity-pool1 vinculado al grupo de usuarios de cognito-user-pool1 :
CognitoAWSCredentials credentials = user.GetCognitoAWSCredentials("identity-pool-arn", RegionEndpoint.USEast1); using (var client = new AmazonS3Client(credentials)) ...Cuando un usuario se autentica con Cognito User Pool cognito-user-pool1 , el token de identificación incluye grupos de cognito y roles de iam:
"cognito:groups": [ "cognito-group1" ], "cognito:roles": [ "arn:aws:iam::xxx:role/iam-role1" ], Necesitamos configurar Cognito Identity Pool para elegir el rol del token cuando el usuario está autenticado: 
También debemos permitir que Cognito Identity Pool asuma este rol editando la relación de confianza en el rol de IAM iam-role1 :
{ "Version": "2012-10-17", "Statement": [ ... { "Effect": "Allow", "Principal": { "Federated": "cognito-identity.amazonaws.com" }, "Action": "sts:AssumeRoleWithWebIdentity" } ] }