Extension d’administration déléguée v3

Delegated Administration Extension (DAE/Extension d’administration déléguée) vous permet d’accorder des autorisations administratives à un groupe de personnes sélectionnées sans leur donner accès au reste du tableau de bord.

Configuration de la DAE

Pour configurer la DAE, vous devez :

  1. Enregistrement de votre application avec Auth0

  2. Création d’une connexion à une base de données

  3. désactiver toutes les autres connexions pour l’application Auth0,

  4. Créer des utilisateurs pour une connexion à une base de données

  5. Attribution de rôles aux membres

  6. Installation et configuration de l’extension

  7. Utilisation de l’extension

Enregistrement de votre application avec Auth0

Créez l’application que l’extension d’administration déléguée exposera à ceux qui devraient avoir des privilèges administratifs pour la page Users (Utilisateurs). Pour ce faire, créez une application d’administration déléguée dans Auth0.

Lorsque vous avez terminé, notez l’ID client de l’application.

Création d’une connexion à une base de données

Dans cet exemple, une connexion à une base de données servira de source pour vos utilisateurs qui sont autorisés à accéder à la zone Utilisateurs. Pour ce faire, créez une connexion à la base de données.

Lors de l’établissement de votre connexion :

  • Choisissez un nom de connexion approprié, comme HelpDesk.

  • Activez la bascule Disable Sign Ups(Désactiver les inscriptions). Pour des raisons de sécurité, cela garantit que même les utilisateurs qui ont le lien vers la connexion à la base de données ne peuvent pas s’inscrire eux-mêmes.

Désactivation de toutes les autres connexions pour l’application Auth0M

Par défaut, Auth0 active toutes les connexions associées à votre locataire lorsque vous créez une nouvelle application. Pour cet exemple, désactivez toutes les connexions autres que la connexion à la base de données que vous venez de créer. Cela contribue à sécuriser l’application car personne ne peut s’ajouter en utilisant l’une de vos connexions existantes.

Pour ce faire, mettez à jour les connexions de l’application.

Création d’utilisateurs pour une connexion à une base de données

Pour continuer, vous devez créer au moins un utilisateur et l’associer à votre connexion.

Attribuer des rôles aux utilisateurs

Auth0 accorde l’accès à l’extension DAE aux utilisateurs associés à votre connexion en fonction de leurs rôles. Il s’agit de rôles spécifiques à la DAE :

Ce rôle… Accorde l’autorisation de…
Delegated Admin - User Rechercher des utilisateurs, créer des utilisateurs, ouvrir des utilisateurs et exécuter des actions sur les utilisateurs (telles que supprimer ou bloquer).
Delegated Admin - Administrator Effectuer tout ce que l’administrateur délégué - Utilisateur peut effectuer, plus afficher tous les journaux du locataire et configurer les hooks.
Delegated Admin - Auditor Rechercher des utilisateurs et afficher les informations des utilisateurs, mais ne pas apporter de modifications. Les boutons basés sur l’action ne sont pas visibles pour ce rôle.
Delegated Admin - Operator Accéder à la gestion des utilisateurs et aux journaux, mais pas à la section de configuration des extensions.

Lorsque vous travaillez avec des rôles, nous vous recommandons d’utiliser l’ensemble de fonctionnalités Authorization Core :

  1. Créer des rôles DAE. Les noms des rôles que vous créez doivent correspondre aux noms des rôles DAE prédéfinis ci-dessus.

  2. Attribuer manuellement des rôles DAE à un utilisateur.

  3. Ajoutez des rôles d’utilisateur à l’espace de noms DAE dans le jeton d’ID à l’aide des actions :

    exports.onExecutePostLogin = async (event, api) => {
      const namespace = `https://{yourTenant}/auth0-delegated-admin`;
      if (event.client.client_id === 'CLIENT_ID' && event.authorization) {
        api.idToken.setCustomClaim(namespace, { "roles": event.authorization.roles });
      }
    };

    Was this helpful?

    /

N’oubliez pas de remplacer le paramètre fictif CLIENT_ID par l’ID client et {yourTenant} par le nom de votre locataire. Par exemple, si le nom de votre locataire est « tenant_name_example », l’espace de noms serait : https://tenant_name_example/auth0-delegated-admin

Pour en savoir plus sur la créations d’actions, consulter Créer votre première action

Installation et configuration de l’extension

Maintenant que nous avons créé et configuré une application, une connexion et notre utilisateur, nous pouvons installer et configurer l’extension d’administration déléguée.

Utilisation de l’extension

Une fois installée, vous êtes prêt à utiliser l’extension Delegated Admin.

Naviguez vers l’extension en utilisant le lien de connexion approprié pour votre région et le runtime d’extensibilité de votre locataire.

Emplacement Nom Lien de connexion
Australie AU https://{yourTenant}.au.webtask.io/auth0-delegated-admin
Europe EU https://{yourTenant}.eu.webtask.io/auth0-delegated-admin
Europe EU-2 https://{yourTenant}.eu.webtask.run/auth0-delegated-admin
Japon JP-1 https://{yourTenant}.jp.webtask.run/auth0-delegated-admin
UK UK https://{yourTenant}.uk.webtask.run/auth0-delegated-admin
États-Unis US-1 https://{yourTenant}.us.webtask.io/auth0-delegated-admin
États-Unis US-3 https://{yourTenant}.us.webtask.run/auth0-delegated-admin

Un nouvel onglet s’ouvre, affichant l’invite de connexion.

Étant donné que (dans cet exemple) nous avons désactivé les inscriptions pour la connexion à la base de données lors de sa configuration, l’écran de connexion n’affiche pas d’option S’inscrire. Une fois que vous fournissez des identifiants valides, Auth0 vous redirige vers la page personnalisée de votre tableau de bord d’administration déléguée, laquelle présente le titre que vous avez renseigné en haut de la page et votre conception (si vous avez fourni un fichier CSS personnalisé).

Délai d’inactivité de session d’administration déléguée

Par défaut, le délai d’expiration du jeton est de 10 heures. Toutefois, pour des raisons de sécurité, lorsque vous utilisez l’administration déléguée, Auth0 n’enregistre pas un jeton dans les témoins ou sessionStorage. Vous devez démarrer une nouvelle session lorsque vous actualisez chaque page.

En savoir plus