Skip to main content
Auth0 propose deux façons de mettre en place le contrôle d’accès basé sur les rôles (RBAC), que vous pouvez utiliser à la place du système interne de contrôle d’accès de votre API ou en complément de celui-ci :L’ensemble de fonctionnalités d’Authorization Core offre les mêmes capacités que l’Authorization Extension, améliore les performances et l’évolutivité, et fournit un système RBAC plus flexible que l’Authorization Extension.À l’heure actuelle, les deux prennent en charge les principales fonctionnalités du RBAC et vous permettent de limiter les scopes personnalisés définis pour une API à ceux qui ont été attribués à l’utilisateur comme permissions.
Si vous avez une application accessible à tous dans votre entreprise, les utilisateurs sont les personnes auxquelles vous souhaitez accorder l’accès à votre application. Si vous avez un grand nombre d’utilisateurs, gérer individuellement les droits d’accès et les permissions de chacun peut devenir fastidieux. La fonctionnalité des groupes aide à simplifier ce processus. Par exemple, vos groupes peuvent refléter les différents départements de votre organisation : comptabilité, technologies de l’information, ingénierie, soutien, etc. Vous pouvez aussi créer des groupes imbriqués, par exemple en divisant le groupe d’ingénierie en deux sous-groupes : outils internes et applications destinées aux clients. La hiérarchie de votre organisation ressemble donc à ceci :
  • Entreprise
    • Comptabilité
    • Technologies de l’information
    • Ingénierie
      • Outils internes
      • Applications destinées aux clients
    • Soutien
Diagramme des groupes d’entreprise de l’Authorization Extension
Vous pouvez ajouter des utilisateurs à vos groupes manuellement ou dynamiquement selon les connexions qu’ils utilisent pour accéder à votre application. Par exemple, si une personne se connecte à l’aide de la connexion Active Directory et que son profil AD indique qu’elle fait partie du groupe Marketing, l’Authorization Extension peut aussi l’ajouter au groupe Marketing que vous gérez avec l’extension. Enfin, il y a les permissions et les rôles, qui sont des groupes de permissions. L’objectif de ces derniers est de faciliter l’attribution simultanée de plusieurs permissions à un utilisateur ou à un groupe.
Diagramme des rôles et permissions de l’Authorization Extension
Par exemple, vous pourriez vouloir accorder des permissions pour :
  • Approuver les demandes de déplacement
  • Approuver les frais de déplacement
Au lieu d’attribuer ces deux permissions à des groupes ou à des utilisateurs, vous pouvez les regrouper (avec plusieurs autres) dans un rôle appelé Administrateur des déplacements. Vous pouvez ensuite attribuer le rôle Administrateur des déplacements à des utilisateurs individuels ou à un ou plusieurs groupes.
Diagramme des groupes, rôles et permissions de l’Authorization Extension

Users

La section Users répertorie tous les utilisateurs actuels de vos applications. Vous pouvez y trouver un utilisateur précis, consulter son profil, modifier les groupes auxquels il appartient et ses rôles.
Dashboard - Extensions - Authorization Dashboard - Users

Groupes

Pour créer et gérer les groupes qui serviront à gérer les paramètres des utilisateurs, cliquez sur Groups dans l’Authorization Dashboard. Cliquez sur Create Group pour créer un nouveau groupe pour vos utilisateurs. Vous devrez fournir un name pour le groupe, ainsi qu’une description. Vous pouvez gérer vos utilisateurs et leur appartenance aux groupes de l’une des deux façons suivantes :
  • Ouvrir le group et gérer les utilisateurs du groupe
    Dashboard - Extensions - Authorization Extension - Group Membership - Group Management
  • Ouvrir le user et gérer la ou les appartenances de l’utilisateur aux groupes
    Dashboard - Extensions - Authorization Extension - Group Membership - User Management
Les groupes que vous créerez dépendront des besoins de vos processus d’affaires. Par exemple, vous pourriez avoir un groupe pour vos utilisateurs des finances, un groupe pour vos utilisateurs des TI, et ainsi de suite. De plus, vous pouvez créer des groupes imbriqués semblables à ceux-ci :
  • Example Company
    • Accounting
      • External Accountants
    • Human Resources
    • Finance
      • Finance IT Support
    • Management
Pour créer des groupes imbriqués, vous devez d’abord créer chacun des groupes au moyen du bouton CREATE sur la page Groups de l’Authorization Dashboard. Pour imbriquer les groupes :
  1. Ouvrez le groupe de niveau supérieur (dans l’exemple ci-dessus, il s’agirait du groupe Example Company)
  2. Cliquez sur l’onglet Nested Groups
  3. Cliquez sur le bouton ADD NESTED GROUP. Une liste des groupes pouvant être ajoutés au groupe principal s’affichera. Pour sélectionner un groupe en particulier, cliquez sur la case à cocher à gauche du nom. Après chaque sélection, vous serez redirigé vers la page du groupe principal. Poursuivez ce processus jusqu’à ce que vous ayez inclus tous les groupes nécessaires.
