Commencez avec RBAC

Mettez en place le contrôle d’accès basé sur les rôles (RBAC) dans Azure Databricks afin que les utilisateurs et les principaux de service puissent se voir attribuer des rôles avec les autorisations nécessaires pour chaque tâche. Choisissez un groupe à utiliser comme 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).

Requirements

  • Un espace de travail activé pour la fédération d’identités. Voir Fédération des identités.
  • RBAC activé au niveau du compte et de l’espace de travail. Un administrateur de compte et un administrateur d’espace de travail effectuent les étapes d’activation respectives.
  • Des permissions d’administrateur de compte ou d’administrateur d’espace de travail pour créer des groupes et les assigner aux espaces de travail.
  • Gérer la permission sur le groupe du rôle pour accorder ou révoquer l’autorisation Assume. Les administrateurs de compte ont l’autorisation Gérer sur tous les groupes. Les administrateurs d’espace de travail reçoivent l’autorisation Gérer sur les groupes qu’ils créent. Voir Qui peut gérer des groupes ?.
  • Autorisations d’administrateur d’espace de travail pour gérer les droits d’espace de travail d’un groupe existant.
  • Permission d’accorder l’accès aux données, aux ressources de calcul et de l’espace de travail 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 permissions de groupe via l’API. Consultez Gérer les autorisations sur un groupe.

Activer 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 espaces de travail, vérifiez ces paramètres :

  1. En tant qu’administrateur de compte, assurez-vous que l’activation du contrôle d’accès basé sur le rôle (RBAC) au niveau du compte est activée sur la page des Aperçus du compte.
  2. En tant qu’administrateur d’espace de travail, assurez-vous que le contrôle d’accès basé sur les rôles (RBAC) est activé sur la page Aperçus de l’espace de travail.

Le paramètre du compte rend le paramètre espace de travail disponible. Activez le RBAC dans chaque espace de travail où les utilisateurs doivent se voir attribuer des rôles.

Choisir ou créer un rôle

Dans Azure Databricks, un rôle est implémenté en tant que groupe de compte. Vous pouvez utiliser un groupe créé dans Azure Databricks ou un groupe externe depuis Microsoft Entra ID. Les groupes externes sont aussi des groupes de comptes. Pour les sources de groupe et la différence entre les groupes de compte et les groupes locaux de l’espace de travail, voir Sources de groupe.

Décidez si le groupe doit avoir des membres :

  • Les membres héritent des autorisations du groupe, y compris celles de ses groupes parents, dans le cadre de leur propre identité. Les membres peuvent endosser le rôle du groupe afin de limiter une session aux permissions du groupe et collaborer sur les ressources détenues par le groupe.
  • Vous pouvez accorder la permission Assume directement aux non-membres sans les ajouter comme membres, afin qu’ils n’héritent pas des autorisations du groupe comme identité propre. Pour un pattern nécessitant une prise de rôle délibérée pour accéder aux données, utilisez un groupe vide et gardez-le vide. Voir le tutoriel : Accès exclusif aux modèles avec RBAC.

Pour créer un rôle local au compte:

Console de compte

  1. En tant qu’administrateur de compte, connectez-vous à la console de compte.
  2. Dans la barre latérale, cliquez sur Gestion des utilisateurs.
  3. Dans l’onglet Groupes, cliquez sur Ajouter un groupe.
  4. Saisissez un nom pour le rôle, puis cliquez sur Confirmer.
  5. Ajoutez des membres uniquement s’ils doivent aussi hériter des autorisations du groupe en tant qu’identités propres.

Paramètres d’administrateur de l’espace de travail

  1. En tant qu’administrateur d’espace de travail, connectez-vous à l’espace de travail Azure Databricks.
  2. Cliquez sur votre nom d’utilisateur dans la barre supérieure, puis sélectionnez Paramètres.
  3. Cliquez sur l’onglet Identité et accès .
  4. À côté de Groupes, cliquez sur Gérer.
  5. Cliquez sur Ajouter un groupe, puis sur Nouveau groupe.
  6. Saisissez un nom pour le rôle et sélectionnez les habilitations nécessaires. Voir Configurer l’accès à l’espace de travail.
  7. Cliquez sur Ajouter.
  8. Ajoutez des membres uniquement s’ils doivent aussi hériter des autorisations du groupe en tant qu’identités propres.

