Gérer les identités, les autorisations et les privilèges pour les pipelines

Les identités, les autorisations et les privilèges contrôlent qui peut exécuter, gérer et interroger des pipelines et les données qu’ils produisent.

Databricks recommande d’utiliser Unity Catalog pour tous les nouveaux pipelines. Par défaut, les vues matérialisées et les tables de diffusion en continu créées par les pipelines configurés avec le catalogue Unity ne peuvent être interrogées que par le propriétaire du pipeline. Consultez Utiliser le catalogue Unity avec des pipelines.

Si vos pipelines publient des jeux de données dans un metastore Hive hérité, consultez Utiliser des pipelines Lakeflow avec un metastore Hive hérité.

Pour connaître les meilleures pratiques générales sur les configurations d’identité, consultez les meilleures pratiques relatives à l’identité.

Quelle identité est utilisée pour les mises à jour de pipeline ?

Les pipelines traitent les mises à jour en utilisant l’identité de l’utilisateur run-as. Par défaut, l’utilisateur d’exécution est le créateur du pipeline, mais vous pouvez le remplacer par un autre utilisateur ou un principal de service. Consultez Définir l’utilisateur d’exécution.

Databricks recommande de définir l’utilisateur d’exécution comme principal de service, afin que les mises à jour du pipeline ne soient pas liées au compte d’un utilisateur individuel. Consultez Principaux de service.

Qui peut exécuter une mise à jour de pipeline ?

Les mises à jour de pipeline peuvent être exécutées par n’importe quel utilisateur ou principal de service avec les autorisations CAN RUN, CAN MANAGE ou IS OWNER.

Qui peut voir un pipeline et ses résultats ?

Pour ouvrir un pipeline et afficher ses détails, un utilisateur a besoin au moins de l’autorisation CAN VIEW sur le pipeline. Pour obtenir la liste complète des niveaux d’autorisation de pipeline et les capacités qu’ils accordent, consultez les listes de contrôle d’accès des pipelines Lakeflow.

Pour afficher le pipeline sous-jacent à une table de streaming ou à une vue matérialisée, un utilisateur non administrateur a également besoin du privilège REFRESH sur cette table de streaming ou cette vue matérialisée, en plus des autorisations dont il dispose sur le pipeline. Sans le privilège REFRESH, l’URL du pipeline affiche Pipeline non disponible.

Configurer les autorisations de pipeline

Vous devez disposer de l’autorisation CAN MANAGE ou de l’autorisation IS OWNER sur le pipeline pour gérer les autorisations. Les pipelines utilisent des listes de contrôle d’accès (ACL) pour contrôler les autorisations. Pour obtenir la liste complète des autorisations et de leurs capacités, consultez les listes de contrôle d’accès des pipelines Lakeflow.

  1. Dans la barre latérale, cliquez sur Travaux et pipelines.
  2. Sélectionnez le nom d’un pipeline.
  3. Cliquez sur Partager. La boîte de dialogue Paramètres des autorisations s’affiche.
  4. Cliquez sur Sélectionner un utilisateur, un groupe ou un principal de service... et sélectionnez un utilisateur, un groupe ou un principal de service.
  5. Sélectionnez une autorisation dans la liste déroulante des autorisations.
  6. Cliquez sur Ajouter.
  7. Cliquez sur Enregistrer.

Modifier le propriétaire du pipeline

Par défaut, le propriétaire du pipeline est également l’utilisateur d’exécution sous lequel les mises à jour du pipeline s’exécutent. La modification du propriétaire modifie l’identité utilisée pour les futures mises à jour.

Si vous souhaitez modifier l’identité sous laquelle les mises à jour du pipeline s’exécutent sans changer le propriétaire, définissez plutôt l’utilisateur d’exécution. Consultez Définir l’utilisateur d’exécution.

Pour modifier le propriétaire d’un pipeline, vous devez être à la fois administrateur de metastore et administrateur d’espace de travail. Modifiez le propriétaire à l’aide de l’interface utilisateur ou de l’API REST.

Utiliser l’interface utilisateur

  1. Dans la barre latérale, cliquez sur Travaux et pipelines.
  2. Sélectionnez le nom du pipeline.
  3. Cliquez sur Partager. La boîte de dialogue Paramètres des autorisations s’affiche.
  4. Effacez le propriétaire actuel, puis sélectionnez le nouveau propriétaire. Le propriétaire peut être un utilisateur ou un principal de service. Databricks recommande d’utiliser un principal de service. Consultez Principaux de service.
  5. Cliquez sur Enregistrer.

Utiliser l’API REST

Si le contrôle du propriétaire n’est pas disponible dans l’interface utilisateur, par exemple pour certains pipelines gérés en interne, changez le propriétaire à l’aide de l’opération d’API REST Définir les autorisations du pipeline. Spécifiez le user_name du nouveau propriétaire (ou service_principal_name pour un principal de service) avec le niveau d’autorisation IS_OWNER :

{
  "access_control_list": [
    {
      "user_name": "new.owner@example.com",
      "permission_level": "IS_OWNER"
    }
  ]
}

Si aucun utilisateur n’est à la fois administrateur de metastore et administrateur d’espace de travail

Si personne de votre organisation n’est à la fois un administrateur de metastore et un administrateur d’espace de travail, contactez votre représentant Databricks pour modifier le propriétaire du pipeline.

Permettre aux utilisateurs non administrateurs de consulter les logs de pilotes depuis un pipeline activé par le catalogue Unity

Par défaut, seul le propriétaire du pipeline et les administrateurs de l'espace de travail peuvent afficher les journaux du pilote depuis le cluster qui exécute un pipeline compatible avec Unity Catalog. Vous pouvez activer l’accès aux journaux de pilotes pour n’importe quel utilisateur disposant des autorisations CAN MANAGE, CAN VIEW ou CAN RUN en ajoutant le paramètre de configuration Spark suivant à l’objet configuration dans les paramètres du pipeline :

{
  "configuration": {
    "spark.databricks.acl.needAdminPermissionToViewLogs": "false"
  }
}