Tutoriel : Utiliser un rôle RBAC pour l'administration de workspace
Utilisez le contrôle d'accès basé sur les rôles (RBAC) pour séparer le travail quotidien des tâches qui nécessitent des autorisations d'administration de workspace dans Databricks. Les utilisateurs assument un rôle d'administration lorsque cela est nécessaire et reviennent à leur identité d'utilisateur par la suite, en gardant les autorisations administratives hors de leurs sessions quotidiennes.
Scénario
Les ingénieurs de fiabilité de site (SRE) dans sre-team ont un accès administrateur de workspace permanent via une appartenance directe ou héritée au groupe système admins du workspace. Vous créez un groupe role-workspace-admin vide, vous accordez l'autorisation sre-team pour l'assumer et vous ajoutez le rôle à admins.
Une fois le rôle testé, vous supprimez l’accès administrateur permanent pour les SRE que vous déplacez vers le rôle, tout en préservant leur accès quotidien au workspace. Les autres administrateurs de workspace conservent leur accès existant. Les SRE choisissent quand assumer le rôle et quand revenir à leur accès initial. Cette configuration ne configure pas les workflows d’approbation ni l’expiration automatique de l’accès élevé.
Prérequis
- Un workspace activé pour la fédération d’identités, avec RBAC activé. Voir Activer RBAC.
- Autorisations d'administrateur de compte ou d'administrateur de workspace pour créer le rôle, octroyer l'autorisation Assume et l'attribuer au workspace. Voir Qui peut gérer les groupes ?.
- Autorisations de l'administrateur de workspace pour gérer le groupe
adminsdu workspace et ses droits. - Un groupe de comptes contenant les SRE que vous souhaitez configurer. Ce didacticiel utilise
sre-team. Remplacez par votre propre nom de groupe. - Un SRE de
sre-teampouvant participer à la validation en utilisant sa propre connexion, séparée de celle de l’administrateur effectuant les modifications de configuration. - Un lecteur d’audit avec accès à
system.access.audit. Si le Workspace de test n'est pas activé pour le Unity Catalog, utilisez un Workspace activé pour le Unity Catalog dans le même compte et la même région cloud pour effectuer une query sur les événements d'audit. Voir Vérifier l’attribution d’audit.
Étape 1 : Créez le rôle
Pour ce tutoriel, créez un groupe de compte vide pour servir 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-workspace-admin. Ne pas ajouter de membres. - Cliquez sur Confirmer .
- Affectez le groupe directement au workspace avec Accès au workspace . Voir Attribuer un groupe à un workspace.
- En tant qu'administrateur de Workspace, Connexion au Workspace de test.
- 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 .
- Entrez
role-workspace-adminet sélectionnez Accès à Workspace . - Cliquez sur Ajouter . N'ajoutez pas de membres.
Cela attribue également le groupe directement au workspace et vous accorde la permission Manage sur celui-ci.
Laissez ce rôle vide. Une fois que vous avez ajouté le rôle à admins, un membre du rôle hérite des autorisations d’administrateur de workspace en tant qu’identité utilisateur.
L'autorisation Manage permet d'apporter des modifications à l'appartenance au rôle et aux octrois de l'autorisation Assume. Vérifiez l' Autorisations tab du rôle et limitez Manage aux administrateurs responsables du contrôle de son accès. Si les administrateurs de compte doivent contrôler ce rôle, créez-le dans la console de compte pour éviter d'accorder automatiquement Manage à un administrateur de workspace. Voir Qui peut gérer les groupes ?.
Créez un rôle d'administration distinct pour chaque Workspace afin que l'autorisation d'assumer un rôle n'accorde pas l'administration sur plusieurs Workspace.
Étape 2 : Accorder aux SRE l’autorisation d’assumer le rôle
Accorder l'autorisation Assumer à sre-team en utilisant l'une des deux méthodes :
- Account console
- Workspace admin settings
- En tant qu’administrateur de compte, ouvrez la console de compte et cliquez sur Gestion des utilisateurs .
- Sur le Groupes tab, cliquez sur
role-workspace-admin. - Cliquez sur l'onglet Autorisations tab, puis sur Accorder l'accès .
- Recherchez et sélectionnez
sre-team, sélectionnez Assumer et cliquez sur Enregistrer .
- En tant qu’administrateur de workspace avec l’autorisation de gérer le rôle, ouvrez Paramètres > Identité et accès dans le workspace de test.
- À côté de Groupes , cliquez sur Gérer , puis sélectionnez
role-workspace-admin. - Cliquez sur Autorisations , puis sur Accorder l'accès .
- Recherchez et sélectionnez
sre-team, sélectionnez Assumer et cliquez sur Enregistrer .
Les membres de sre-team peuvent désormais assumer le rôle. Pour modifier qui peut l’assumer, gérez l’appartenance de ce groupe ou son octroi de la permission Assume. Lorsque vous supprimez l’accès, vérifiez si d’autres autorisations ou appartenances permettent également à l’utilisateur d’assumer le rôle.
Étape 3 : Ajouter le rôle au groupe administrateur du Workspace
En tant qu'administrateur de workspace, ajoutez le rôle à admins:
- Dans le workspace, cliquez sur votre nom d'utilisateur dans la barre supérieure et sélectionnez Paramètres .
- Cliquez sur Identité et accès .
- À côté de Groupes , cliquez sur Gérer .
- Sélectionnez
admins. - Dans l' Membres tab, cliquez sur Ajouter des membres .
- Sélectionnez
role-workspace-admin, puis cliquez sur Confirmer .
Le rôle hérite des autorisations d'administrateur de workspace de admins. Les SRE ont l'autorisation d'assumer ce rôle sans en être membres.
Étape 4 : Vérifier l'accès au rôle et l'accès quotidien
Avant de modifier l'accès permanent aux administrateurs, l'un de vos SRE se connecte au workspace avec son propre compte et effectue ces vérifications :
- Cliquez sur le nom du workspace dans la barre supérieure et survolez le workspace actuel.
- Sélectionnez
role-workspace-admindans le sélecteur de rôle. - Vérifiez que le workspace se recharge avec le nom du rôle sous le nom du workspace.
- Ouvrez Paramètres > Identité et accès , puis cliquez sur Gérer à côté de Groupes . Vérifiez que vous pouvez ouvrir le Membres tab du groupe
admins. Cette vérification ne nécessite de modifier aucune appartenance. - Retournez au sélecteur de rôle et sélectionnez votre nom d'utilisateur.
En tant qu'administrateur du workspace, vérifiez également que sre-team est affecté au workspace avec les droits d'accès dont ses membres ont besoin pour leur travail quotidien :
- Accès au Workspace : Autorise l’accès aux fonctionnalités de base du workspace telles que les notebooks, les jobs, les modèles et les pipelines.
- Accès à Databricks SQL : Autorise l’accès aux fonctionnalités Databricks SQL, notamment aux tableaux de bord, aux queries et aux SQL Warehouse.
Si les SRE ne reçoivent ces droits que par le biais de admins, accordez-les explicitement à sre-team. Cela préserve leur accès quotidien après que vous ayez supprimé l'appartenance permanente à l'administrateur. Voir Droits d'accès.
Étape 5 : Supprimer l'accès administrateur permanent des SRE sélectionnés
En tant qu'admin du workspace, examinez l'appartenance directe et héritée des SRE sélectionnés dans admins:
- Ouvrez Paramètres > Identité et accès > Groupes > Gérer .
- Ouvrez
admins, puis son Membres tab. - Supprimez les adhésions directes des SRE sélectionnés et supprimez
sre-teams'il s'agit d'un membre direct. Gardezrole-workspace-adminet les administrateurs non associés. - Vérifiez les autres groupes auxquels appartiennent les SRE sélectionnés, y compris les groupes parents de ces groupes, qui leur donnent toujours un accès administrateur. Si un groupe partagé contient également des personnes qui doivent conserver l'accès administrateur, donnez à ces personnes un accès administrateur d'une autre manière avant de supprimer le groupe partagé de
admins. La modification de l’appartenance à un groupe de compte peut également affecter l’accès en dehors de ce workspace.
Conservez les affectations de Workspace quotidiennes des SRE et l'attribution de l'autorisation Assume de l'étape 2. La suppression de l'accès administrateur permanent nécessite de traiter chaque chemin vers admins, pas seulement une seule appartenance directe.
Étape 6 : Vérifier l’élévation et le retour
Une fois que vous avez supprimé l'accès administrateur permanent, le même SRE vérifie ces résultats dans sa session de navigateur :
- En agissant comme votre identité d'utilisateur, refresh le Workspace et vérifiez que les paramètres d'administration du Workspace cochés à l'étape 4 ne sont pas disponibles.
- Utilisez le sélecteur de rôle pour assumer
role-workspace-admin. - Vérifiez que vous pouvez ouvrir ces paramètres d'administrateur et voir les membres du groupe
admins. - Après avoir terminé la tâche administrative, utilisez le sélecteur de rôle pour sélectionner votre nom d'utilisateur.
- Vérifiez que ces paramètres d’administration sont à nouveau indisponibles. Votre accès quotidien au workspace reste disponible.
Le basculement change l'identité utilisée par cette session de navigateur. Cela ne modifie pas un profil CLI Databricks authentifié séparément et ne révoque pas ses jetons. Le rôle d’administrateur possède tous les assets que vous créez en agissant en tant que rôle.
Étape 7 : Vérifier l'attribution d'audit
Pour inspecter l'activité sous le rôle admin, exécutez cette query en tant que lecteur d'audit. Remplacez <workspace-id> par l'ID du workspace de test :
SELECT event_time, service_name, action_name,
identity_metadata.run_by, identity_metadata.run_by_display_name,
identity_metadata.run_as, identity_metadata.run_as_display_name
FROM system.access.audit
WHERE workspace_id = '<workspace-id>'
AND identity_metadata.run_as_display_name = 'role-workspace-admin'
AND event_date >= current_date() - INTERVAL 1 DAY
ORDER BY event_time DESC;
Vérifiez les événements de la session de test du SRE. identity_metadata.run_by identifie le SRE qui a initié chaque demande, et run_as identifie le rôle d'administration utilisé pour l'autorisation. Les filtres de query sur run_as_display_name, le nom lisible par l'homme du rôle. Les données d’audit sont mises à jour tout au long de la journée, un événement récent peut donc ne pas apparaître immédiatement. Voir Référence des métadonnées d'identité.
Optionnel : utilisez des profils CLI Databricks distincts
Pour effectuer un travail administratif avec le CLI Databricks, authentifiez-vous séparément pour les travaux quotidiens et administratifs. La vérification de gestion des jetons dans cette section nécessite que les jetons d'accès personnels soient activés et que la gestion des jetons soit disponible dans le workspace. Voir Surveiller et révoquer des jetons d’accès personnel.
Le SRE participant installe le Databricks CLI comme décrit dans Installer ou mettre à jour Databricks CLI. Ils se connectent en utilisant leur propre connexion, avec un profil nommé pour le travail quotidien et un autre pour le rôle d'admin :
databricks auth login --host <workspace-url> --profile everyday
databricks auth login --host <workspace-url> --profile ws-admin
Pour everyday, le SRE sélectionne son identité utilisateur sous Autoriser en tant que... dans le navigateur. Pour ws-admin, ils sélectionnent role-workspace-admin.
Le SRE compare cette commande d'administration en lecture seule en utilisant chaque profil :
databricks token-management list --profile everyday
databricks token-management list --profile ws-admin
Le profil everyday reçoit une erreur de permission. Le profil admin peut lister les métadonnées de jeton. Le SRE utilise --profile everyday pour les commandes everyday suivantes. La sélection de ce profil n'invalide pas le profil admin. Voir CLI Databricks.
Nettoyer
Conservez la configuration s’il s’agit du modèle d’accès que vous souhaitez utiliser. Pour un test temporaire, restaurez les appartenances admin d'origine des SRE avant de supprimer le rôle de admins ou de retirer l'autorisation Assume. Vérifiez les assets détenus par le rôle avant de le supprimer.
Étapes suivantes
-
- Changer les rôles RBAC
- Utilisez d’autres méthodes prises en charge pour assumer un rôle.
-
- Limites 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.
-
- Gérer les groupes Databricks
- Gérez l'appartenance au groupe, les attributions de workspace et l'autorisation Assume.