Cela assigne également le groupe à l’espace de travail. Vous recevez l’autorisation Gérer sur le groupe, qui vous permet de gérer les membres du groupe et d’accorder l’autorisation Endosser.

Databricks recommande d’utiliser un préfixe cohérent, tel que role-, pour distinguer les groupes utilisés comme rôles. Par exemple, utiliser role-study-1 pour un rôle et trial-researchers pour un groupe dont les membres peuvent assumer ce rôle.

Pour les procédures de synchronisation de groupes, voir Gérer les groupes Azure Databricks.

Optionnel : Utilisez l’API des groupes de comptes

Vous pouvez également créer et gérer des groupes via l’API des groupes de compte. Pour les points de terminaison et exemples, voir Gérer les groupes via l’API.

Gérer l’autorisation Assume

Les utilisateurs et les principaux de service peuvent endosser un rôle lorsqu’ils disposent de la permission Assume, soit directement, soit par l’appartenance à un groupe. Accordez l’autorisation au groupe qui implémente le rôle. Les membres du groupe ont automatiquement la permission Assume, donc vous n’avez besoin que d’autorisations explicites pour les non-membres.

Pour accorder la permission Assume, utilisez soit la console du compte, soit les paramètres d’administration de l’espace de travail :

Console de compte

  1. En tant qu’administrateur de compte, ouvrez Gestion des utilisateurs> et sélectionnez le groupe du rôle.
  2. Cliquez sur Autorisations, puis sur Accorder l’accès.
  3. Sélectionnez l’utilisateur, le principal du service ou le groupe de compte qui devrait pouvoir endosser ce rôle.
  4. Sélectionnez Assumer, puis cliquez sur Enregistrer.

Paramètres d’administrateur de l’espace de travail

  1. En tant qu’administrateur d’espace de travail avec la permission de gérer le rôle, ouvrez les paramètres>Identité et accès.
  2. À côté de Groupes, cliquez sur Gérer, puis sélectionnez le groupe du rôle.
  3. Cliquez sur Autorisations, puis sur Accorder l’accès.
  4. Sélectionnez l’utilisateur, le service principal ou le groupe de comptes qui devrait pouvoir endosser ce rôle.
  5. Sélectionnez Assume, puis cliquez sur Enregistrer.

Lorsque vous accordez l’autorisation `Assume` à un groupe, ses membres peuvent endosser ce rôle. Ils n’ont pas besoin d’être membres du rôle lui-même. Vous pouvez également accorder directement l’autorisation Assumer à des utilisateurs individuels ou à des principaux de service.

Pour révoquer l’autorisation Assume, retirez l’autorisation applicable. Vérifiez si le principal peut toujours assumer le rôle par appartenance au rôle ou à un autre groupe disposant de l’autorisation Assume. Supprimer une attribution directe ne supprime pas ces autres chemins.

Limiter la gestion du rôle aux administrateurs responsables de ses membres et de ses autorisations. Un principal avec Manage peut accorder l’autorisation d’Assume à d’autres. Voir Gérer les autorisations sur un groupe pour les procédures de gestion de la console de compte et de l’administration de l’espace de travail, ou Accorder ou révoquer l’autorisation Assume sur un groupe pour l’API d’Access Control.

Configurer l’accès à l’espace de travail

Attribuez le rôle à chaque espace de travail où il devrait être disponible. Les administrateurs de compte et d’espaces de travail peuvent attribuer des groupes à des espaces de travail. Voir Affecter un groupe à un espace de travail.

Chaque droit d’accès accorde l’accès à un ensemble spécifique de fonctionnalités dans l’espace de travail. Sélectionnez les droits nécessaires pour le rôle :

  • Accès à l’espace de travail : Accorde l’accès aux fonctionnalités principales de l’espace de travail telles que les notebooks et les jobs.
  • Accès Databricks SQL : accorde l’accès aux fonctionnalités Databricks SQL, notamment les tableaux de bord, les requêtes et les entrepôts SQL.

Consultez les droits d’accès pour tous les droits d’accès, y compris l’accès des consommateurs, et comment les gérer. Sélectionnez explicitement les droits du rôle au lieu de vous fier aux droits par défaut de l’espace de travail. Voir Vue d’ensemble.

