Passer au contenu principal
Auth0 offre deux façons de mettre en œuvre 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 des fonctionnalités d’Authorization Core correspond à celui d’Authorization Extension, tout en améliorant les performances et l’évolutivité, et en offrant un système RBAC plus flexible qu’Authorization Extension.Actuellement, les deux mettent en œuvre les principales fonctionnalités du RBAC et vous permettent de restreindre les scopes personnalisés définis pour une API à ceux qui ont été attribués à l’utilisateur comme autorisations.
Vous pouvez importer de nouvelles données depuis un fichier JSON ou exporter des données d’autorisation existantes vers un fichier JSON. Cela peut être utile lorsque vous passez d’un environnement à un autre.
Les rôles et les autorisations sont liés à des applications précises. Si vous exportez votre fichier JSON et l’importez dans un autre environnement, vous devrez modifier l’ID client de ces enregistrements.
  1. Accédez à la section Import/Export en cliquant sur Configuration dans le menu déroulant accessible en cliquant sur le nom de votre locataire, en haut à droite du Authorization Dashboard.
    Tableau de bord - Tableau de bord de l’extension Authorization - Configuration
  2. Sélectionnez Import/Export.
    Tableau de bord - Tableau de bord de l’extension Authorization - Configuration - Import Export
  3. Utilisez ce formulaire pour copier-coller ou modifier les données JSON. Cliquez ensuite sur le bouton Import ou Export pour lancer le processus d’importation ou d’exportation. Voici un exemple de fichier JSON :
    {
      "configuration": [
        {
          "_id": "v1",
          "rolesInToken": true
        }
      ],
      "groups": [
        {
          "name": "Admin",
          "description": "Administrators of the company",
          "_id": "f185e4aa-0c28-4da7-8639-ae998512c838"
        },
        {
          "_id": "5f5371c6-c8ff-4c7c-825e-c5ef8ac51cad",
          "name": "HR",
          "description": "Human Resources",
          "members": [
            "auth0|59c13f5ed6e34e41877c0810"
          ],
          "roles": [
            "6ab494d6-2592-4af0-a62f-2c13646143d0"
          ],
          "nested": [
            "59f2adac-9016-4051-ad02-dd5196b8f99e"
          ]
        },
        {
          "name": "Trainers",
          "description": "HR Trainers for New Employees",
          "_id": "59f2adac-9016-4051-ad02-dd5196b8f99e"
        }
      ],
      "permissions": [
        {
          "applicationType": "client",
          "applicationId": "fhginJh46igC6Rj630UeZBhUyDrgvJ08",
          "description": "approve company expenditures",
          "name": "Approve Expenses",
          "_id": "e61f10f4-837e-4011-a52f-53618bd659e7"
        },
        {
          "applicationType": "client",
          "applicationId": "fhginJh46igC6Rj630UeZBhUyDrgvJ08",
          "description": "approve hiring of employees",
          "name": "Hire employees",
          "_id": "03b94d9b-8893-413d-bdb3-451192264594"
        }
      ],
      "roles": [
        {
          "applicationType": "client",
          "applicationId": "fhginJh46igC6Rj630UeZBhUyDrgvJ08",
          "description": "Control over HR-related tasks",
          "name": "HR Manager",
          "permissions": [
            "e61f10f4-837e-4011-a52f-53618bd659e7",
            "03b94d9b-8893-413d-bdb3-451192264594"
          ],
          "_id": "6ab494d6-2592-4af0-a62f-2c13646143d0"
        }
      ]
    }
    

En savoir plus