Obtenir des jetons Microsoft Entra ID pour des principaux de service Microsoft Entra ID à l’aide d’Azure CLI
Important
Cet article explique comment créer manuellement des jetons Microsoft Entra ID pour des principaux de service en utilisant l’interface Azure CLI.
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 recommande d’utiliser des principaux de service géré Azure Databricks pour la plupart des cas d’usage. Toutefois, Databricks vous recommande d’utiliser des principaux de service géré Microsoft Entra ID dans les cas où vous devez vous authentifier auprès d’Azure Databricks et d’autres ressources Azure en même temps.
Pour créer un principal de service géré Azure Databricks au lieu d’un principal de service géré Microsoft Entra ID, consultez Gérer les principaux de service.
Databricks ne vous recommande pas de créer manuellement des jetons Microsoft Entra ID pour les principaux de service Microsoft Entra ID. Cela est dû au fait que chaque jeton d’ID Microsoft Entra est de courte durée, généralement expiré dans un délai d’une heure. Après cette période, vous devez générer manuellement un jeton d’ID Microsoft Entra de remplacement. Utilisez plutôt l'un des outils ou Kits SDK disponibles qui implémentent la norme d'authentification unifiée du client Databricks . Ces outils et kits sdk génèrent et remplacent automatiquement les jetons d’ID Microsoft Entra expirés pour vous, en tirant parti des types d’authentification Databricks suivants :
Vous pouvez utiliser Azure CLI pour obtenir des jetons d’accès Microsoft Entra ID pour des principaux de service Microsoft Entra ID.
Rassemblez les informations suivantes :
Paramètre Description Tenant ID
Directory (tenant) ID
pour l’application associée inscrite dans Microsoft Entra ID.Client ID
Application (client) ID
pour l’application associée inscrite dans Microsoft Entra ID.Client secret
Value
de la clé secrète client pour l’application associée inscrite dans Microsoft Entra ID.Obtenez l’ID d’abonnement Azure correct pour le principal du service Microsoft Entra ID, si vous ne connaissez pas déjà cet ID, en effectuant l’une des opérations suivantes :
Dans la barre de navigation supérieure de votre espace de travail Azure Databricks, cliquez sur votre nom d’utilisateur, puis sur portail Azure. Dans la page de ressources de l’espace de travail Azure Databricks qui s’affiche, cliquez sur Vue d’ensemble dans la barre latérale. Recherchez alors le champ ID d’abonnement, qui contient l’ID d’abonnement.
Utilisez la commande az databricks workspace list via le Azure CLI, en utilisant les options
--query
et-o
ou--output
pour affiner les résultats. Remplacezadb-0000000000000000.0.azuredatabricks.net
par le nom de votre instance d’espace de travail, sans inclure lehttps://
. Dans cet exemple, le00000000-0000-0000-0000-000000000000
après/subscriptions/
dans la sortie est l’ID d’abonnement.az databricks workspace list --query "[?workspaceUrl==\`adb-0000000000000000.0.azuredatabricks.net\`].{id:id}" -o tsv # /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-rg/providers/Microsoft.Databricks/workspaces/my-ws
Si le message suivant s’affiche, vous êtes connecté au locataire incorrect :
The subscription of '<subscription-id>' doesn't exist in cloud 'AzureCloud'.
Pour vous connecter au locataire approprié, vous devez réexécuter la commandeaz login
, en utilisant l’option-t
ou--tenant
pour spécifier l’ID de locataire approprié.Vous pouvez obtenir l’ID de locataire d’un espace de travail Azure Databricks en exécutant la commande
curl -v <per-workspace-URL>/aad/auth
et en recherchant l'< location: https://login.microsoftonline.com/00000000-0000-0000-0000-000000000000
de sortie, où00000000-0000-0000-0000-000000000000
est l’ID de locataire. Consultez également Obtenir des ID d’abonnement et de locataire dans le portail Azure.az login -t <tenant-id>
Une fois que vous avez l’ID de tenant Azure, l’ID client, la clé secrète client et l’ID d’abonnement pour votre principal de service Microsoft Entra ID, connectez-vous à Azure en utilisant l’interface Azure CLI pour exécuter la commande az login. Utilisez l’option
--service-principal
ainsi que la spécification des valeurs des paramètres deTenant ID
(Directory (tenant) ID
),Client ID
(Application (client) ID
) etClient secret
(Value
) pour l’application associée inscrite dans l’ID Microsoft Entra.az login \ --service-principal \ -t <Tenant-ID> \ -u <Client-ID> \ -p <Client-secret>
Vérifiez que vous êtes bien connecté(e) à l’abonnement approprié pour votre service principal Microsoft Entra ID. Pour ce faire, exécutez la commande az account set, en utilisant l’option
-s
ou--subscription
pour spécifier l’ID d’abonnement approprié.az account set -s <subscription-id>
Générez le jeton d’accès Microsoft Entra ID pour le principal de service Microsoft Entra ID connecté en exécutant la commande az account get-access-token. Utilisez l’option
--resource
pour spécifier l’ID de ressource unique pour le service Azure Databricks, qui est2ff814a6-3304-4ab8-85cb-cd0e6f879c1d
. Vous pouvez afficher uniquement la valeur du jeton d’ID Microsoft Entra dans la sortie de la commande à l’aide des options--query
et-o
ou--output
.az account get-access-token \ --resource 2ff814a6-3304-4ab8-85cb-cd0e6f879c1d \ --query "accessToken" \ -o tsv
Note
L'Azure CLI basée sur MSAL utilise la bibliothèque d’authentification Microsoft (MSAL) comme bibliothèque d’authentification sous-jacente. Si vous ne parvenez pas à utiliser le jeton d’accès Microsoft Entra ID généré par Azure CLI, vous pouvez également essayer d’utiliser MSAL directement pour obtenir un jeton d’accès Microsoft Entra ID pour un principal de service Microsoft Entra ID. Consultez Obtenir des jetons Microsoft Entra ID pour les principaux de service.