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
MANAGEsur, 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.observationset le workspacetrials. Substituez vos propres noms tout au long du processus. - Les utilisateurs dans
trial-researchersexistent dans votre compte Databricks mais ne sont pas assignés au workspacetrials, que ce soit directement ou par le biais d'une appartenance à un groupe, y compris des groupes imbriqués. - Un chercheur de
trial-researcherset 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.auditpour 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.
- Account console
- Workspace admin settings
- En tant qu'administrateur de compte, Connexion à la console de compte.
- Dans la barre latérale, cliquez sur Gestion des utilisateurs .
- Dans le Groupes tab, cliquez sur Ajouter un groupe .
- Entrez
role-trial-researcher. N'ajoutez pas de membres. - Cliquez sur Confirmer .
- Attribuez le groupe à
trialsavec accès au Workspace et accès à Databricks SQL . Voir Attribuer un groupe à un workspace.
- En tant qu'administrateur de Workspace, Connexion au Workspace
trials. - Cliquez sur votre nom d'utilisateur dans la barre supérieure et sélectionnez Paramètres .
- Cliquez sur le tab Identité et accès .
- À côté de Groupes , cliquez sur Gérer .
- Cliquez sur Ajouter un groupe , puis sur Ajouter un nouveau .
- Saisissez
role-trial-researcheret sélectionnez Accès au workspace et Accès à Databricks SQL . - Cliquez sur Ajouter . N'ajoutez pas de membres.
La création du groupe à partir des paramètres d'administration du workspace l'assigne également à trials et vous accorde l'autorisation de gestion sur le groupe.
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.
- Account console
- Workspace admin settings
- En tant qu'administrateur de compte, ouvrez Gestion des utilisateurs dans la console du compte.
- Dans le tab Groups , cliquez sur
role-trial-researcher. - Cliquez sur le tab Autorisations , puis cliquez sur Accorder l’accès .
- Recherchez et sélectionnez
trial-researchers, sélectionnez Assume , puis cliquez sur Save .
- En tant qu'administrateur de workspace, ouvrez Paramètres > Identité et accès dans
trials. - À côté de Groupes , cliquez sur Gérer , puis sélectionnez
role-trial-researcher. - Cliquez sur le tab Autorisations , puis cliquez sur Accorder l’accès .
- 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 :
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 :
- Dans la barre latérale du Workspace, cliquez sur SQL Warehouse .
- Cliquez sur le menu kebab
en regard du warehouse, puis cliquez sur Autorisations .
- Ajoutez
role-trial-researcheravec 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 :
- Ouvrez le Workspace
trialset Connexion. Sirole-trial-researcherest le seul rôle que vous pouvez assumer, vous y accédez automatiquement avec ce rôle. - Si vous pouvez assumer plusieurs rôles, sélectionnez
role-trial-researcherdans 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 danstrials. - Vérifiez que
role-trial-researchers'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 :
-
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. -
Ouvrez l’éditeur SQL, sélectionnez le warehouse accordé à l’étape 3 et exécutez :
SQLSELECT * 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é :
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 :
- 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.
- Supprimez les autorisations
trial_dataet warehouse du rôle créées pour ce tutoriel. Passez en revue les assets appartenant au rôle avant de le supprimer.
Étapes suivantes
-
- Tutoriel : Accès exclusif au modèle avec RBAC
- Gardez les données de chaque projet, client ou cas d'utilisation séparées en exigeant l'adoption délibérée de rôles, y compris lorsque les utilisateurs peuvent entrer dans un workspace en tant qu'eux-mêmes.
-
- Changer de rôle RBAC
- Assumez un rôle en utilisant l'interface utilisateur du workspace, l'interface CLI de Databricks ou une autre méthode prise en charge.
-
- Limitations du contrôle d'accès basé sur les rôles (RBAC)
- Vérifiez quelles fonctionnalités ne sont pas prises en charge ou se comportent différemment lorsque vous agissez en tant que rôle.