Aller au contenu principal

Basculer les rôles RBAC

Vous pouvez assumer un rôle avec un contrôle d'accès basé sur les rôles (RBAC) dans Databricks de plusieurs manières. Les autorisations du rôle s'appliquent aux requêtes ou aux opérations de compute effectuées en tant que ce rôle. La portée dépend de la méthode : changer de rôle dans le workspace modifie la session du navigateur, tandis que l'authentification d'un profil Databricks CLI ou la connexion au compute de groupe affecte ce profil ou cette session de compute.

Conditions​

Pour assumer un rôle, vous devez avoir l'autorisation « Assumer » sur celui-ci. Vous pouvez recevoir l'autorisation « Assumer » directement, par l'intermédiaire d'un groupe disposant de cette autorisation ou par l'intermédiaire de votre appartenance au groupe qui implémente le rôle. Le rôle doit être attribué au workspace avec les droits d'accès dont il a besoin. Voir Configurer l'accès au workspace.

important

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. Modifier une autorisation partagée affecte les autres utilisateurs et rôles qui en héritent. Voir Comment les autorisations de rôle s'appliquent. Les droits d'accès sont configurés séparément. Voir Configurer l'accès au workspace.

Sélecteur de rôles dans le workspace​

Utilisez le sélecteur de rôles pour assumer un rôle sur l'ensemble du Workspace. Tous les accès, autorisations, droits de propriété et actions sont exercés en tant que rôle pendant la durée de la session.

  1. Dans le Databricks Workspace, cliquez sur le nom du Workspace dans le coin supérieur droit de la barre supérieure.
  2. Survolez le workspace actuel (l'élément supérieur du menu) pour révéler le sous-menu du sélecteur de rôle.
  3. Dans le sous-menu, cliquez sur le rôle que vous souhaitez assumer.

L'interface utilisateur se recharge et l'identité affichée sous le nom du workspace passe au rôle que vous avez sélectionné.

Pour revenir à votre identité d'utilisateur, ouvrez le même sous-menu et sélectionnez votre nom d'utilisateur. Si vous avez accédé au workspace en assumant un rôle parce que vous n'y êtes pas affecté, votre nom d'utilisateur n'est pas disponible pour la sélection. Voir Quand vous devez assumer un rôle pour accéder à un workspace.

remarque

Si vous ne voyez pas le sous-menu de basculement de rôle, vérifiez que vous êtes membre d'un groupe affecté au workspace ou que l'autorisation « Assume » vous a été accordée sur un groupe affecté au workspace. Voir Gérer les autorisations sur un groupe.

Lorsque vous devez assumer un rôle pour accéder à un workspace​

Si vous n'êtes pas affecté à un workspace, soit directement, soit par l'appartenance à un groupe, mais que vous disposez de l'autorisation « Assume » sur un groupe affecté au workspace, vous devez endosser un rôle pour entrer dans le workspace. Cela dépend de votre propre affectation à un workspace, et non d'un paramètre de workspace ; les autres utilisateurs affectés au même workspace y entreront donc toujours en tant qu'eux-mêmes.

Pour obtenir des instructions de configuration et savoir comment saisir un rôle, voir Tutoriel : Exiger des utilisateurs qu'ils endossent un rôle pour accéder au workspace.

Vous pouvez assumer un rôle directement à partir de l'URL du Workspace en ajoutant le parameter de query aid (ID d'assomption) défini sur l'ID du groupe : aid=<group-id>. L'ouverture de cette URL vous authentifie en tant que votre identité d'utilisateur, comme d'habitude, puis assume automatiquement le rôle, vous n'avez donc pas besoin d'utiliser le sélecteur de rôle.

Par exemple, pour ouvrir un workspace agissant déjà en tant que rôle :

Text
https://<workspace-url>/?o=<workspace-id>&aid=<group-id>

Cela est utile pour ajouter en favori ou partager un link qui atterrit directement dans un rôle. Databricks conserve le parameter aid lorsque vous naviguez dans le Workspace, afin que vous restiez dans le rôle pendant la session. Le passage à un workspace différent l'efface. Le rôle est un groupe de compte et doit être attribué à chaque workspace où vous l'utilisez.

Pour récupérer l’ID d’un groupe, utilisez l’ API des groupes de compte. Pour changer de rôle ou revenir à votre identité d’utilisateur après avoir ouvert le link, utilisez le changeur de rôle.

Compute dédié affecté à un groupe​

Lorsque vous vous connectez à une ressource de compute dédiée assignée à un groupe, les opérations utilisant le principal assigné au compute utilisent les autorisations de ce groupe. Il n’est pas nécessaire de changer de rôle dans l’interface utilisateur du workspace au préalable.

Le workspace doit être activé pour Unity Catalog et le compute doit utiliser Databricks Runtime 15.4 ou une version supérieure. Le groupe a également besoin d'un accès aux notebooks et aux autres ressources utilisées sur le compute. Les opérations gérées par l'environnement de notebook, telles que %run, utilisent les autorisations de l'utilisateur plutôt que celles du groupe. Voir Accès dédié aux groupes de compute pour la configuration et les limitations.