Avec les groupes imbriqués, l’ajout d’un utilisateur à un sous-groupe accorde aussi à l’utilisateur les permissions accordées aux groupes parents (et grands-parents) de ce groupe. Par exemple, l’ajout d’un utilisateur au groupe External Accountants en fait automatiquement un membre des groupes Finance et Company. Toutefois, l’utilisateur n’est explicitement membre que du groupe External Accountants; toutes les autres appartenances sont entièrement dynamiques et sont calculées au besoin (par exemple, au chargement des appartenances de l’utilisateur aux groupes). Pour éviter toute confusion, les membres explicites ET les « membres calculés » qui résultent des groupes imbriqués s’afficheront chaque fois que vous ouvrirez la page d’un groupe précis dans l’Authorization Dashboard.

Mappages de groupes

Les mappages de groupes vous permettent d’ajouter dynamiquement des utilisateurs à différents groupes en fonction de leurs connexions. Essentiellement, en utilisant la connexion et les informations de groupe fournies par le , vous pouvez faire en sorte que l’utilisateur devienne automatiquement membre du groupe pour lequel vous avez créé le mappage approprié. Par exemple, supposons que vos utilisateurs ouvrent une session à l’aide de leurs identifiants Active Directory (AD). Dans le cadre de leur identité, AD permet d’associer aux utilisateurs des informations de groupe (comme « Administrative » et « Marketing »). Vous pouvez ensuite configurer des mappages de groupes pour examiner le profil d’un utilisateur s’il se connecte avec la connexion Active Directory. Lorsque l’extension détecte que la personne fait partie du groupe « Administrative », elle ajoute automatiquement l’utilisateur au groupe Admin de votre entreprise.
Dashboard - Extensions - Authorization Extensions Dashboard - Mappage de groupes

Rôles

Les rôles que vous créerez dépendront de l’accès à certaines permissions dans votre application. Par exemple, supposons que vous ayez une application qui permet aux employés de saisir les dépenses de l’entreprise. Vous voulez que tous les employés puissent soumettre des dépenses, mais vous souhaitez que certains utilisateurs du service des finances aient des privilèges administratifs supplémentaires, comme approuver ou supprimer des dépenses. Ces actions peuvent être mappées aux Permissions, puis attribuées à un rôle donné. Vous pouvez créer différents types de rôles, comme : Expense Admins, Expense Manager et Expense User pour votre Expense Management Tool.
Dashboard - Extensions - Dashboard de l’Authorization Extension - Permissions
Pour ajouter un rôle, cliquez sur le bouton CREATE ROLE dans la section Roles du Dashboard. Choisissez ensuite l’application à laquelle ce rôle s’applique (comme Expense Management Tool), puis ajoutez un nom au rôle (comme Expense Admins) ainsi qu’une description. Sélectionnez ensuite les permissions que vous souhaitez accorder à ce rôle. Si vous n’avez pas encore créé vos permissions, vous pourrez les ajouter plus tard à un rôle existant.
Dashboard - Extensions - Dashboard de l’Authorization Extension - Add Role to User
Une fois que vous avez créé un Role, vous pouvez l’ajouter à un utilisateur afin qu’il dispose des Permissions associées. Pour ajouter un rôle à un utilisateur, trouvez l’utilisateur dans la section Users, puis cliquez sur l’onglet Roles. Cliquez ensuite sur ADD ROLE TO USER pour choisir les rôles que vous souhaitez attribuer à un utilisateur, puis cliquez sur SAVE.

Permissions

Les permissions sont les actions ou les fonctions qui peuvent être ajoutées aux rôles. En reprenant l’exemple précédent d’une application Expense, examinons les rôles possibles et la façon dont ils peuvent être associés à certaines permissions :
  • Rôle : Expense User
    • Permissions :
      • Consulter ses propres dépenses
      • Ajouter une nouvelle dépense
  • Rôle : Expense Admin
    • Permissions :
      • Approuver des dépenses
      • Consulter toutes les dépenses des utilisateurs
      • Supprimer des dépenses
      • Ajouter une nouvelle dépense
Pour créer une nouvelle permission, accédez à la section Permissions du Dashboard de l’Authorization Extension.
Dashboard - Extensions - Dashboard de l’Authorization Extension - Permissions
Cliquez ensuite sur le bouton CREATE PERMISSION. Saisissez ensuite le nom de la permission et sa description, puis sélectionnez l’application à laquelle cette permission s’applique.
Dashboard - Extensions - Dashboard de l’Authorization Extension - Create Permissions
Une fois les permissions créées, vous pouvez les associer à des rôles.

En savoir plus