Gérer les identités, les autorisations et les privilèges pour les pipelines
Les identités, les permissions et les privilèges contrôlent qui peut exécuter, gérer et interroger les pipelines et les données qu'ils produisent.
Databricks recommande d’utiliser Unity Catalog pour tous les nouveaux pipelines. Par default, les vues matérialisées et les tables de streaming créées par des pipelines configurés avec Unity Catalog ne peuvent être interrogées que par le propriétaire du pipeline. Voir Utiliser Unity Catalog avec des pipelines.
Si vos pipelines publient des datasets dans le Hive metastore hérité, consultez Utiliser des LakeFlow Pipelines avec le Hive metastore hérité.
Pour les bonnes pratiques générales sur les configurations d'identité, consultez les Bonnes pratiques d'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 d' exécution . By default, l'utilisateur d'exécution est le créateur du pipeline, mais vous pouvez le modifier pour un autre utilisateur ou un Service Principal. Consultez Définir l'utilisateur d'exécution.
Databricks recommande de définir l'utilisateur d'exécution sur un Service Principal, afin que les mises à jour des pipelines ne soient pas liées au compte d'un utilisateur individuel. See Service Principal.
Qui peut exécuter une mise à jour du pipeline ?
Les mises à jour de pipeline peuvent être exécutées par tout utilisateur ou service principal disposant des autorisations CAN RUN, CAN MANAGE ou IS OWNER.
Qui peut voir un pipeline et sa sortie ?
Pour ouvrir un pipeline et afficher ses détails, un utilisateur a besoin d'au moins l'autorisation CAN VIEW sur le pipeline. Pour la liste complète des niveaux d'autorisation des pipelines et les capacités que chacun accorde, voir ACL des Lakeflow Pipelines.
Pour afficher le pipeline qui prend en charge 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 de ses autorisations sur le pipeline. Sans le privilège REFRESH, l'URL du pipeline affiche Pipeline non disponible .
Configurez les autorisations de pipeline
Vous devez disposer de l'autorisation CAN MANAGE ou 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 une liste complète des autorisations et de leurs capacités, consultez les ACL de Lakeflow Pipelines.
- Dans la barre latérale, cliquez sur Jobs & Pipelines .
- Sélectionnez le Nom d’un pipeline.
- Cliquez sur Partager . La boîte de dialogue Paramètres d'autorisation s’affiche.
- Cliquez sur Sélectionner un utilisateur, un groupe ou un Service Principal… et sélectionnez un utilisateur, un groupe ou un Service Principal.
- Sélectionnez une autorisation dans le menu déroulant d'autorisations.
- Cliquez sur **Ajouter**.
- Cliquez sur Enregistrer .
Modifier le propriétaire du pipeline
Par default, le propriétaire du pipeline est également l'utilisateur d'exécution en tant que 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 modifier 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 un administrateur de métastore et un administrateur de Workspace. Modifiez le propriétaire en utilisant l'interface utilisateur ou l'API REST.
Utilisez l’interface utilisateur
- Dans la barre latérale, cliquez sur Jobs & Pipelines .
- Sélectionnez le Nom du pipeline.
- Cliquez sur Partager . La boîte de dialogue Paramètres d'autorisation s’affiche.
- Effacez le propriétaire actuel, puis sélectionnez le nouveau propriétaire. Le propriétaire peut être un utilisateur ou un Service Principal. Databricks recommande un Service Principal. See Service Principal.
- Cliquez sur Enregistrer .
Utilisez l'API REST
Si le contrôle du propriétaire n'est pas disponible dans l'interface utilisateur, comme pour certains pipelines gérés en interne, modifiez le propriétaire avec l'opération Définir les permissions du pipeline de l'API REST. Spécifiez le user_name du nouveau propriétaire (ou service_principal_name pour un Service Principal) 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 de workspace
Si personne dans votre organisation n'est à la fois administrateur de metastore et administrateur de workspace, contactez votre représentant Databricks pour modifier le propriétaire du pipeline.
Autoriser les utilisateurs non administrateurs à consulter les Logs du Driver d’un pipeline compatible avec Unity Catalog
By default, seuls le propriétaire du pipeline et les administrateurs de Workspace peuvent afficher les logs du driver à partir du cluster qui exécute un pipeline activé pour Unity Catalog. Vous pouvez activer l'accès aux logs du Driver pour tout 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"
}
}