Ottenere i token ID di Microsoft Entra per i principali di servizio di Microsoft Entra ID usando la CLI di Azure
Importante
Questo articolo descrive come creare manualmente i token Microsoft Entra ID per i principali del servizio Microsoft Entra ID usando Azure CLI.
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 i principali del servizio gestiti con ID Microsoft Entra nei casi in cui è necessario autenticarsi su Azure Databricks e altre risorse di Azure contemporaneamente.
Per creare un principale del servizio gestito di Azure Databricks anziché un principale del servizio gestito con Microsoft Entra ID, vedere Gestire i principali del servizio.
Databricks non raccomanda di creare manualmente i token Microsoft Entra ID per i principali del 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. Usa 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:
- Autenticazione delle identità gestite di Azure
- Autenticazione del principale servizio di MS Entra
- Autenticazione CLI di Azure
È possibile usare l'Azure CLI
Raccogliere le seguenti informazioni:
Parametro Descrizione Tenant ID
Il Directory (tenant) ID
per l'applicazione correlata registrata in Microsoft Entra ID.Client ID
L' Application (client) ID
per l'applicazione correlata registrata in Microsoft Entra ID.Client secret
Il Value
del segreto client per l'applicazione correlata registrata in Microsoft Entra ID.Ottenere l'ID sottoscrizione di Azure corretto per il principale del servizio Microsoft Entra ID, se non si conosce già questo ID, eseguendo una delle seguenti operazioni:
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 di Azure Databricks che appare, fare clic su Panoramica nella barra laterale. Cerca quindi il campo ID abbonamento, che contiene l'ID dell'abbonamento.
Usare Azure CLI per eseguire il comando az databricks workspace list, utilizzando le opzioni
--query
e-o
o--output
per affinare i risultati. Sostituireadb-0000000000000000.0.azuredatabricks.net
con il nome dell'istanza dell'area di lavoro, senza includere ilhttps://
. In questo esempio, il00000000-0000-0000-0000-000000000000
dopo/subscriptions/
nell'output è l'ID di 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: "L'abbonamento di '
' non esiste nel cloud 'AzureCloud'." Per accedere al tenant corretto, è necessario eseguire di nuovo il comando <code>az login</code> usando l'opzione <code>-t</code> o <code>--tenant</code> 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. Consultare 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, accedi ad Azure utilizzando l'Azure CLI per eseguire il comando az login. Usare l'opzione
--service-principal
insieme a specificare i 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>
Conferma di aver effettuato l'accesso alla sottoscrizione corretta per il principale del servizio Microsoft Entra ID a cui hai effettuato l'accesso. A tale scopo, eseguire il comando az account set
usando l'opzione o per specificare l'ID sottoscrizione corretto. az account set -s <subscription-id>
Generare il token di accesso Microsoft Entra ID per il principale del 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, che è2ff814a6-3304-4ab8-85cb-cd0e6f879c1d
. È possibile visualizzare solo il valore del token Microsoft Entra ID nell'output del comando usando le opzioni--query
,-o
o--output
.az account get-access-token \ --resource 2ff814a6-3304-4ab8-85cb-cd0e6f879c1d \ --query "accessToken" \ -o tsv
Nota
Azure CLI basato su MSAL utilizza la 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. Consulta per ottenere i token ID di Microsoft Entra per le entità servizio.