Obtenir des jetons Microsoft Entra ID pour les utilisateurs avec Azure CLI

Important

Cet article explique comment créer manuellement des jetons Microsoft Entra ID pour les utilisateurs à l'aide d'Azure CLI.

Databricks ne recommande pas de créer manuellement des jetons Microsoft Entra ID pour les utilisateurs Azure Databricks. C’est parce que chaque jeton Microsoft Entra ID est de courte durée et expire généralement dans l’heure. Au-delà de ce délai, vous devez générer manuellement un jeton Microsoft Entra ID de remplacement. Utilisez plutôt l’un des outils ou SDK participants qui implémentent la norme d’authentification unifiée du client Databricks. Ces outils et kits de développement logiciel (SDK) génèrent et remplacent automatiquement pour vous les jetons Microsoft Entra ID expirés, en exploitant l’authentification Azure CLI.

Vous pouvez utiliser Azure CLI pour obtenir des jetons d'accès Microsoft Entra ID pour les utilisateurs.

Remarque

Vous pouvez également définir un principal de service dans Azure Active Directory et obtenir un jeton d'accès Microsoft Entra ID pour ce principal de service plutôt que pour un utilisateur. Consultez Obtenir des jetons Microsoft Entra ID pour les principaux de service.

  1. Obtenez l’ID d’abonnement Azure approprié pour votre compte d’utilisateur. Si vous ne le connaissez pas encore, effectuez 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 ensuite le champ ID d’abonnement, qui contient l’ID d’abonnement.

    • Utilisez l’interface Azure CLI pour exécuter la commande az databricks workspace list 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 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 mauvais tenant : The subscription of '<subscription-id>' doesn't exist in cloud 'AzureCloud'. Pour vous connecter au bon tenant, vous devez réexécuter la commande az login en utilisant l’option -t ou --tenant pour spécifier l’ID du tenant 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, puis en recherchant la sortie < location: https://login.microsoftonline.com/00000000-0000-0000-0000-000000000000, où 00000000-0000-0000-0000-000000000000 représente l’ID de locataire. Consultez également Obtenir des ID d’abonnement et de locataire dans le Portail Azure.

      az login -t <tenant-id>
      
  2. Une fois que vous disposez de l’ID d’abonnement Azure approprié pour votre compte d’utilisateur, commencez par vous connecter à Azure en utilisant Azure CLI afin d’exécuter la commande az login. Après avoir exécuté cette commande, suivez les instructions à l’écran pour terminer la connexion avec votre compte.

    az login
    
  3. Vérifiez que vous êtes connecté à l’abonnement approprié pour votre utilisateur connecté. 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>
    
  4. Générez votre jeton d'accès Microsoft Entra ID 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 Microsoft Entra ID dans la sortie de la commande en utilisant les options --query et -o ou --output.

    az account get-access-token \
    --resource 2ff814a6-3304-4ab8-85cb-cd0e6f879c1d \
    --query "accessToken" \
    -o tsv
    

Remarque

L’interface de ligne de commande Azure basée sur MSAL utilise Microsoft Authentication Library (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 utilisateur. Consultez Obtenir des jetons Microsoft Entra ID pour les utilisateurs à l’aide de l’interface CLI.