Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Utilisation des sources d'identité Amazon Cognito
Verified Permissions travaille en étroite collaboration avec les groupes d'utilisateurs d'Amazon Cognito. Amazon Cognito JWTs possède une structure prévisible. Verified Permissions reconnaît cette structure et tire le meilleur parti des informations qu'elle contient. Par exemple, vous pouvez implémenter un modèle d'autorisation de contrôle d'accès basé sur les rôles (RBAC) avec des jetons d'identification ou des jetons d'accès.
Une nouvelle source d'identité de pool d'utilisateurs Amazon Cognito a besoin des informations suivantes :
-
Le Région AWS.
-
ID du groupe d'utilisateurs.
-
Le type d'entité principal que vous souhaitez associer à votre source d'identité, par exemple
MyCorp::User
. -
Le type d'entité de groupe principal que vous souhaitez associer à votre source d'identité, par exemple
MyCorp::UserGroup
. -
Le client IDs de votre groupe d'utilisateurs que vous souhaitez autoriser à envoyer des demandes à votre magasin de politiques.
Comme les autorisations vérifiées ne fonctionnent qu'avec les groupes d'utilisateurs Amazon Cognito appartenant au même groupe Compte AWS, vous ne pouvez pas spécifier de source d'identité dans un autre compte. Les autorisations vérifiées définissent le préfixe d'entité (identifiant de source d'identité auquel vous devez faire référence dans les politiques qui agissent sur les principes du groupe d'utilisateurs) à l'ID de votre groupe d'utilisateurs, par exemple. us-west-2_EXAMPLE
Dans ce cas, vous devez faire référence à un utilisateur de ce groupe d'utilisateurs dont l'identifiant est a1b2c3d4-5678-90ab-cdef-EXAMPLE22222
us-west-2_EXAMPLE|a1b2c3d4-5678-90ab-cdef-EXAMPLE22222
Les demandes de jetons du pool d'utilisateurs peuvent contenir des attributs, des étendues, des groupes, des clients IDs et des données personnalisées. Amazon Cognito JWTs peut inclure diverses informations susceptibles de contribuer aux décisions d'autorisation dans les autorisations vérifiées. Il s’agit des licences suivantes :
-
Nom d'utilisateur et réclamations groupées avec un
cognito:
préfixe -
Attributs utilisateur personnalisés avec
custom: prefix
-
Réclamations personnalisées ajoutées au moment de l'exécution
-
Les allégations standard de l'OIDC telles que
sub
etemail
Nous abordons ces réclamations en détail et expliquons comment les gérer dans les politiques d'autorisations vérifiées, dansAssocier les jetons Amazon Cognito au schéma.
Important
Bien que vous puissiez révoquer les jetons Amazon Cognito avant leur expiration JWTs , ils sont considérés comme des ressources apatrides dotées d'une signature et d'une validité autonomes. Les services conformes au jeton Web JSON RFC 7519
L'exemple suivant montre comment vous pouvez créer une politique qui fait référence à certaines réclamations des groupes d'utilisateurs Amazon Cognito associées à un mandant.
permit( principal, action, resource == ExampleCo::Photo::"VacationPhoto94.jpg" ) when { principal["cognito:username"]) == "alice" && principal["custom:department"]) == "Finance" };
L'exemple suivant montre comment créer une politique qui fait référence à un principal qui est un utilisateur d'un groupe d'utilisateurs Cognito. Notez que l'identifiant principal prend la forme de"<userpool-id>|<sub>"
.
permit( principal == ExampleCo::User::"us-east-1_example|a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", action, resource == ExampleCo::Photo::"VacationPhoto94.jpg" );
Les politiques de Cedar relatives aux sources d'identité des groupes d'utilisateurs dans Verified Permissions utilisent une syntaxe spéciale pour les noms de demandes contenant des caractères autres que des caractères alphanumériques et un trait de soulignement ()_
. Cela inclut les revendications de préfixes du groupe d'utilisateurs qui contiennent un :
caractère, comme cognito:username
etcustom:department
. Pour rédiger une condition de politique qui fait référence à la custom:department
réclamation cognito:username
ou, écrivez-les respectivement sous la forme principal["cognito:username"]
etprincipal["custom:department"]
.
Note
Si un jeton contient une réclamation avec le custom:
préfixe cognito:
ou et un nom de réclamation avec la valeur littérale cognito
oucustom
, une demande d'autorisation avec un IsAuthorizedWithTokenéchouera avec un. ValidationException
Pour plus d'informations sur le mappage des réclamations, consultezAssocier les jetons Amazon Cognito au schéma. Pour plus d'informations sur l'autorisation des utilisateurs d'Amazon Cognito, consultez la section Autorisation avec autorisations vérifiées par Amazon dans le guide du développeur Amazon Cognito.