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.
Uso de fuentes de identidad de Amazon Cognito
Verified Permissions trabaja en estrecha colaboración con los grupos de usuarios de Amazon Cognito. Amazon Cognito JWTs tiene una estructura predecible. Verified Permissions reconoce esta estructura y aprovecha al máximo la información que contiene. Por ejemplo, puede implementar un modelo de autorización de control de acceso basado en roles (RBAC) con tokens de identificación o de acceso.
Una nueva fuente de identidad de grupos de usuarios de Amazon Cognito requiere la siguiente información:
-
El Región de AWS.
-
El ID del grupo de usuarios.
-
El tipo de entidad principal que desea asociar a su fuente de identidad, por ejemplo
MyCorp::User
. -
El tipo de entidad de grupo principal que desea asociar a su fuente de identidad, por ejemplo
MyCorp::UserGroup
. -
El cliente IDs de su grupo de usuarios al que desea autorizar para realizar solicitudes a su almacén de políticas.
Como los permisos verificados solo funcionan con grupos de usuarios de Amazon Cognito en la misma cuenta Cuenta de AWS, no puede especificar una fuente de identidad en otra cuenta. Verified Permissions establece el prefijo de la entidad (el identificador de la fuente de identidad al que debe hacer referencia en las políticas que actúan sobre los principios del grupo de usuarios) como el ID de su grupo de usuarios, por ejemplo. us-west-2_EXAMPLE
En este caso, haría referencia a un usuario de ese grupo de usuarios con un ID como a1b2c3d4-5678-90ab-cdef-EXAMPLE22222
us-west-2_EXAMPLE|a1b2c3d4-5678-90ab-cdef-EXAMPLE22222
Las notificaciones de los tokens del grupo de usuarios pueden contener atributos, ámbitos, grupos IDs, clientes y datos personalizados. Amazon Cognito JWTs tiene la capacidad de incluir una variedad de información que puede contribuir a las decisiones de autorización en los permisos verificados. Entre ellos se incluyen:
-
Reclamaciones de nombre de usuario y grupo con un prefijo
cognito:
-
Atributos de usuario personalizados con un
custom: prefix
-
Las reclamaciones personalizadas se añaden en tiempo de ejecución
-
El estándar de la OIDC afirma como y
sub
email
Tratamos estas reclamaciones en detalle y cómo gestionarlas en las políticas de permisos verificados, en. Asignar los tokens de Amazon Cognito al esquema
importante
Si bien puede revocar los tokens de Amazon Cognito antes de que caduquen JWTs , se consideran recursos apátridas que son autónomos con firma y validez. Por lo general, los servicios que cumplen con el RFC 7519 de JSON Web Token
En el siguiente ejemplo, se muestra cómo puede crear una política que haga referencia a algunas de las reclamaciones del grupo de usuarios de Amazon Cognito asociadas a un principal.
permit( principal, action, resource == ExampleCo::Photo::"VacationPhoto94.jpg" ) when { principal["cognito:username"]) == "alice" && principal["custom:department"]) == "Finance" };
En el siguiente ejemplo, se muestra cómo se puede crear una política que haga referencia a un principal que sea un usuario de un grupo de usuarios de Cognito. Tenga en cuenta que el ID principal adopta la forma de"<userpool-id>|<sub>"
.
permit( principal == ExampleCo::User::"us-east-1_example|a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", action, resource == ExampleCo::Photo::"VacationPhoto94.jpg" );
Las políticas de Cedar para las fuentes de identidad de los grupos de usuarios de Verified Permissions utilizan una sintaxis especial para los nombres de las notificaciones que contienen caracteres distintos de los alfanuméricos y los guiones bajos ()_
. Esto incluye las notificaciones de prefijos de grupos de usuarios que contienen un :
carácter, como y. cognito:username
custom:department
Para escribir una condición de la póliza que haga referencia a la custom:department
afirmación cognito:username
o a la reclamación, escríbalas como principal["cognito:username"]
yprincipal["custom:department"]
, respectivamente.
nota
Si un token contiene una reclamación con un custom:
prefijo cognito:
o y un nombre de reclamación con el valor literal cognito
ocustom
, una solicitud de autorización con un prefijo no IsAuthorizedWithTokense aceptará con unValidationException
.
Para obtener más información sobre la representación cartográfica de las reclamaciones, consulteAsignar los tokens de Amazon Cognito al esquema. Para obtener más información sobre la autorización de los usuarios de Amazon Cognito, consulte Autorización con permisos verificados de Amazon en la Guía para desarrolladores de Amazon Cognito.