Aller au contenu principal

Tutoriel : Exiger des utilisateurs qu'ils endossent un rôle pour accéder au workspace

Utilisez le contrôle d'accès basé sur les rôles (RBAC) pour exiger que certains utilisateurs assument un rôle lorsqu'ils accèdent à un workspace Databricks. Leurs sessions de workspace utilisent les autorisations du rôle, ce qui permet de maintenir l'accès limité à un projet ou à une tâche particulière. Les autres utilisateurs assignés au même workspace peuvent continuer à y accéder en tant qu'identité utilisateur.

Scénario​

Les membres de trial-researchers travaillent sur un essai clinique dans le workspace trials. Ils appartiennent également à des groupes qui accordent l’accès à d’autres projets. Leurs identités d’utilisateur héritent des autorisations de ces groupes et des groupes parents de ces groupes.

Vous créez role-trial-researcher avec un accès au catalog trial_data et vous accordez à trial-researchers l’autorisation de l’assumer. Vous assignez le rôle au workspace. Les chercheurs entrent alors dans le workspace en tant que rôle, dont les autorisations remplacent les autorisations de leur identité utilisateur pour cette session. Voir Quand devez-vous assumer un rôle pour entrer dans un workspace pour le comportement d’entrée général.

Prérequis​

  • Un workspace compatible avec Unity Catalog et sur lequel le RBAC est activé. Voir Activer RBAC.
  • Autorisations d'administrateur de compte ou d'administrateur de Workspace pour créer le rôle, accorder l'autorisation Assume et gérer les affectations de Workspace. Consultez Qui peut gérer des groupes ?.
  • Propriété de, ou MANAGE sur, le catalogue que le rôle doit lire.
  • Autorisations d’administrateur de workspace ou Can manage sur le SQL warehouse utilisé dans l’exemple.
  • Un groupe de compte contenant les chercheurs, une table existante à query et un SQL Warehouse. Ce tutoriel utilise trial-researchers, trial_data.research.observations et le workspace trials. Substituez vos propres noms tout au long du processus.
  • Les utilisateurs dans trial-researchers existent dans votre compte Databricks mais ne sont pas assignés au workspace trials, que ce soit directement ou par le biais d'une appartenance à un groupe, y compris des groupes imbriqués.
  • Un chercheur de trial-researchers et un autre utilisateur qui reste affecté à trials, tous deux disponibles pour valider l'accès en utilisant leurs propres connexions.
  • Un lecteur d'audit avec accès à system.access.audit pour vérifier l'activité du chercheur sous ce rôle. Voir Vérifier l'attribution de l'audit.

Si vos chercheurs ont déjà accès au workspace, consultez les instructions pour supprimer les affectations directes d'utilisateurs et les affectations de groupes. La suppression de l'affectation d'un groupe affecte également ses autres membres.

Étape 1 : Créez le rôle​

Pour ce tutoriel, créez un groupe de comptes vide qui servira de rôle.

  1. En tant qu'administrateur de compte, Connexion à la console de compte.
  2. Dans la barre latérale, cliquez sur Gestion des utilisateurs .
  3. Dans le Groupes tab, cliquez sur Ajouter un groupe .
  4. Entrez role-trial-researcher. N'ajoutez pas de membres.
  5. Cliquez sur Confirmer .
  6. Attribuez le groupe à trials avec accès au Workspace et accès à Databricks SQL . Voir Attribuer un groupe à un workspace.

Gardez ce groupe vide. Les membres d'un groupe affecté à un workspace héritent de son affectation de workspace et peuvent s'y connecter en leur nom. Dans l'étape suivante, vous accordez aux chercheurs l'autorisation Assume au lieu de l'appartenance.

Le rôle est attribué à trials avec accès Workspace et accès Databricks SQL , afin que les chercheurs puissent utiliser l’éditeur SQL et les fonctionnalités principales du workspace tout en agissant en tant que rôle. Pour savoir ce que chaque droit accorde, consultez Droits d’accès. Vous configurez séparément les privilèges de données et les autorisations de SQL Warehouse à l’étape 3.

Étape 2 : accorder aux chercheurs l'autorisation d'assumer le rôle​

Accordez l'autorisation Assumer à trial-researchers. Si vous utilisez les paramètres d'administrateur de workspace, vous devez disposer de l'autorisation Gérer sur role-trial-researcher.

  1. En tant qu'administrateur de compte, ouvrez Gestion des utilisateurs dans la console du compte.
  2. Dans le tab Groups , cliquez sur role-trial-researcher.
  3. Cliquez sur le tab Autorisations , puis cliquez sur Accorder l’accès .
  4. Recherchez et sélectionnez trial-researchers, sélectionnez Assume , puis cliquez sur Save .

