- Les jetons ID sont souvent utilisés pour transmettre aux applications des informations d’autorisation sur l’utilisateur au moyen de claims personnalisés, qui peuvent être ajoutés à l’aide de la fonctionnalité d’extensibilité Rules. Les claims ajoutés peuvent vous permettre de présenter une interface utilisateur dans laquelle les utilisateurs ne peuvent pas tenter d’effectuer une action qu’ils n’ont pas la permission d’exécuter. Les informations d’autorisation contenues dans un donnent également au backend de toute application un moyen d’empêcher les utilisateurs de contourner les contrôles du frontend dans les applications Web traditionnelles.
Bonne pratiqueVous pouvez tirer parti de Auth0 Role-Based Access Control (RBAC) au moyen de la fonctionnalité Auth0 Authorization Core pour définir des permissions d’accès, qui peuvent être automatiquement appliquées aux jetons d’accès. Pour en savoir plus, consultez Enable Role-Based Access Control for APIs.La fonctionnalité RBAC d’Auth0 peut également fournir des informations que vous pouvez ajouter comme claims personnalisés aux jetons d’identité (et aux jetons d’accès, si vous préférez les appliquer manuellement). Auth0 organisations peut tirer parti des capacités RBAC d’Auth0 au moyen d’un ou de plusieurs rôles attribués à l’adhésion. Pour en savoir plus, consultez Add Roles to Organization Members.
- Les API qui offrent un accès public à des services de ressources partagées sont généralement protégées par des mécanismes de contrôle d’accès. À cette fin, Auth0 permet de créer un bearer token d’autorisation, ou 2 jeton d’accès, qui peut transmettre à une API des informations d’autorisation sur l’utilisateur, généralement en utilisant le Role-Based Access Control (RBAC) d’Auth0 pour appliquer un ou plusieurs membership-assigned roles, ou en ajoutant des claims personnalisés au moyen de la fonctionnalité d’extensibilité Rules. Vous pouvez également tirer parti des capacités RBAC d’Auth0 pour ajuster automatiquement le claim
scoped’un . Les API peuvent ensuite utiliser cette information pour appliquer le niveau approprié de contrôle d’accès, ce qui permet à votre API d’appliquer des règles de politique sans avoir à effectuer une recherche supplémentaire pour obtenir des informations sur l’utilisateur. - Dans certains cas, vous pourriez vouloir mettre en œuvre des politiques au niveau de l’application dans le tenant Auth0; cela vous permet d’appliquer des politiques à tout un ensemble d’applications et de services de ressources (API) sans avoir à modifier chacun d’eux séparément. Cette mise en œuvre se fait généralement au moyen de la fonctionnalité d’extensibilité Rules.
Bonne pratiqueAuth0 organisations donne à Auth0 Rules accès à des informations centrées sur l’organisation, accessibles lors de l’authentification d’un utilisateur. Cette information est accessible au moyen de l’objet
organization contenu dans l’objet context de Rules. L’objet organization donne également accès à toutes les métadonnées provisionnées pour une définition d’organisation dans Auth0. Pour en savoir plus, consultez Custom Development for Organizations.Claims du jeton ID
org_id est automatiquement ajoutée à tout jeton d’identité (pour un exemple, consultez Travailler avec les jetons et les organisations) émis pour les utilisateurs membres d’une organisation. Ce paramètre est validé par les SDK Auth0. Vous pouvez aussi ajouter des renseignements complémentaires associés à une organisation Auth0 en ajoutant une claim personnalisée au jeton d’identité :
org_name est automatiquement incluse dans les jetons ID. Pour en savoir plus, consultez Use Organization Names in Authentication API.
Assertion SAML
user dans une Action se verra attribuer une valeur, qui sera soit mappée à des claims standard dans un jeton ID, soit à des claims personnalisés. Pour en savoir plus sur la personnalisation des mappages SAML, consultez Connect Your App to SAML Identity Providers: Set up mappings.
Lorsque votre application utilise SAML et qu’Auth0 agit comme IdP, vous pouvez inclure une Organisation dans la demande de connexion SAML à l’aide du paramètre de requête organization :
http://schemas.auth0.com/.
Claims du jeton d’accès
org_id est automatiquement ajouté à tout jeton d’accès (pour un exemple, consultez Utiliser les jetons et les organisations) émis pour les utilisateurs ayant une appartenance à une organisation. Vous pouvez également ajouter des renseignements supplémentaires associés à une Auth0 organisation en ajoutant un claim personnalisé au jeton d’accès :
org_name est automatiquement inclus dans les jetons d’accès. Pour en savoir plus, consultez Use Organization Names in Authentication API.
Vous pouvez aussi créer une d’API unique pour chaque organisation, ce qui donnerait une définition d’API distincte dans Auth0. Bien que ce mécanisme puisse réduire le recours à la fonctionnalité Rule personnalisée, la complexité qu’il ajoute peut être difficile à gérer. Voici une comparaison simple :
Rôles
Vous pouvez activer Auth0 Authorization Core RBAC pour une API, ce qui modifiera automatiquement le claim
scope par défaut dans les jetons d’accès et ajoutera aussi, par défaut, un claim permission (pour voir un exemple, consultez Work with Tokens and Organizations). Vous pouvez également ajouter des renseignements sur les rôles aux jetons d’identité sous forme de claims personnalisés en accédant à l’objet authorization disponible dans l’objet context de Rules. Pour en savoir plus, consultez Rules with Authorization Sample Use Cases: Add User Roles to Tokens.Contrôle d’accès
- bloquer l’accès des utilisateurs provenant d’une adresse IP précise
- implémenter des exigences précises en matière de contexte ou de
- restreindre le login aux seuls utilisateurs qui ont vérifié leur adresse courriel
- restreindre l’accès à une audience d’API précise, afin qu’un utilisateur ne puisse pas obtenir de jeton d’accès pour une autre audience d’API ou ne puisse pas obtenir de jeton d’accès pour cette audience dans certaines circonstances. Dans ce cas, si vous créez une audience d’API personnalisée pour chaque organisation, votre Rule doit aussi s’assurer que l’utilisateur en cours d’authentification appartient à l’organisation correspondant à l’audience d’API.