Confianza y permisos de rol - Amazon Cognito

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Confianza y permisos de rol

Estos roles se diferencian en sus relaciones de confianza. Este es un ejemplo de política de confianza para roles no autenticados:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Federated": "cognito-identity.amazonaws.com" }, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringEquals": { "cognito-identity.amazonaws.com:aud": "us-east-1:12345678-corner-cafe-123456790ab" }, "ForAnyValue:StringLike": { "cognito-identity.amazonaws.com:amr": "unauthenticated" } } } ] }

Esta política permite a los usuarios federados de cognito-identity.amazonaws.com (el emisor del token de OpenID Connect) asumir este rol. Además, la política restringe el aud del token, en este caso, el ID del grupo de identidades para adaptarse al grupo de identidades. Por último, la política especifica que uno de los miembros de la matriz de la notificación multivalor amr del token emitido por la operación de la API GetOpenIdToken de Amazon Cognito tiene el valor unauthenticated.

Cuando Amazon Cognito crea un token, establece el amr del token como unauthenticated o authenticated. Si amr está authenticated, el token incluye todos los proveedores utilizados durante la autenticación. Esto significa que puede crear un rol que confíe solo en los usuarios que iniciaron sesión a través de Facebook, cambiando la condición amr, como en el ejemplo siguiente:

"ForAnyValue:StringLike": { "cognito-identity.amazonaws.com:amr": "graph.facebook.com" }

Sea prudente cuando cambie las relaciones de confianza de sus roles o cuando intente utilizar roles en todos los grupos de identidades. Si el rol no está configurado correctamente para confiar en su grupo de identidades, se visualizará una excepción de STS como la siguiente:

AccessDenied -- Not authorized to perform sts:AssumeRoleWithWebIdentity

Si ve este mensaje, compruebe que está utilizando un rol adecuado para el grupo de identidades y el tipo de autenticación.