Les chercheurs disposent désormais de l’autorisation Assume sans hériter des autorisations du rôle lorsqu’ils utilisent leur identité utilisateur.

Étape 3 : Accorder au rôle l'accès aux données d'essai​

En tant que propriétaire du catalogue ou utilisateur avec MANAGE sur trial_data, exécutez cette instruction dans un notebook ou l'éditeur SQL :

SQL
GRANT USE CATALOG, USE SCHEMA, SELECT ON CATALOG trial_data TO `role-trial-researcher`;

Ces autorisations au niveau du catalogue permettent au rôle de lire toutes les tables et vues actuelles et futures dans trial_data. Pour un accès plus restreint, remplacez l’autorisation au niveau du catalogue par USE CATALOG sur trial_data, USE SCHEMA sur le schéma requis et SELECT sur des tables spécifiques. Consultez Héritage des privilèges.

En tant qu'administrateur de workspace ou utilisateur avec Can manage sur le SQL warehouse, accordez au rôle l'accès au warehouse :

  1. Dans la barre latérale du Workspace, cliquez sur SQL Warehouse .
  2. Cliquez sur le menu kebab Icône de menu kebab. en regard du warehouse, puis cliquez sur Autorisations .
  3. Ajoutez role-trial-researcher avec Peut utiliser .

Le rôle hérite aussi des autorisations de ses groupes parents. Par default, il hérite des autorisations accordées au groupe système users du Workspace et au groupe système account users du compte. La modification d'une attribution partagée affecte les autres utilisateurs et les autres rôles qui en héritent. Voir Comment les autorisations de rôle s'appliquent.

Étape 4 : Entrer dans le workspace en tant que chercheur​

Un chercheur effectue ces étapes en utilisant sa propre connexion :

  1. Ouvrez le Workspace trials et Connexion. Si role-trial-researcher est le seul rôle que vous pouvez assumer, vous y accédez automatiquement avec ce rôle.
  2. Si vous pouvez assumer plusieurs rôles, sélectionnez role-trial-researcher dans le menu déroulant Assumer le rôle sur la page Vous devez assumer un rôle pour accéder à ce workspace , puis cliquez sur Continuer . Le menu répertorie les rôles que vous pouvez assumer dans trials.
  3. Vérifiez que role-trial-researcher s'affiche sous le nom du workspace dans la barre supérieure.

Étape 5 : Vérifier les résultats​

Le même chercheur poursuit avec ces vérifications :

  1. Ouvrez le sélecteur de rôle en cliquant sur le nom du workspace dans la barre supérieure et en survolant le workspace actuel. Votre identité utilisateur n’est pas disponible, vous ne pouvez donc pas basculer vers celle-ci. Vous pouvez basculer vers un autre rôle que vous êtes autorisé à assumer dans trials.

  2. Ouvrez l’éditeur SQL, sélectionnez le warehouse accordé à l’étape 3 et exécutez :

    SQL
    SELECT * FROM trial_data.research.observations LIMIT 10;

    La query aboutit en utilisant les autorisations du rôle.

Un autre utilisateur restant assigné à trials se connecte avec son propre compte et vérifie qu’il peut entrer en tant qu’identité utilisateur.

Le lecteur d’audit inspecte l’événement de query du chercheur dans system.access.audit: identity_metadata.run_as identifie le rôle d’autorisation et run_by identifie le chercheur qui a initié la requête. Les champs run_as_display_name et run_by_display_name correspondants contiennent leurs noms lisibles par l’homme. Les données d’audit sont mises à jour tout au long de la journée, de sorte qu’un événement récent peut ne pas apparaître immédiatement.

Optionnel : Accéder au workspace par programmation​

Un chercheur qui n'a pas d'affectation de workspace doit également assumer un rôle lorsqu'il s'authentifie avec le CLI Databricks. Le chercheur participant installe le CLI Databricks comme décrit dans Installer ou mettre à jour le CLI Databricks, puis se connecte en utilisant sa propre connexion et un profil nommé :

Bash
databricks auth login --host <workspace-url> --profile trial-researcher

Le chercheur sélectionne role-trial-researcher sous Autoriser en tant que.. dans le navigateur et clique sur Continuer . Ils utilisent --profile trial-researcher avec les commandes suivantes. Voir CLI Databricks.

Nettoyer​

Les administrateurs qui ont configuré le rôle, les privilèges de données et l'accès au warehouse suppriment les octrois et les affectations qu'ils ont créés pour ce tutoriel :

  1. Supprimez l'autorisation Assume octroyée par le tutoriel ainsi que l'affectation de Workspace du rôle. Conservez les autorisations ou les affectations utilisées par d'autres workloads.
  2. Supprimez les autorisations trial_data et warehouse du rôle créées pour ce tutoriel. Passez en revue les assets appartenant au rôle avant de le supprimer.

Étapes suivantes​