Aller au contenu principal

Service Principal

Un Service Principal est une identité spécialisée dans Databricks, conçue pour l'automatisation et l'accès programmatique. Les Service Principal offrent un accès sécurisé et uniquement par API aux ressources Databricks pour les outils automatisés, les scripts et les plateformes CI/CD, sans dépendre des identifiants d’utilisateur individuels.

Pour savoir comment gérer les Service Principal, consultez Gérer les Service Principal.

remarque

Cette page suppose que votre Workspace a la fédération d'identités activée, ce qui est le default pour la plupart des Workspaces. Pour des informations sur les Workspaces hérités sans fédération d'identité, consultez Workspaces hérités sans fédération d'identité.

Qu'est-ce qu'un Service Principal ?

Les Service Principals donnent aux outils et scripts automatisés un accès API uniquement aux Ressources Databricks, offrant une sécurité accrue par rapport à l'utilisation de comptes utilisateur. Vous pouvez accorder et restreindre l'accès d'un Service Principal aux ressources de la même manière que vous le feriez pour un utilisateur Databricks. Par exemple, vous pouvez accorder à un Service Principal le rôle d'administrateur de compte ou d'administrateur de Workspace, accorder l'accès aux données à l'aide d'Unity Catalog, ou ajouter un Service Principal en tant que membre à un groupe.

Vous pouvez accorder aux utilisateurs, aux Service Principal et aux groupes Databricks des autorisations d'utilisation d'un Service Principal. Cela permet aux utilisateurs d'exécuter des Jobs en tant que Service Principal, plutôt qu'en tant que leur identité, ce qui empêche les Jobs d'échouer si un utilisateur quitte votre organisation ou si un groupe est modifié.

Cas d'utilisation courants

Les Service Principal sont idéaux pour les scénarios d'automatisation comme ceux qui suivent, où vous avez besoin d'un accès programmatique sécurisé et fiable aux Ressources Databricks :

Cas d'usage

Exemple

pipelines CI/CD

Déployez des notebooks, des bibliothèques et des configurations automatiquement dans le cadre de vos flux de travail d'intégration et de déploiement continus.

Jobs planifiés

Exécutez les pipelines ETL, les Jobs de traitement de données et les rapports automatisés selon un calendrier sans dépendre de comptes d'utilisateur individuels.

Intégrations intersystèmes

Connectez les applications et services externes à Databricks pour l'ingestion de données, les Transformations ou l'analytique.

Tests automatisés

Exécutez des tests d'intégration et validez les pipelines de données dans le cadre de votre framework de test.

Infrastructure en tant que code

Provisionnez et gérez les Ressources Databricks à l'aide d'outils tels que Terraform, les Templates ARM ou les Declarative Automation Bundles.

Cas d'usage

Exemple

pipelines CI/CD

Déployez des notebooks, des bibliothèques et des configurations automatiquement dans le cadre de vos flux de travail d'intégration et de déploiement continus.

Jobs planifiés

Exécutez les pipelines ETL, les Jobs de traitement de données et les rapports automatisés selon un calendrier sans dépendre de comptes d'utilisateur individuels.

Intégrations intersystèmes

Connectez les applications et services externes à Databricks pour l'ingestion de données, les Transformations ou l'analytique.

Tests automatisés

Exécutez des tests d'intégration et validez les pipelines de données dans le cadre de votre framework de test.

Infrastructure en tant que code

Provisionnez et gérez les Ressources Databricks à l'aide d'outils tels que Terraform, les Templates ARM ou les Declarative Automation Bundles.

Qui peut gérer et utiliser les Service Principals ?

Pour gérer les Service Principal dans Databricks, vous devez disposer de l'un des rôles suivants :

Rôle

Capacités

Administrateurs de comptes

  • Ajoutez des Service Principals au compte et attribuez-leur des rôles d'administrateur.
  • Attribuez des Service Principal aux Workspace.
  • Avoir automatiquement le rôle de gestionnaire de Service Principal sur tous les Service Principals du compte.

