Gérer les principaux de service
Cet article explique comment créer et gérer des principaux de service pour vos comptes et espaces de travail Azure Databricks.
Pour obtenir une vue d’ensemble du modèle d’identité Azure Databricks, consultez Identités Azure Databricks.
Pour gérer l’accès des principaux de service, consultez Authentification et contrôle d’accès.
Qu’est-ce qu’un principal de service ?
Un principal de service est une identité que vous créez dans Azure Databricks pour être utilisée avec des outils, des travaux et des applications automatisés. Les principaux de service fournissent aux outils et aux scripts automatisés un accès d’API uniquement aux ressources Azure Databricks, offrant une plus grande sécurité que l’utilisation d’utilisateurs ou de groupes.
Vous pouvez accorder et restreindre l’accès d’un principal de service aux ressources de la même façon que pour un utilisateur Azure Databricks. Vous pouvez par exemple procéder comme suit :
- Donnez des rôles d’administrateur de compte et d’administrateur d’espace de travail de principal de service.
- Accordez à un principal de service l’accès aux données, soit au niveau du compte à l’aide de Unity Catalog, soit au niveau de l’espace de travail.
- Ajoutez un principal de service à un groupe au niveau du compte et de l’espace de travail, y compris le groupe
admins
d’espace de travail.
Vous pouvez également accorder aux utilisateurs, aux principaux de service et aux groupes Azure Databricks des autorisations pour utiliser un principal de service. Cela permet aux utilisateurs d’exécuter des travaux en tant que principal de service plutôt qu’en tant qu’identité. Cela empêche l’échec des travaux si un utilisateur quitte votre organisation ou si un groupe est modifié.
Contrairement à un utilisateur Azure Databricks, un principal de service est une identité d’API uniquement ; il ne peut pas accéder à l’interface utilisateur Azure Databricks.
Databricks vous recommande d’activer vos espaces de travail pour la fédération des identités. La fédération des identités vous permet de configurer des principaux de service dans la console de compte, puis d’attribuer ces accès à des espaces de travail spécifiques. Cela simplifie l’administration et la gouvernance des données Azure Databricks.
Important
Databricks a commencé à activer automatiquement de nouveaux espaces de travail pour Unity Catalog le 9 novembre 2023, avec une procédure de déploiement progressive entre les comptes. Si la fédération des identités est activée par défaut sur votre espace de travail, elle ne peut pas être désactivée. Pour plus d’informations, consultez Activation automatique d’Unity Catalog.
Principaux de service Databricks et Microsoft Entra ID
Les principaux de service peuvent être des principaux de service gérés Azure Databricks ou gérés par Microsoft Entra ID.
Les principaux de service gérés par Azure Databricks peuvent s’authentifier auprès d’Azure Databricks en utilisant l’authentification OAuth Databricks et des jetons d’accès personnels. Les principaux de service gérés par Microsoft Entra ID peuvent s’authentifier auprès d’Azure Databricks en utilisant l’authentification OAuth Databricks et des jetons Microsoft Entra ID. Pour plus d’informations sur l’authentification des principaux de service, voir Gérer les jetons d’un principal de service.
Les principaux de service géré Azure Databricks sont gérés directement dans Azure Databricks. Les principaux de service géré Microsoft Entra ID sont gérés dans Microsoft Entra ID, ce qui nécessite des autorisations supplémentaires. Databricks vous recommande d’utiliser des principaux de service gérés par Azure Databricks pour l’automatisation Azure Databricks, et d’utiliser des principaux de service gérés par Microsoft Entra ID pour les cas où vous devez vous authentifier en même temps auprès d’Azure Databricks et auprès d’autres ressources Azure.
Pour créer un principal de service géré par Azure Databricks, passez cette section et poursuivez la lecture avec Qui peut gérer et utiliser des principaux de service ?.
Pour utiliser des principaux du service gérés par Microsoft Entra ID dans Azure Databricks, un administrateur doit créer une application Microsoft Entra ID dans Azure. Pour créer un principal de service managé Microsoft Entra ID, consultez l’authentification du principal de service MS Entra.
Qui peut gérer et utiliser les principaux de service ?
Pour gérer les principaux de service dans Azure Databricks, vous devez disposer de l’un des éléments suivants : le rôle d’administrateur de compte, le rôle d’administrateur d’espace de travail ou le rôle de gestionnaire ou d’utilisateur sur un principal de service.
- Les administrateurs de compte peuvent ajouter des principaux de service au compte et leur attribuer des rôles d'administrateur. Ils peuvent également attribuer des principaux de service à des espaces de travail, tant que ceux-ci utilisent la fédération d’identité.
- Les administrateurs d’espace de travail peuvent ajouter des principaux de service à des espaces de travail Azure Databricks, leur attribuer le rôle d’administrateur de l’espace de travail. De plus, ils peuvent gérer l’accès aux objets et fonctionnalités de l’espace de travail, comme la possibilité de créer des clusters ou d’accéder à des environnements basés sur des personnages spécifiés.
- Les Gestionnaires de principal de service peuvent gérer des rôles sur un principal de service. Le créateur d’un principal de service devient le gestionnaire du principal de service. Les administrateurs de compte sont des gestionnaires de principaux de service sur tous les principaux de service d’un compte.
Remarque
Si un principal de service a été créé avant le 13 juin 2023, le créateur de celui-ci n’a pas le rôle de gestionnaire de principal de service par défaut. Demandez à un administrateur de compte de vous accorder le rôle de gestionnaire de principal de service.
Les utilisateurs disposant du rôle Gestionnaire principal de service n’héritent pas du rôle Utilisateur du principal de service. Si vous souhaitez utiliser le principal de service pour exécuter des travaux, vous devez vous attribuer explicitement le rôle d’utilisateur principal du service, même après avoir créé le principal de service.
- Les Utilisateurs du principal de service peuvent exécuter des tâches en tant que principal de service. Le travail s’exécute en utilisant l’identité du principal de service, au lieu de l’identité du propriétaire du travail. Pour plus d’informations, consultez Gérer les identités, les autorisations et les privilèges pour les projets Databricks.
Pour plus d’informations sur l’octroi de rôles d’utilisateur et de gestionnaire de principal de service, consultez Rôles de gestion des principaux de service.
Gérer les principaux de service dans votre compte
Les administrateurs de compte peuvent ajouter des principaux de service à votre compte Azure Databricks à l’aide de la console de compte.
Ajouter des principaux de service à votre compte à l’aide de la console de compte
Les principaux de service peuvent être créés dans Azure Databricks ou liés à partir d’un principal de service Microsoft Entra ID existant. Consulter Principaux de service Databricks et Microsoft Entra ID.
- En tant qu’administrateur de compte, connectez-vous à la console de compte.
- Dans la barre latérale, cliquez sur Gestion des utilisateurs.
- Sous l’onglet Principaux de service, cliquez sur Ajouter un principal de service.
- Sous Gestion, choisissez Géré par Databricks ou Géré par Microsoft Entra ID.
- Si vous avez choisi Microsoft Entra ID managé, sous l’ID d’application Microsoft Entra, collez l’ID de l’application (client) pour le principal de service.
- Entrez un nom pour le principal de service.
- Cliquez sur Ajouter.
Attribuer des droits d’administrateur de compte à un principal de service
- En tant qu’administrateur de compte, connectez-vous à la console de compte.
- Dans la barre latérale, cliquez sur Gestion des utilisateurs.
- Sous l’onglet Principaux de service, recherchez et cliquez sur le nom d’utilisateur.
- Sous l’onglet Rôles, activez Administrateur de compte ou Administrateur de marketplace.
Affecter un principal de service à un espace de travail à l’aide de la console de compte
Pour ajouter des utilisateurs à un espace de travail à l’aide de la console de compte, l’espace de travail doit être activé pour la fédération des identités. Les administrateurs d’espace de travail peuvent également attribuer des principaux de service aux espaces de travail en utilisant la page des paramètres d’administration de l’espace de travail. Pour plus d’information, consultezAjouter un principal de service à un espace de travail en utilisant des paramètres d’administration de l’espace de travail.
- En tant qu’administrateur de compte, connectez-vous à la console de compte.
- Dans la barre latérale, cliquez sur Espaces de travail.
- Cliquez sur le nom de votre espace de travail.
- Sous l’onglet Permissions (Autorisations), cliquez sur Add permissions (Ajouter des autorisations).
- Recherchez et sélectionnez le principal de service, attribuez-lui un niveau d’autorisation (Utilisateur ou Administrateur de l’espace de travail), puis cliquez sur Enregistrer.
Supprimer un principal de service d’un espace de travail à l’aide de la console de compte
Pour supprimer des principaux de service d’un espace de travail à l’aide de la console de compte, l’espace de travail doit être activé pour la fédération des identités. Lorsqu’un principal de service est supprimé d’un espace de travail, le principal de service ne peut plus accéder à l’espace de travail, mais les autorisations d’accès sont maintenues sur le principal de service. Si le principal de service est à nouveau ajouté à l’espace de travail, il retrouve ses autorisations précédentes.
- En tant qu’administrateur de compte, connectez-vous à la console de compte
- Dans la barre latérale, cliquez sur Espaces de travail.
- Cliquez sur le nom de votre espace de travail.
- Sous l’onglet Autorisations, recherchez le principal de service.
- Cliquez sur le menu à trois points tout en haut à droite de la ligne du principal de service et sélectionnez Supprimer.
- Cliquez sur Supprimer dans la boîte de dialogue de confirmation.
Désactivez un principal de service dans votre compte Azure Databricks
Les administrateurs de compte peuvent désactiver des principaux de service sur l’ensemble d’un compte Azure Databricks. Un principal de service désactivé ne peut pas s’authentifier sur le compte ou les espaces de travail Azure Databricks Toutefois, toutes les autorisations du principal de service et tous les objets d’espace de travail de l’utilisateur restent inchangés. Lorsqu’un principal de service est désactivé, ce qui suit est avéré :
- Le principal de service ne peut pas s’authentifier sur le compte ou sur l’un de ses espaces de travail, quelle que soit la méthode employée.
- Les applications ou scripts qui utilisent les jetons générés par le principal de service ne peuvent plus accéder à l’API Databricks. Les jetons sont conservés mais ne peuvent pas être utilisés pour l’authentification tant qu’un principal de service reste désactivé.
- Les clusters appartenant au principal de service restent en exécution.
- Les travaux planifiés créés par le principal de service échouent, sauf s’ils sont attribués à un nouveau propriétaire.
Lorsqu’un principal de service est réactivé, il peut se connecter à Azure Databricks avec les mêmes autorisations. Databricks recommande de désactiver les principaux de service du compte au lieu de les supprimer, car la suppression de ceux-ci est une action destructrice. L’état d’un principal de compte désactivé est étiqueté Inactive (Inactif) dans la console du compte. Vous pouvez également désactiver un principal de service depuis un espace de travail spécifique. Consultez Désactiver un principal de service dans votre espace de travail Azure Databricks.
Vous ne pouvez pas désactiver un principal de service en utilisant la console de compte. Utilisez plutôt l’API de principaux de services de comptes.
Par exemple :
curl --netrc -X PATCH \
https://${DATABRICKS_HOST}/api/2.1/accounts/{account_id}/scim/v2/ServicePrincipals/{id} \
--header 'Content-type: application/scim+json' \
--data @update-sp.json \
| jq .
update-sp.json
:
{
"schemas": [ "urn:ietf:params:scim:api:messages:2.0:PatchOp" ],
"Operations": [
{
"op": "replace",
"path": "active",
"value": [
{
"value": "false"
}
]
}
]
}
Supprimer des principaux de service de votre compte Azure Databricks
Les administrateurs de compte peuvent supprimer des principaux de service d’un compte Azure Databricks. Les administrateurs d’espace de travail ne le peuvent pas. Lorsque vous supprimez un principal de service du compte, ce principal est également supprimé de leurs espaces de travail.
Important
Quand vous supprimez un principal de service du compte, celui-ci est également supprimé de ses espaces de travail, que la fédération des identités ait été activée ou non. Nous vous recommandons de ne pas supprimer les principaux de service au niveau du compte, sauf si vous souhaitez qu’ils perdent l’accès à tous les espaces de travail du compte. Tenez compte des conséquences suivantes liées à la suppression de principaux de service :
- Les applications ou les scripts qui utilisent les jetons générés par le principal du service ne peuvent plus accéder aux API Databricks.
- Les tâches appartenant au principal du service échouent.
- Les clusters appartenant au principal du service s'arrêtent.
- Les requêtes ou tableaux de bord créés par le principal de service et partagés avec les informations d'identification Exécuter en tant que propriétaire sont affectés à un nouveau propriétaire pour empêcher l'échec du partage.
Lorsqu’un principal de service Microsoft Entra ID est supprimé d’un compte, le principal de service ne peut plus accéder au compte ou à ses espaces de travail, mais les autorisations d’accès sont maintenues sur le principal de service. Si le principal de service est à nouveau ajouté au compte, il retrouve ses autorisations précédentes.
Procédez comme suit pour supprimer un principal de service à l’aide de la console de compte :
- Connectez-vous à la console de compte en tant qu’administrateur de compte.
- Dans la barre latérale, cliquez sur Gestion des utilisateurs.
- Sous l’onglet Principaux de service, recherchez et cliquez sur le nom d’utilisateur.
- Sous l’onglet Informations sur le principal, cliquez sur le en haut à droite et sélectionnez Supprimer.
- Dans la boîte de dialogue de confirmation, cliquez sur Confirmer la suppression.
Gérer les principaux de service dans votre espace de travail
Les administrateurs d’espace de travail peuvent gérer les principaux de service dans leurs espaces de travail en utilisant la page des paramètres d’administration de l’espace de travail.
Ajouter un principal de service à un espace de travail à l’aide des paramètres d’administration de l’espace de travail
Les principaux de service peuvent être créés dans Azure Databricks ou liés à partir d’un principal de service Microsoft Entra ID existant. Consulter Principaux de service Databricks et Microsoft Entra ID.
En tant qu’administrateur d’espace de travail, connectez-vous à l’espace de travail Azure Databricks.
Cliquez sur votre nom d’utilisateur dans la barre supérieure de l’espace de travail Azure Databricks, puis sélectionnez Paramètres.
Cliquez sur l’onglet Identité et accès.
À côté de Principaux de service, cliquez sur Gérer.
Cliquez sur Ajouter un principal de service.
Sélectionnez un principal de service existant à attribuer à l’espace de travail ou cliquez sur Ajouter pour en créer un.
Pour ajouter un nouveau principal de service, choisissez Databricks managé ou Microsoft Entra ID managé. Si vous choisissez Microsoft Entra ID managé, collez l’ID de l’application (client) pour le principal de service et entrez un nom d’affichage.
Cliquez sur Add.
Remarque
Si votre espace de travail n’est pas activé pour la fédération des identités, vous ne pouvez pas affecter de principaux de service de compte existants à votre espace de travail.
Attribuez le rôle d’administrateur d’espace de travail à un principal de service en utilisant la page des paramètres d’administration d’espace de travail
- En tant qu’administrateur d’espace de travail, connectez-vous à l’espace de travail Azure Databricks.
- Cliquez sur votre nom d’utilisateur dans la barre supérieure de l’espace de travail Azure Databricks, puis sélectionnez Paramètres.
- Cliquez sur l’onglet Identité et accès.
- À côté de Groupes, cliquez sur Gérer.
- Sélectionnez le groupe système
admins
. - Cliquez sur Ajouter des membres.
- Sélectionnez le principal de service et cliquez sur Confirmer.
Pour supprimer le rôle d’administrateur de l’espace de travail d’un principal de service, supprimez ce dernier du groupe d’administration.
Désactivez un principal de service dans votre espace de travail Azure Databricks
Les administrateurs d’espace de travail peuvent désactiver des principaux de service dans un espace de travail Azure Databricks. Un principal de service désactivé ne peut pas accéder à l’espace de travail à partir des API Azure Databricks, mais tous les autorisations et objets de l’espace de travail du principal de service restent inchangés. Lorsqu’un principal de service est désactivé :
- Le principal de service ne peut pas s’authentifier sur les espaces de travail, quelle que soit la méthode employée.
- L’état du principal de service indique Inactif dans la page des paramètres d’administration de l’espace de travail.
- Les applications ou les scripts qui utilisent les jetons générés par le principal de service ne peuvent plus accéder à l’API Databricks. Les jetons sont conservés mais ne peuvent pas être utilisés pour l’authentification tant qu’un principal de service reste désactivé.
- Les clusters appartenant au principal de service restent en exécution.
- Les travaux planifiés créés par le principal de service doivent être attribués à un nouveau propriétaire pour empêcher leur échec.
Lorsqu’un principal de service est réactivé, il peut s’authentifier sur l’espace de travail avec les mêmes autorisations. Databricks recommande de désactiver les principaux de service au lieu de les supprimer, car la suppression de ceux-ci est une action destructrice.
- En tant qu’administrateur d’espace de travail, connectez-vous à l’espace de travail Azure Databricks.
- Cliquez sur votre nom d’utilisateur dans la barre supérieure de l’espace de travail Azure Databricks, puis sélectionnez Paramètres.
- Cliquez sur l’onglet Identité et accès.
- À côté de Principaux de service, cliquez sur Gérer.
- Sélectionnez le principal de service à désactiver.
- Sous État, décochez la case Actif.
Pour définir un principal de service sur Actif, effectuez les mêmes étapes, mais cette fois-ci, cochez la case.
Supprimer un principal de service d’un espace de travail en utilisant la page des paramètres d’administration de l’espace de travail
La suppression d’un principal de service d’un espace de travail ne supprime pas celui-ci du compte. Pour supprimer un principal de service de votre compte, consultez Supprimer des principaux de service de votre compte Azure Databricks.
Lorsqu’un principal de service est supprimé d’un espace de travail, le principal de service ne peut plus accéder à l’espace de travail, mais les autorisations d’accès sont maintenues sur le principal de service. Si le principal de service est à nouveau ajouté à un espace de travail, il retrouve ses autorisations précédentes.
- En tant qu’administrateur d’espace de travail, connectez-vous à l’espace de travail Azure Databricks.
- Cliquez sur votre nom d’utilisateur dans la barre supérieure de l’espace de travail Azure Databricks, puis sélectionnez Paramètres.
- Cliquez sur l’onglet Identité et accès.
- À côté de Principaux de service, cliquez sur Gérer.
- Sélectionnez le principal de service.
- Dans le coin supérieur droit, cliquez sur Supprimer.
- Cliquez sur Delete (Supprimer) pour confirmer.
Gérer les principaux de service en utilisant l’API
Les administrateurs de compte et les administrateurs d’espace de travail peuvent gérer les principaux de service dans le compte Azure Databricks et les espaces de travail en utilisant les API Databricks. Pour gérer les rôles d’un principal de service à l’aide de l’API, voir Gérer les rôles d’un principal de service à l’aide de l’interface CLI de Databricks.
Gérer les principaux de service dans le compte en utilisant l’API
Les administrateurs peuvent ajouter et gérer des principaux de service dans le compte Azure Databricks en utilisant l’API de principaux de service de comptes. Les administrateurs de compte et les administrateurs d’espace de travail appellent l’API en utilisant une autre URL de point de terminaison :
- Les administrateurs de compte utilisent
{account-domain}/api/2.1/accounts/{account_id}/scim/v2/
. - Les administrateurs d’espace de travail utilisent
{workspace-domain}/api/2.0/account/scim/v2/
.
Pour plus d’information, consultez API de principal de service du compte.
Gérer les principaux de service dans l’espace de travail à l’aide de l’API
Les administrateurs de compte et d’espace de travail peuvent utiliser l’API d’attribution d’espace de travail pour attribuer des principaux de service aux espaces de travail activés pour la fédération d’identité. L’API d’attribution d’espace de travail est prise en charge via le compte et les espaces de travail Azure Databricks.
- Les administrateurs de compte utilisent
{account-domain}/api/2.0/accounts/{account_id}/workspaces/{workspace_id}/permissionassignments
. - Les administrateurs d’espace de travail utilisent
{workspace-domain}/api/2.0/preview/permissionassignments/principals/{principal_id}
.
Voir API d’affectation d’espace de travail.
Si votre espace de travail n’est pas activé pour la fédération des identités, un administrateur d’espace de travail peut utiliser les API au niveau de l’espace de travail pour attribuer des principaux de service à ses espaces de travail. Consultez API de principaux de service de l’espace de travail.
Gérer les jetons pour un principal de service
Les principaux de service peuvent s’authentifier auprès d’API sur Azure Databricks à l’aide de jetons OAuth Azure Databricks ou de jetons d’accès personnels Azure Databricks, de la manière suivante :
- Les jetons OAuth Azure Databricks peuvent être utilisés pour s’authentifier auprès des API au niveau du compte et de l’espace de travail Azure Databricks.
- Les jetons OAuth Azure Databricks qui sont créés au niveau du compte Azure Databricks peuvent être utilisés pour s’authentifier auprès des API au niveau du compte et de l’espace de travail Azure Databricks.
- Les jetons OAuth Azure Databricks qui sont créés au niveau de l’espace de travail Azure Databricks peuvent être utilisés pour s’authentifier uniquement auprès des API au niveau de l’espace de travail Azure Databricks.
- Les jetons d’accès personnel Azure Databricks peuvent être utilisés pour s’authentifier uniquement de l’appel d’API au niveau de l’espace de travail Azure Databricks.
Gérer l’authentification OAuth Databricks pour un principal de service
Pour vous authentifier auprès d’API REST Databricks au niveau du compte et de l’espace de travail, les administrateurs de comptes peuvent utiliser des jetons OAuth Azure Databricks pour les principaux de service. Vous pouvez demander un jeton OAuth en utilisant l’ID client et une clé secrète client pour le principal de service. Pour plus d’informations, consultez Authentifier l’accès à Azure Databricks avec un principal de service à l’aide d’OAuth (OAuth M2M).
Voir aussi
Pour plus d’informations sur l’utilisation des principaux de service en tant que développeur travaillant avec l’interface CLI Azure Databricks ou les API REST Azure Databricks, consultez Authentifier l’accès à Azure Databricks avec un principal de service à l’aide d’OAuth (OAuth M2M) .
Pour plus d’informations sur l’utilisation des jetons d’accès MSI (Microsoft Managed Service Identityes) ou Microsoft Entra, consultez respectivement l’authentification des identités managées Azure et l’authentification du principal du service MS Entra.