Premiers pas avec start RBAC
Configurez le contrôle d'accès basé sur les rôles (RBAC) dans Databricks afin que les utilisateurs et les Service Principal Databricks puissent assumer des rôles avec les autorisations dont ils ont besoin pour chaque tâche. Choisissez un groupe à utiliser en tant que rôle, accordez l'autorisation de l'assumer et configurez son accès. Pour le modèle d'autorisation, voir Contrôle d'accès basé sur les rôles (RBAC).
Exigences
- Un workspace activé pour la fédération d'identité. Voir Fédération d'identités.
- RBAC activé au niveau du compte et du workspace. Un administrateur de compte et un administrateur de workspace effectuent les étapes d'activation respectives.
- Autorisations d'administrateur de compte ou d'administrateur de Workspace pour créer des groupes et les assigner aux Workspace.
- Gérez la permission sur le groupe du rôle pour accorder ou révoquer la permission Assume. Les administrateurs de compte ont la permission Manage sur tous les groupes. Les administrateurs de workspace reçoivent Manage sur les groupes qu’ils créent. Voir Qui peut gérer les groupes ?.
- Autorisations d’administrateur du workspace pour gérer les droits d’accès du workspace d’un groupe existant.
- Autorisation d'accéder aux données, au compute et aux assets de workspace dont le rôle a besoin. Les autorisations requises dépendent des ressources que vous choisissez.
Différents administrateurs peuvent effectuer ces tâches. Les gestionnaires de groupe peuvent gérer les autorisations de groupe via l’API. Consultez Gérer les autorisations sur un groupe.
Activer le RBAC
RBAC est déjà activé pour la plupart des clients. Si vous n'êtes pas sûr qu'il soit activé pour votre compte et vos Workspace, vérifiez ces paramètres :
- En tant qu’administrateur de compte, assurez-vous que l’ activation au niveau du compte du contrôle d’accès basé sur les rôles (RBAC) est activée sur la page Prévisualisations du compte.
- En tant qu’administrateur de workspace, assurez-vous que le Contrôle d’accès basé sur les rôles (RBAC) est activé sur la page des aperçus du workspace.
Le paramètre de compte rend le paramètre de workspace disponible. Activez le RBAC dans chaque workspace où les utilisateurs doivent assumer des rôles.
Choisir ou créer un rôle
Dans Databricks, un rôle est implémenté en tant que groupe de compte. Vous pouvez utiliser un groupe créé dans Databricks ou un groupe externe provenant de votre fournisseur d'identité. Les groupes externes sont également des groupes de compte. Pour plus d'informations sur les sources de groupes et sur la différence entre les groupes de compte et les groupes locaux de workspace, voir Sources de groupes.
Décidez si le groupe doit avoir des membres :
- Les membres héritent des autorisations du groupe, y compris des autorisations de ses groupes parents, dans le cadre de leur propre identité. Les membres peuvent assumer le groupe en tant que rôle pour limiter une session aux autorisations du groupe et collaborer sur des assets appartenant au groupe.
- Vous pouvez accorder l'autorisation Assume directement à des non-membres sans les ajouter en tant que membres, afin qu'ils n'héritent pas des autorisations du groupe en tant que leur propre identité. Pour un modèle qui nécessite une prise de rôle délibérée pour accéder aux données, utilisez un groupe vide et gardez-le vide. Voir Tutoriel : Accès exclusif au modèle avec RBAC.
Pour créer un rôle local au compte :
- Account console
- Workspace admin settings
- En tant qu'administrateur de compte, Connexion à la console du compte.
- Dans la barre latérale, cliquez sur Gestion des utilisateurs .
- Dans le tab Groupes , cliquez sur Ajouter un groupe .
- Saisissez un nom pour le rôle, puis cliquez sur Confirmer .
- Ajoutez des membres uniquement s'ils doivent également hériter des autorisations du groupe en tant que leurs propres identités.
- En tant qu'administrateur de Workspace, Connexion au Workspace Databricks.
- 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 un nom pour le rôle et sélectionnez les droits dont il a besoin. Voir Configurer l'accès à Workspace.
- Cliquez sur Ajouter .
- Ajoutez des membres uniquement s'ils doivent également hériter des autorisations du groupe en tant que leurs propres identités.
Cela attribue également le groupe au workspace. Vous bénéficiez de l’autorisation Gérer sur le groupe, ce qui vous permet de gérer les membres et d’accorder l’autorisation Assumer.
Databricks recommande d’utiliser un préfixe cohérent, tel que role-, pour distinguer les groupes utilisés comme rôles. Par exemple, utilisez role-study-1 pour un rôle et trial-researchers pour un groupe dont les membres peuvent l’assumer.
Pour les procédures de synchronisation de groupe, consultez Gérer les groupes Databricks.
Optionnel : Utiliser l’API Account Groups
Vous pouvez aussi créer et gérer des groupes à l’aide de l’API Account Groups. Pour les Endpoint et les exemples, voir Gérer des groupes à l’aide de l’API.
Gérer l’autorisation d’assumer
Les utilisateurs et les Service Principal Databricks peuvent assumer un rôle lorsqu'ils disposent de l'autorisation Assume, directement ou par l'intermédiaire d'une appartenance à un groupe. Octroyez l'autorisation sur le groupe qui implémente le rôle. Les membres du groupe disposent automatiquement de l'autorisation Assume ; vous n'avez donc besoin d'octroyer explicitement des autorisations qu'aux non-membres.
Pour accorder l’autorisation Assumer, utilisez la console de compte ou les paramètres d’administration de workspace :
- Account console
- Workspace admin settings
- En tant qu'administrateur de compte, ouvrez Gestion des utilisateurs > Groupes et sélectionnez le groupe du rôle.
- Cliquez sur Autorisations , puis sur Accorder l'accès .
- Sélectionnez l’utilisateur, le Service Principal Databricks ou le groupe de comptes qui doit être autorisé à assumer le rôle.
- Sélectionnez Assumer , puis cliquez sur Enregistrer .
- En tant qu’administrateur de workspace avec l’autorisation Gérer sur le rôle, ouvrez Paramètres > Identité et accès .
- En regard de Groupes , cliquez sur Gérer , puis sélectionnez le groupe du rôle.
- Cliquez sur Autorisations , puis sur Accorder l'accès .
- Sélectionnez l’utilisateur, le Service Principal Databricks ou le groupe de comptes qui doit être autorisé à assumer le rôle.
- Sélectionnez Assumer , puis cliquez sur Enregistrer .
Lorsque vous accordez la permission Assumer à un groupe, ses membres peuvent assumer le rôle. Ils n’ont pas besoin d’être membres du rôle lui-même. Vous pouvez également accorder la permission Assumer directement à des utilisateurs individuels ou à des Services Principaux Databricks.
Pour révoquer l’autorisation Assumer, supprimez l’octroi applicable. Vérifiez si le principal peut toujours assumer le rôle via son appartenance au rôle ou à un autre groupe auquel l’autorisation Assumer a été accordée. La suppression d’un octroi direct ne supprime pas ces autres chemins.
Limitez la gestion sur le rôle aux administrateurs responsables de son adhésion et de ses autorisations. Un principal avec Gérer peut accorder l'autorisation Assumer à d'autres. Voir Gérer les autorisations sur un groupe pour les procédures de la console de compte et de l'administrateur Workspace, ou Accorder ou révoquer l'autorisation Assumer sur un groupe pour l'API de contrôle d'accès.
Configurer l'accès au workspace
Attribuez le rôle à chaque workspace où il doit être disponible. Les administrateurs de compte et les administrateurs de Workspace peuvent attribuer des groupes aux Workspace. Voir Attribuer un groupe à un workspace.
Chaque droit d'accès donne accès à un ensemble spécifique de fonctionnalités dans le workspace. Sélectionnez les droits dont le rôle a besoin :
- Accès au workspace : accorde l'accès aux fonctionnalités principales du workspace, telles que les notebooks et les jobs.
- Accès à Databricks SQL : Autorise l’accès aux fonctionnalités Databricks SQL, notamment aux tableaux de bord, aux queries et aux SQL Warehouse.
Voir Droits d'accès pour tous les droits d'accès, y compris l'accès des consommateurs, et la façon de les gérer. Sélectionnez explicitement les droits du rôle au lieu de vous fier aux droits default du workspace. Voir Présentation.
Décidez si les utilisateurs doivent également être affectés au workspace en tant que leurs propres identités :
- Les utilisateurs disposant d’une affectation de workspace directe ou héritée et d’un droit d’accès peuvent se connecter en leur nom propre et passer à un rôle qu’ils sont autorisés à assumer.
- Les utilisateurs sans attribution de workspace directe ou héritée doivent assumer un rôle attribué à ce workspace pour y entrer. Ils ont besoin de l'autorisation Assumer sur le rôle, et le rôle a besoin d'un droit d'accès. Consultez Tutoriel : Obliger les utilisateurs à assumer un rôle pour accéder aux Workspace.
L'autorisation Assume contrôle qui peut utiliser le rôle. Les affectations de workspace contrôlent où il est disponible, et les droits d’accès contrôlent les fonctionnalités de workspace qu’il peut utiliser. Accorder des privilèges de données et des autorisations sur les objets de compute et de workspace séparément.
Accorder l'accès aux ressources
Accorder au rôle les autorisations nécessaires à sa tâche :
- Données : accordez des privilèges Unity Catalog à l’aide de SQL ou de Catalog Explorer. La lecture d’une table nécessite
USE CATALOGsur son catalogue,USE SCHEMAsur son schéma etSELECTsur la table. Les privilèges tels queSELECTaccordés sur un catalogue ou un schéma s’appliquent également à ses objets enfants actuels et futurs. Voir Héritage des privilèges et Gérer les privilèges dans Unity Catalog. - Compute : Accordez l’autorisation d’utiliser la ressource de compute choisie. Pour un SQL Warehouse, accordez Can use pour autoriser le rôle à exécuter des query. Voir Gérer un SQL Warehouse. Pour un compute dédié assigné à un groupe, voir Accès au groupe de compute dédié.
- Objets du workspace : utilisez des listes de contrôle d’accès (ACL) pour accorder l’accès aux notebooks, aux jobs et aux autres objets du workspace. Voir Listes de contrôle d’accès.
Les rôles héritent des autorisations de leurs groupes parents. Par default, vos rôles héritent également des autorisations accordées au groupe système users du workspace et au groupe système account users du compte. La modification des attributions partagées affecte les autres utilisateurs et les rôles qui en héritent. Consultez Comment s'appliquent les autorisations de rôle.
Si les utilisateurs agissant en tant que rôle ne doivent pas partager les assets de workspace détenus par le rôle, configurez des contrôles de partage d'assets de workspace.
Utiliser et vérifier le rôle
Un utilisateur ou un Service Principal Databricks avec l'autorisation Assume s'authentifie en tant que rôle en utilisant une méthode dans Basculer les rôles RBAC. Vérifiez que le rôle peut accéder aux ressources requises et reçoit des erreurs d'autorisation pour les ressources en dehors de son accès prévu. Comparez ces résultats avec la même identité agissant sans le rôle.
Pour les données régies par le contrôle d'accès basé sur les attributs (ABAC), les politiques évaluent le rôle actif. Voir Utiliser RBAC avec ABAC pour le comportement de fonction d'identité et les modèles d'utilisation combinée.
Vérifier l'attribution d'audit
Query system.access.audit à partir d'un Workspace activé pour Unity Catalog dans le même compte et la même région cloud que le Workspace où vous avez testé le rôle. Le lecteur d'audit a besoin de USE CATALOG sur system, de USE SCHEMA sur system.access, de SELECT sur system.access.audit et de l'autorisation d'utiliser le compute de query. Voir Accorder l'accès aux tables système.
Les champs de métadonnées d’identité distinguent les identités impliquées dans un événement :
run_by: l’identité qui a initié l’événement.run_as: l'identité utilisée pour l'autorisation.run_by_display_nameetrun_as_display_name: les noms correspondants lisibles par l'homme.
Pour les demandes interactives effectuées lors de l'假設 d'un rôle, run_by identifie l'utilisateur et run_as identifie le rôle. Pour les charges de travail de job, run_by identifie le Service Principal Databricks de l'application du service Jobs. Voir Définir l'exécution comme un groupe.
Filtrez par workspace_id et event_date pour localiser votre activité de test. Les données de la table système d’audit sont mises à jour tout au long de la journée et ne prennent pas en charge le monitoring en temps réel. Si un événement récent est manquant, vérifiez à nouveau plus tard. Voir Référence de la table système du log d’audit et Référence des tables système.
Ressources supplémentaires
Choisissez un tutoriel pour une procédure complète d'installation et de vérification :
- Accès exclusif au modèle.
- Demander aux utilisateurs d’assumer un rôle pour accéder au workspace.
- Définir l'accès d'un agent d'IA.
- Utiliser un rôle RBAC pour l’administration d’un workspace.
Avant d'appliquer un rôle à d'autres charges de travail, consultez les Limitations du contrôle d'accès basé sur les rôles (RBAC).