Décidez si les utilisateurs doivent également être assignés à l’espace de travail sous leur propre identité :

  • Les utilisateurs disposant d’une attribution d’espace de travail directe ou héritée et d’une habilitation d’accès peuvent se connecter en leur nom propre et passer à un rôle qu’ils ont la permission d’assumer.
  • Les utilisateurs sans attribution directe ou héritée d’espace de travail doivent se voir attribuer un rôle pour cet espace de travail afin d’y accéder. Ils ont besoin de l’autorisation Assume sur le rôle, et le rôle a besoin d’un droit d’accès. Voir le tutoriel : Exiger que les utilisateurs assument le rôle pour l’accès à l’espace de travail.

L’autorisation Assumer un rôle contrôle qui peut utiliser ce rôle. Les affectations d’espace de travail contrôlent où il est attribué, et les droits d’accès contrôlent les fonctionnalités de l’espace de travail qu’il peut utiliser. Accordez séparément les privilèges de données et les autorisations sur les objets de calcul et de l’espace de travail.

Accorder l’accès aux ressources

Accordez au rôle les autorisations nécessaires pour sa tâche :

  • Données : Accorder des privilèges du catalogue Unity en utilisant SQL ou l’Explorateur de catalogues. La lecture d’une table nécessite USE CATALOG sur son catalogue, USE SCHEMA sur son schéma et SELECT sur la table. Des privilèges tels que ceux SELECT accordés sur un catalogue ou un schéma s’appliquent également à ses objets enfants actuels et futurs. Voir Héritage de privilèges et Gestion des privilèges dans Unity Catalog.
  • Compute : Accorder la permission d’utiliser la ressource de calcul choisie. Pour un entrepôt SQL, accordez Can use pour permettre au rôle d’exécuter des requêtes. Consultez Gérer un entrepôt SQL. Pour le calcul dédié assigné à un groupe, voir Accès au groupe de calcul dédié.
  • Objets de l’espace de travail : Utilisez des listes de contrôle d’accès (ACL) pour accorder l’accès aux notebooks, aux jobs et aux autres objets de l’espace de travail. Consultez Listes de contrôle d’accès.

Les rôles héritent des autorisations de leurs groupes parents. Par défaut, vos rôles héritent également des permissions accordées au groupe système de l’espace de travail users et au groupe système du compte account users. Modifier les autorisations partagées affecte d’autres utilisateurs et les rôles qui en héritent. Voir comment les autorisations de rôle s’appliquent.

Si les utilisateurs ayant ce rôle ne doivent pas partager les ressources de l’espace de travail appartenant au rôle, configurez les contrôles de partage des ressources de l’espace de travail.

Utilisez et vérifiez le rôle

Un utilisateur ou un principal de service avec l’autorisation Assume s’authentifie avec ce rôle en utilisant une méthode dans Switch RBAC roles. Vérifiez que le rôle peut accéder aux ressources requises et reçoit des erreurs d’autorisation pour des ressources en dehors de son périmètre d’accès prévu. Comparez ces résultats avec la même identité sans ce 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 la fonction identité et les motifs d’usage combiné.

Vérification de l’attribution de l’audit

Interrogez system.access.audit depuis un espace de travail compatible avec Unity Catalog dans le même compte et la même région cloud que l’espace de travail où vous avez testé le rôle. Le lecteur d’audit a besoin de USE CATALOG sur system, USE SCHEMA sur system.access, SELECT sur system.access.audit, et de l’autorisation d’utiliser query compute. Consultez Octroyer un 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_name et run_as_display_name: les noms lisibles par l’humain correspondants.

Pour les requêtes interactives effectuées en assumant un rôle, run_by identifie l’utilisateur et run_as identifie le rôle. Pour les charges de travail des travaux, run_by identifie le principal de service d’application du service Jobs. Voir Définir l’exécution en tant que groupe.

Filtrez par workspace_id et event_date pour localiser votre activité de test. Les données de la table du système d’audit sont mises à jour tout au long de la journée et ne permettent pas une surveillance en temps réel. Si un événement récent manque, vérifiez à nouveau plus tard. Voir la référence de la table système du journal d’audit et la référence aux tables système.

Ressources supplémentaires

Choisissez un tutoriel pour une procédure complète de configuration et de vérification :

Avant d’appliquer un rôle à d’autres charges de travail, examinez les limitations du contrôle d’accès basé sur les rôles (RBAC).