Surveiller et révoquer des jetons d’accès personnels
Pour vous authentifier auprès de l’API REST Azure Databricks, un utilisateur peut créer un jeton d’accès personnel (PAT) et l’utiliser dans sa demande d’API REST. Un utilisateur peut également créer un principal de service et l’utiliser avec un jeton d’accès personnel pour appeler les API REST Azure Databricks dans leurs outils CI/CD et automatisation. Cet article explique comment les administrateurs Azure Databricks peuvent gérer des jetons d’accès personnels dans leur espace de travail. Pour créer un jeton d’accès personnel Azure, consultez la section Authentification à l’aide d’un jeton d’accès personnels Azure Databricks.
Utiliser OAuth au lieu de jetons d’accès personnels
Databricks vous recommande d’utiliser des jetons d’accès OAuth plutôt que des PAT pour une sécurité et une commodité accrues. Databricks continue de prendre en charge les paTs, mais en raison de leur plus grand risque de sécurité, il est suggéré d’auditer l’utilisation actuelle de votre compte PAT et de migrer vos utilisateurs et principaux de service vers des jetons d’accès OAuth. Pour créer un jeton d’accès OAuth (au lieu d’un protocole PAT) à utiliser avec un principal de service dans automation, consultez Autoriser l’accès sans assistance aux ressources Azure Databricks avec un principal de service à l’aide d’OAuth.
Databricks vous recommande de réduire l’exposition de votre jeton d’accès personnel en procédant comme suit :
- Définissez une durée de vie courte pour tous les nouveaux jetons créés dans vos espaces de travail. La durée de vie doit être inférieure à 90 jours. Par défaut, la durée de vie maximale de tous les nouveaux jetons est de 730 jours (deux ans).
- Collaborez avec vos administrateurs et utilisateurs de votre espace de travail Azure Databricks pour basculer vers ces jetons avec des durées de vie plus courtes.
- Révoquez tous les jetons de longue durée pour réduire le risque de ces anciens jetons qui sont mal utilisés au fil du temps. Databricks révoque automatiquement tous les PAT pour vos espaces de travail Azure Databricks lorsque le jeton n’a pas été utilisé en 90 jours ou plus.
Spécifications
Vous devez être administrateur pour gérer les jetons d’accès personnels.
Les administrateurs de compte Azure Databricks peuvent surveiller et révoquer des jetons d’accès personnels dans le compte.
Les administrateurs d’espace de travail Azure Databricks peuvent effectuer les opérations suivantes :
- Désactivez les jetons d’accès personnels pour un espace de travail.
- Contrôlez les utilisateurs non administrateurs qui peuvent créer des jetons et utiliser des jetons.
- Définissez une durée de vie maximale pour les nouveaux jetons.
- Surveiller et révoquer les jetons dans leur espace de travail.
La gestion des jetons d’accès personnels dans votre espace de travail nécessite le plan Premium.
Surveiller et révoquer des jetons d’accès personnels dans le compte
Essentiel
Cette fonctionnalité est en Préversion privée. Pour rejoindre cette préversion, contactez votre équipe de compte Azure Databricks.
Les administrateurs de compte peuvent surveiller et révoquer des jetons d’accès personnels à partir de la console de compte. Les requêtes permettant de surveiller les jetons s’exécutent uniquement lorsqu’un administrateur de compte utilise la page de rapport de jetons.
Pour rejoindre cette préversion, contactez d’abord votre équipe de compte Azure Databricks.
En tant qu’administrateur de compte, connectez-vous à la console de compte.
Dans la barre latérale, cliquez sur Aperçus.
Utilisez les boutons bascule
pour activer Rapport sur les jetons d’accès.
Dans la barre latérale, cliquez sur Paramètres et Rapport de jetona.
Vous pouvez filtrer par le propriétaire du jeton, l’espace de travail, la date de création, la date d’expiration et la date à laquelle le jeton a été utilisé pour la dernière fois. Utilisez les boutons en haut du rapport pour filtrer les jetons d’accès pour les principaux inactifs ou les jetons d’accès sans date d’expiration.
Pour exporter un rapport vers un fichier CSV, cliquez sur Exporter.
Pour révoquer un jeton, sélectionnez un jeton, puis cliquez sur Révoquer.
Activer ou désactiver l’authentification par jeton d’accès personnel pour l’espace de travail
L’authentification par jeton d'accès personnel est activée par défaut pour tous les espaces de travail Azure Databricks créés à partir de 2018. Vous pouvez modifier ce paramètre dans la page des paramètres d’espace de travail.
Lorsque les jetons d’accès personnels sont désactivés pour un espace de travail, les jetons d’accès personnels ne peuvent pas être utilisés pour s’authentifier auprès d’Azure Databricks et les utilisateurs de l’espace de travail et les principaux de service ne peuvent pas créer de jetons. Aucun jeton n’est supprimé lorsque vous désactivez l’authentification par jeton d'accès personnel pour un espace de travail. Si les jetons sont réactivés ultérieurement, tous les jetons non expirés sont disponibles à l’utilisation.
Si vous souhaitez désactiver l’accès par jeton pour un sous-ensemble d’utilisateurs, vous pouvez garder l’authentification par jeton d'accès personnel activée pour l’espace de travail et définir des autorisations affinées pour les utilisateurs et les groupes. Consultez Contrôler qui peut créer et utiliser des jetons d’accès personnels.
Avertissement
Les intégrations Partner Connect et des partenaires nécessitent l’activation des jetons d’accès personnels sur un espace de travail.
Pour désactiver la capacité de créer et d’utiliser des jetons d’accès personnels pour l’espace de travail :
Accédez à la page des paramètres.
Cliquez sur l’onglet Avancé.
Cliquez sur le bouton bascule Jetons d’accès personnels.
Cliquez sur Confirmer.
Cette modification peut prendre quelques secondes avant de prendre effet.
Vous pouvez également utiliser l’API de configuration de l’espace de travail pour désactiver les jetons d’accès personnels pour l’espace de travail.
Contrôler qui peut créer et utiliser des jetons d’accès personnels
Les administrateurs d’espace de travail peuvent définir des autorisations sur les jetons d’accès personnels pour contrôler les utilisateurs, les principaux de service et les groupes qui peuvent créer et utiliser des jetons. Pour plus d’informations sur la configuration des autorisations de jetons d’accès personnels, consultez Gérer les autorisations des jetons d’accès personnels.
Définir la durée de vie maximale des nouveaux jetons d’accès personnels
Par défaut, la durée de vie maximale des nouveaux jetons est de 730 jours (deux ans). Vous pouvez définir une durée de vie maximale plus courte pour les jetons dans votre espace de travail avec le Databricks CLI ou l'API de configuration de l'espace de travail . Cette limite s’applique uniquement aux nouveaux jetons.
Définissez maxTokenLifetimeDays
sur la durée de vie maximale des nouveaux jetons en jours, sous la forme d’un entier. Par exemple :
Interface CLI Databricks
databricks workspace-conf set-status --json '{
"maxTokenLifetimeDays": "90"
}'
API de configuration d’espace de travail
curl -n -X PATCH "https://<databricks-instance>/api/2.0/workspace-conf" \
-d '{
"maxTokenLifetimeDays": "90"
}'
Si vous définissez la maxTokenLifetimeDays
sur zéro, de nouveaux jetons peuvent être créés avec une durée de vie allant jusqu’à 730 jours (deux ans).
Pour utiliser le fournisseur Databricks Terraform pour gérer la durée de vie maximale des nouveaux jetons dans un espace de travail, consultez la Ressource databricks_workspace_conf.
Surveiller et révoquer des jetons dans votre espace de travail
Cette section décrit comment les administrateurs d'espace de travail peuvent utiliser l'interface en ligne de commande (CLI) Databricks pour gérer les jetons existants dans l'espace de travail. Vous pouvez également utiliser l’API gestion des jetons. Databricks révoque automatiquement les jetons d’accès personnels qui n’ont pas été utilisés en 90 jours ou plus.
Obtenir des jetons pour l’espace de travail
Pour obtenir les jetons de l’espace de travail :
Python
from databricks.sdk import WorkspaceClient
w = WorkspaceClient()
spark.createDataFrame([token.as_dict() for token in w.token_management.list()]).createOrReplaceTempView('tokens')
display(spark.sql('select * from tokens order by creation_time'))
Bash
# Filter results by a user by using the `created-by-id` (to filter by the user ID) or `created-by-username` flags.
databricks token-management list
Supprimer (révoquer) un jeton
Pour supprimer un jeton, remplacez TOKEN_ID par l’ID du jeton à supprimer :
databricks token-management delete TOKEN_ID