- Les ID Tokens servent souvent à transmettre aux applications des informations d’autorisation sur l’utilisateur au moyen de claims personnalisées, qui peuvent être ajoutées à l’aide de l’extensibilité Rules. Les claims ajoutées peuvent vous permettre de présenter une interface utilisateur dans laquelle les utilisateurs ne peuvent pas tenter d’effectuer une action qu’ils ne sont pas autorisés à faire. Les informations d’autorisation contenues dans un permettent aussi au backend d’une application d’empêcher les utilisateurs de contourner les contrôles du frontend dans les applications Web traditionnelles.
Bonne pratiqueVous pouvez tirer parti du contrôle d’accès basé sur les rôles (RBAC) d’Auth0 au moyen de la fonctionnalité Auth0 Authorization Core pour définir des autorisations d’accès, qui peuvent être automatiquement appliquées aux jetons d’accès. Pour en savoir plus, consultez Activer le contrôle d’accès basé sur les rôles pour les API.La fonctionnalité RBAC d’Auth0 peut aussi fournir des informations que vous pouvez ajouter comme claims personnalisées aux jetons d’identité (et aux jetons d’accès, si vous préférez les appliquer manuellement). Auth0 Organizations peut tirer parti des capacités RBAC d’Auth0 au moyen d’un ou de plusieurs rôles attribués aux membres. Pour en savoir plus, consultez Ajouter des rôles aux membres d’une organisation.
- 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 jeton d’autorisation porteur, ou 2 jeton d’accès, qui peut transmettre à une API des informations d’autorisation sur l’utilisateur, généralement en utilisant le contrôle d’accès basé sur les rôles (RBAC) d’Auth0 pour appliquer un ou plusieurs rôles attribués aux membres, ou en ajoutant des claims personnalisées au moyen de l’extensibilité Rules. Vous pouvez aussi tirer parti des capacités RBAC d’Auth0 pour ajuster automatiquement la claim
scoped’un . Les API peuvent ensuite utiliser cette information pour appliquer le niveau de contrôle d’accès approprié, ce qui permet à votre API d’appliquer des règles de stratégie sans devoir effectuer une recherche supplémentaire pour obtenir des informations sur l’utilisateur. - Dans certains cas, vous pourriez vouloir mettre en œuvre des stratégies au niveau de l’application dans le locataire Auth0; cela vous permet d’appliquer des stratégies à tout un ensemble d’applications et de services de ressources (API) sans avoir à modifier chacun d’eux individuellement. En général, cela se fait au moyen de l’extensibilité Rules.
Bonne pratiqueAuth0 Organizations permet aux Auth0 Rules d’accéder à des informations centrées sur l’organisation 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 aussi accès à toutes les métadonnées provisionnées pour une définition d’Organisation dans Auth0. Pour en savoir plus, consultez Développement personnalisé pour les organisations.Claims du jeton d’identité
org_id est automatiquement ajoutée à tout jeton d’identité (pour voir un exemple, consultez Work with Tokens and Organizations) émis pour des utilisateurs membres d’une organisation. Ce paramètre est validé par les SDK d’Auth0. Vous pouvez aussi ajouter des informations supplémentaires associées à une organisation Auth0 en ajoutant une claim personnalisée au jeton d’identité :
org_name est automatiquement ajoutée aux jetons d’identité. Pour en savoir plus, consultez Utiliser les noms d’organisation dans l’Authentication API.
Assertion SAML
mappings d’une connexion d’entreprise SAML :
user d’une Rule; cette valeur correspondra soit à des claims standard dans un jeton d’identité, soit à des claims personnalisées. Pour en savoir plus sur la personnalisation des mappages SAML, consultez Connect Your App to SAML Identity Providers: Set up mappings.
Claims du jeton d’accès
org_id est automatiquement ajoutée à tout jeton d’accès (pour voir un exemple, consultez Utiliser les jetons et les organisations) émis pour les utilisateurs membres d’une organisation. Vous pouvez également ajouter des renseignements supplémentaires associés à une organisation Auth0 en ajoutant une claim personnalisée au jeton d’accès :
org_name est automatiquement incluse dans les jetons d’accès. Pour en savoir plus, consultez Use Organization Names in Authentication API.
Vous pouvez également créer une d’API distincte pour chaque organisation, ce qui créerait une définition d’API distincte dans Auth0. Bien que ce mécanisme puisse réduire le besoin d’utiliser une extensibilité Rule personnalisée, la complexité qu’il introduit peut être difficile à gérer. Voici une comparaison simple :
| Approche | Avantages | Inconvénients |
|---|---|---|
| Audience API unique |
|
|
| Claim personnalisée | Simplifie la configuration du locataire Auth0. | Du code personnalisé est nécessaire dans une Rule pour ajouter l’organisation au jeton d’accès. |
Rôles
Vous pouvez activer le RBAC d’Auth0 Authorization Core pour une API, ce qui modifiera automatiquement la claim
scope par défaut dans les jetons d’accès et ajoutera par défaut une claim permission (pour un exemple, consultez Utiliser des jetons et des organisations). Vous pouvez également ajouter des informations sur les rôles aux jetons d’identité sous forme de claims personnalisées en accédant à l’objet authorization disponible dans l’objet context de Rules. Pour en savoir plus, consultez Exemples de cas d’utilisation de Rules avec Authorization : ajouter des rôles d’utilisateur aux jetons.Contrôle d’accès
- bloquer l’accès aux utilisateurs provenant d’une adresse IP particulière
- mettre en œuvre des exigences particulières liées à l’authentification contextuelle ou à la
- restreindre la connexion aux seuls utilisateurs qui ont vérifié leur adresse de courriel
- restreindre l’accès à une audience d’API donnée, 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 également veiller à ce que l’utilisateur qui s’authentifie appartienne à l’organisation correspondant à l’audience d’API visée.