Surveiller et gérer l’accès des jetons d’accès personnels
Pour s’authentifier auprès de l’API REST Azure Databricks, un utilisateur peut créer un jeton d’accès personnel 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 des API REST Azure Databricks dans leurs outils CI/CD et automatisation. Cet article explique comment les administrateurs de l’espace Azure Databricks peuvent gérer ces jetons d’accès personnels dans leur espace de travail.
Pour créer un jeton d’accès OAuth (au lieu d’un PAT) à utiliser avec un principal de service dans automation, consultez Authentifier l’accès à Azure Databricks avec un principal de service à l’aide d’OAuth (OAuth M2M).
Utilisation de jetons d’accès personnels (PAT) au lieu d’OAuth pour l’accès à Azure Databricks
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 PAT, mais en raison de leur plus grand risque de sécurité, vous suggère d’auditer l’utilisation actuelle des PAT de vos comptes et de migrer vos utilisateurs et principaux de service vers des jetons d’accès OAuth.
Vue d’ensemble de la gestion des jetons d’accès personnels
Remarque
La documentation suivante décrit l’utilisation des PAT pour les clients qui n’ont pas encore migré leur code pour utiliser OAuth à la place. Pour évaluer l’utilisation des PAT de votre organisation et planifier une migration des PAT vers des jetons d’accès OAuth, consultez Évaluer l’utilisation des jetons d’accès personnels dans votre compte Databricks.
Les jetons d’accès personnels sont activés par défaut pour tous les espaces de travail Azure Databricks qui ont été créés à partir de 2018.
Lorsque les jetons d’accès personnels sont activés pour un espace de travail, les utilisateurs disposant de l’autorisation PEUT UTILISER peuvent générer des jetons d’accès personnels pour accéder aux API REST d’Azure Databricks, et peuvent générer ces jetons avec la date d’expiration de leur choix, y compris une durée de vie indéfinie. Par défaut, aucun utilisateur non-administrateur de l’espace de travail ne possède l’autorisation PEUT UTILISER, ce qui signifie qu’il ne peut pas créer ou utiliser des jetons d’accès personnels.
En tant qu’administrateur d’espace de travail Azure Databricks, vous pouvez désactiver les jetons d’accès personnels pour un espace de travail, surveiller et révoquer des jetons, contrôler les utilisateurs non-administrateurs qui peuvent créer et utiliser des jetons, et définir une durée de vie maximale pour les nouveaux jetons.
La gestion des jetons d’accès personnels dans votre espace de travail nécessite le plan Premium. 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.
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 Gérer qui peut créer ou utiliser des jetons.
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.
Gérez qui peut créer ou utiliser des jetons
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
Vous pouvez gérer la durée de vie maximale des nouveaux jetons dans votre espace de travail à l’aide de Databricks CLI ou de l’API de configuration d’espace de travail. Cette limite s’applique uniquement aux nouveaux jetons.
Remarque
Databricks révoque automatiquement les jetons d’accès personnels inutilisés pendant 90 jours ou plus. Databricks ne révoque pas les jetons avec des durées de vie supérieures à 90 jours tant que les jetons sont activement utilisés.
En guise de meilleure pratique de sécurité, Databricks recommande l’utilisation de jetons OAuth sur des PAT. Si vous effectuez la transition de votre authentification à partir de PATs vers OAuth, Databricks recommande d’utiliser des jetons de courte durée pour une sécurité plus forte.
Définissez maxTokenLifetimeDays
sur la durée de vie maximale des nouveaux jetons en jours, sous la forme d’un entier. Si vous le définissez sur zéro, les nouveaux jetons sont autorisés à n’avoir aucune limite de durée de vie. 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"
}'
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
Cette section explique comment utiliser l’interface CLI Databricks pour gérer les jetons existants dans l’espace de travail. Vous pouvez également utiliser l’API gestion des jetons.
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
Révocation automatique d’anciens jetons d’accès
Databricks révoque automatiquement les PAT pour vos espaces de travail Azure Databricks lorsque le jeton n’a pas été utilisé dans 90 jours ou plus. En guise de bonne pratique, auditez régulièrement les PAT dans votre compte Azure Databricks et supprimez les éléments inutilisés avant qu’ils ne soient révoqués automatiquement. Importez et exécutez le notebook fourni dans Évaluer l’utilisation des jetons d’accès personnels dans votre compte Databricks pour déterminer le nombre de PAT non expirés dans le compte Azure Databricks de votre organisation.
Databricks vous recommande de configurer le compte Azure Databricks de votre organisation afin d’utiliser des jetons OAuth pour l’authentification d’accès au lieu des PAT pour plus de sécurité et une plus grande facilité d’utilisation.