Ottenere i token ID Di Microsoft Entra per le entità servizio Microsoft Entra ID usando l'interfaccia della riga di comando di Azure
Importante
Questo articolo descrive come creare manualmente i token ID Microsoft Entra per le entità servizio Microsoft Entra ID usando l'interfaccia della riga di comando di Azure.
Le entità servizio gestite di Azure Databricks vengono gestite direttamente in Azure Databricks. Le entità servizio gestite da Microsoft Entra ID vengono gestite in Microsoft Entra ID, che richiede autorizzazioni aggiuntive. Databricks consiglia di usare le entità servizio gestite di Azure Databricks per la maggior parte dei casi d'uso. Tuttavia, Databricks consiglia di usare le entità servizio gestite con ID Microsoft Entra nei casi in cui è necessario eseguire l'autenticazione con Azure Databricks e altre risorse di Azure contemporaneamente.
Per creare un'entità servizio gestita di Azure Databricks anziché un'entità servizio gestita con ID Microsoft Entra, vedere Gestire le entità servizio.
Databricks non consiglia di creare manualmente token ID Microsoft Entra per le entità servizio Microsoft Entra ID. Ciò è dovuto al fatto che ogni token ID di Microsoft Entra è di breve durata, in genere scaduto entro un'ora. Dopo questa volta, è necessario generare manualmente un token ID Microsoft Entra sostitutivo. Usare invece uno degli strumenti o degli SDK partecipanti che implementano lo standard di autenticazione unificata del client Databricks. Questi strumenti e SDK generano e sostituiscono automaticamente i token ID Microsoft Entra scaduti, sfruttando i tipi di autenticazione di Databricks seguenti:
È possibile usare l'interfaccia della riga di comando di Azure per ottenere i token di accesso di Microsoft Entra ID per le entità servizio Microsoft Entra ID.
Raccogliere le seguenti informazioni:
Parametro Descrizione Tenant ID
Oggetto Directory (tenant) ID
per l'applicazione correlata registrata in Microsoft Entra ID.Client ID
Oggetto Application (client) ID
per l'applicazione correlata registrata in Microsoft Entra ID.Client secret
Oggetto Value
del segreto client per l'applicazione correlata registrata in Microsoft Entra ID.Ottenere l'ID sottoscrizione di Azure corretto per l'entità servizio Microsoft Entra ID, se non si conosce già questo ID, eseguendo una delle operazioni seguenti:
Nella barra di spostamento superiore dell'area di lavoro di Azure Databricks fare clic sul nome utente e quindi su Portale di Azure. Nella pagina della risorsa dell'area di lavoro di Azure Databricks visualizzata fare clic su Panoramica nella barra laterale. Cercare quindi il campo ID sottoscrizione, che contiene l'ID sottoscrizione.
Usare l'interfaccia della riga di comando di Azure per eseguire il comando az databricks workspace list usando le
--query
opzioni e-o
e--output
per limitare i risultati. Sostituireadb-0000000000000000.0.azuredatabricks.net
con il nome dell'istanza dell'area di lavoro, non incluso .https://
In questo esempio, il00000000-0000-0000-0000-000000000000
valore after/subscriptions/
nell'output è l'ID sottoscrizione.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
Se viene visualizzato il messaggio seguente, si è connessi al tenant errato:
The subscription of '<subscription-id>' doesn't exist in cloud 'AzureCloud'.
per accedere al tenant corretto, è necessario eseguire di nuovo ilaz login
comando usando l'opzione-t
o--tenant
per specificare l'ID tenant corretto.È possibile ottenere l'ID tenant per un'area di lavoro di Azure Databricks eseguendo il comando
curl -v <per-workspace-URL>/aad/auth
e cercando nell'output< location: https://login.microsoftonline.com/00000000-0000-0000-0000-000000000000
, dove00000000-0000-0000-0000-000000000000
è l'ID tenant. Vedere anche Ottenere gli ID sottoscrizione e tenant nel portale di Azure.az login -t <tenant-id>
Dopo aver ottenuto l'ID tenant di Azure corretto, l'ID client, il segreto client e l'ID sottoscrizione per l'entità servizio Microsoft Entra ID, accedere ad Azure usando l'interfaccia della riga di comando di Azure per eseguire il comando az login . Usare l'opzione
--service-principal
insieme alla specifica dei valori per i parametri diTenant ID
(Directory (tenant) ID
),Client ID
(Application (client) ID
) eClient secret
(Value
) per l'applicazione correlata registrata in Microsoft Entra ID.az login \ --service-principal \ -t <Tenant-ID> \ -u <Client-ID> \ -p <Client-secret>
Verificare di aver eseguito l'accesso alla sottoscrizione corretta per l'entità servizio Microsoft Entra ID connesso. A tale scopo, eseguire il comando az account set usando l'opzione
-s
o--subscription
per specificare l'ID sottoscrizione corretto.az account set -s <subscription-id>
Generare il token di accesso Microsoft Entra ID per l'entità servizio Microsoft Entra ID connesso eseguendo il comando az account get-access-token . Usare l'opzione
--resource
per specificare l'ID risorsa univoco per il servizio Azure Databricks, ovvero2ff814a6-3304-4ab8-85cb-cd0e6f879c1d
. È possibile visualizzare solo il valore del token MICROSOFT Entra ID nell'output del comando usando le--query
opzioni e-o
o--output
.az account get-access-token \ --resource 2ff814a6-3304-4ab8-85cb-cd0e6f879c1d \ --query "accessToken" \ -o tsv
Nota
L'interfaccia della riga di comando di Azure basata su MSAL usa Microsoft Authentication Library (MSAL) come libreria di autenticazione sottostante. Se non è possibile usare correttamente il token di accesso microsoft Entra ID generato dall'interfaccia della riga di comando di Azure, in alternativa è possibile provare a usare DIRETTAMENTE MSAL per ottenere un token di accesso microsoft Entra ID per un'entità servizio Microsoft Entra ID. Vedere Ottenere i token ID Di Microsoft Entra per le entità servizio.