CLI Databricks​

Lorsque vous utilisez l'authentification OAuth utilisateur-à-machine (U2M) avec la CLI Databricks, celle-ci ouvre votre navigateur web pour terminer le flux d'authentification. Si vous disposez de l'autorisation Assume sur un ou plusieurs rôles, vous choisissez dans le navigateur de vous authentifier en tant que votre propre identité utilisateur ou en tant que l'un de ces rôles. Si vous n'êtes pas affecté au workspace, vous ne pouvez pas vous authentifier en tant que votre propre identité et devez sélectionner un rôle. Voir Quand vous devez assumer un rôle pour accéder à un workspace. Installez la CLI Databricks avant de start. Voir Installer ou mettre à jour la CLI Databricks. Pour start le flux de connexion, exécutez :

Bash
databricks auth login --host <workspace-url> --profile <profile-name>

Une fois le flux de connexion terminé, Databricks CLI enregistre un profil de configuration et gère des jetons OAuth à courte durée de vie. Les commandes utilisant ce profil s’exécutent avec le rôle que vous avez sélectionné. Le basculement entre les rôles dans l’interface utilisateur du Workspace ne modifie pas l’identité de ce profil. Par exemple :

Bash
databricks warehouses list --profile <profile-name>

Pour plus de détails sur l’authentification de la CLI Databricks, consultez Authentification pour la CLI Databricks.

API (jetons d’accès OAuth)​

Vous pouvez générer un jeton d'accès OAuth au niveau du workspace pour effectuer des appels d'API en tant que rôle. Les scopes OAuth du jeton limitent les APIs qu'il peut appeler, et les autorisations du rôle déterminent son accès aux ressources.

Pour générer un jeton avec une portée de rôle, exécutez databricks auth login comme décrit dans Databricks CLI et sélectionnez le rôle dans votre navigateur web. Récupérer un jeton d'accès pour le profil :

Bash
databricks auth token --profile <profile-name>

Utilisez le access_token de la réponse dans l’en-tête Authorization: Bearer de la requête API. Un jeton copié dans une autre application ne refresh pas de lui-même. Voir jeton d’authentification Databricks.

Pour un flux U2M manuel, ajoutez assume_group=<group-id> à l'URL d'autorisation du workspace. Voir Générer un code d'autorisation au niveau du workspace.

Pour un processus automatisé utilisant un service principal Databricks, incluez assume_group=<group-id> dans la demande de token de workspace machine-à-machine (M2M). Le service principal Databricks et le rôle doivent être assignés au workspace. Les demandes de token au niveau du compte ne prennent pas en charge l'assume role. Consultez Assumer un rôle et Didacticiel : définir la portée de l'accès d'un agent IA avec RBAC.

Outils BI tiers​

Les outils BI tiers qui prennent en charge OAuth (comme Tableau et Power BI) peuvent s'autoriser en tant que rôle. Après l'autorisation, les queries envoyées via cette connexion utilisent les permissions du rôle. Le rôle doit avoir la permission d'utiliser le compute sélectionné et d'accéder aux données query. Suivez la configuration de l'authentification et du compute prise en charge par l'outil. Voir Databricks ODBC et JDBC Drivers.

Pour les problèmes connus affectant les outils BI et les drivers lorsqu’ils agissent en tant que rôle, consultez Known issues.

Que se passe-t-il lorsque vous assumez un rôle ?​

Lorsque vous utilisez le sélecteur de rôle du workspace :

  • Notebooks et queries : exécuter en tant que rôle. Les autorisations du rôle régissent les query interactives et les opérations Unity Catalog effectuées en tant que rôle.
  • Jobs : lorsque vous créez un job en agissant en tant que rôle, le paramètre Exécuter en tant que du job est le rôle. Vous pouvez également définir le paramètre Exécuter en tant que d’un job sur un groupe sans l’assumer au préalable. Voir Définir l’exécution en tant que groupe.
  • Assets du Workspace : Le rôle est propriétaire de tous les assets que vous créez (Notebooks, queries SQL, SQL Warehouse, Jobs).
  • Logs d’audit : distinguez l’identité qui a lancé un événement (identity_metadata.run_by) de l’identité utilisée pour l’autorisation (identity_metadata.run_as). Pour les demandes interactives, celles-ci identifient respectivement votre identité utilisateur et le rôle. Les workloads de Job enregistrent le service principal Databricks de l’application du service Jobs sous la forme run_by. Consultez Vérifier l’attribution d’audit.

Les exécutions de job utilisent l’identité configurée "Exécuter en tant que". Les tâches de query peuvent également dépendre des paramètres de partage de l’asset SQL, et le compute dédié peut utiliser son principal assigné. Voir Définir l’exécution en tant que groupe.

Pour les fonctionnalités non prises en charge ou partiellement prises en charge lorsque vous agissez en tant que rôle, consultez les limites du contrôle d'accès basé sur les rôles (RBAC).

Ressources supplémentaires​