Partager via


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.

  1. 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.
  2. 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. Remplacez adb-0000000000000000.0.azuredatabricks.net par le nom de votre instance d’espace de travail, sans inclure le https://. Dans cet exemple, le 00000000-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 commande az 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-000000000000de 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>
      
  3. 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 de Tenant ID (Directory (tenant) ID), Client ID (Application (client) ID) et Client 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>
    
  4. 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>
    
  5. 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 est 2ff814a6-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.