Administrateurs de Workspace

  • Ajoutez des Service Principal à un Workspace Databricks.
  • Attribuez-leur le rôle d'administrateur du Workspace.
  • Gérer l’accès aux objets et aux fonctionnalités dans le Workspace.
  • Bénéficient automatiquement du rôle de responsable de Service Principal sur les Service Principal qu’ils créent.
  • Créez des jetons au nom des Service Principal lorsqu'ils ont le rôle d'utilisateur de Service Principal.

Gestionnaires de Service Principal

  • Gérer les rôles sur un Service Principal.
  • Attribuer le rôle de gestionnaire de Service Principal à d'autres utilisateurs.

Utilisateurs du Service principal

  • Exécuter des jobs en tant que service principal, en utilisant son identité plutôt que celle du propriétaire du job.

Rôle

Capacités

Administrateurs de comptes

  • Ajoutez des Service Principals au compte et attribuez-leur des rôles d'administrateur.
  • Attribuez des Service Principal aux Workspace.
  • Avoir automatiquement le rôle de gestionnaire de Service Principal sur tous les Service Principals du compte.

Administrateurs de Workspace

  • Ajoutez des Service Principal à un Workspace Databricks.
  • Attribuez-leur le rôle d'administrateur du Workspace.
  • Gérer l’accès aux objets et aux fonctionnalités dans le Workspace.
  • Bénéficient automatiquement du rôle de responsable de Service Principal sur les Service Principal qu’ils créent.
  • Créez des jetons au nom des Service Principal lorsqu'ils ont le rôle d'utilisateur de Service Principal.

Gestionnaires de Service Principal

  • Gérer les rôles sur un Service Principal.
  • Attribuer le rôle de gestionnaire de Service Principal à d'autres utilisateurs.

Utilisateurs du Service principal

  • Exécuter des jobs en tant que service principal, en utilisant son identité plutôt que celle du propriétaire du job.
remarque
  • Le créateur d'un Service Principal devient automatiquement le gestionnaire de Service Principal.
  • Les utilisateurs disposant du rôle de gestionnaire de Service Principal n'héritent pas du rôle d'utilisateur de Service Principal. Si vous souhaitez utiliser le Service Principal pour exécuter des Jobs, vous devez vous attribuer explicitement le rôle d'utilisateur du Service Principal, même après avoir créé le Service Principal.

Pour des informations sur la manière d'accorder les rôles de Service Principal Manager et Service Principal User, consultez Rôles pour la gestion des Service Principals.

Synchroniser les Service Principal à votre compte Databricks depuis votre tenant Microsoft Entra ID.

Vous pouvez synchroniser automatiquement les Service Principal Microsoft Entra ID de votre tenant Microsoft Entra ID vers votre compte Databricks en utilisant la gestion automatique des identités. Databricks utilise Microsoft Entra ID comme source, de sorte que toute modification des utilisateurs ou des appartenances aux groupes est respectée dans Databricks. Consultez Gestion automatique des identités.

Le provisionnement SCIM ne prend pas en charge la synchronisation des Service Principal.

Service Principal du système et des applications

Les Service Principals système et d'application sont des Service Principals gérés par Databricks qui représentent les services internes de Databricks. Contrairement aux Service Principal que vous créez et gérez, les Service Principals système sont créés et gérés automatiquement par Databricks. Leur cycle de vie est lié à une ressource Databricks, telle qu'un compte ou un metastore, et ils ne requièrent pas de gestion administrative.

Les Service Principals système et d'application ne peuvent être utilisés qu'indirectement par le biais des fonctionnalités de la plateforme Databricks, telles que l'optimisation prédictive et le scheduled dashboard refresh. Vous ne pouvez pas créer, modifier ou usurper l'identité d'un Service Principal de système ou d'application.

Vous pourriez voir des Service Principal système et d'application dans les Logs système lorsque Databricks effectue des opérations d'arrière-plan.

Ressources supplémentaires