Condividi tramite


Panoramica dell'autenticazione delle identità gestite di Azure

L'autenticazione delle identità gestite di Azure usa le identità gestite per le risorse di Azure (in precedenza Identità del servizio gestito) per l'autenticazione con Azure Databricks. Le chiamate a livello di codice all'account e alle operazioni dell'area di lavoro di Azure databricks usano questa identità gestita quando si usano risorse di Azure che supportano identità gestite, ad esempio macchine virtuali di Azure.

Nota

Le identità gestite per le risorse di Azure sono diverse dalle entità servizio di Microsoft Entra ID, supportate a loro volta da Azure Databricks per l'autenticazione. Per informazioni su come usare le entità servizio Microsoft Entra ID per l'autenticazione di Azure Databricks anziché le identità gestite per le risorse di Azure, consultare:

L'autenticazione delle identità gestite di Azure è supportata solo tra risorse configurate correttamente che supportano identità gestite, ad esempio macchine virtuali di Azure (VM di Azure) e account e aree di lavoro di Azure Databricks.

Per configurare l'autenticazione delle identità gestite di Azure con Azure Databricks, è necessario impostare le variabili di ambiente, i campi .databrickscfg, i campi Terraform o i campi Config associati seguenti in una macchina virtuale di Azure supportata correttamente:

  • Host Azure Databricks.
    • Per le operazioni dell'account, specificare https://accounts.azuredatabricks.net.
    • Per le operazioni dell'area di lavoro, specificare l'URL per area di lavoro, ad esempio https://adb-1234567890123456.7.azuredatabricks.net.
  • Per le operazioni dell'account, l'ID dell'account Azure Databricks.
  • Il tenant ID dell'identità gestita.
  • Il client ID dell’entità gestita.
  • L’ID risorsa di Azure.
  • Impostare Azure use managed identities (Usare identità gestite) su true.

Per eseguire l'autenticazione delle identità gestite di Azure con Azure Databricks, integrare quanto segue all'interno del codice, in base allo strumento o all'SDK partecipanti:

Ambiente

Per usare le variabili di ambiente per un tipo di autenticazione di Azure Databricks specifico con uno strumento o un SDK, consultare Autenticare l'accesso alle risorse di Azure Databricks o alla documentazione dello strumento o dell'SDK. Consultare anche Variabili di ambiente e campi per l'autenticazione unificata client e i metodi predefiniti per l'autenticazione unificata client.

Per le operazioni a livello di account, impostare le variabili di ambiente seguenti:

  • DATABRICKS_HOST, impostato sul valore dell'URL della console dell'account Azure Databricks, https://accounts.azuredatabricks.net.
  • DATABRICKS_ACCOUNT_ID
  • ARM_CLIENT_ID
  • ARM_USE_MSI impostato su true.

Per le operazioni a livello di area di lavoro, impostare le variabili di ambiente seguenti:

  • DATABRICKS_HOST, impostato sul valore dell’URL per singola area di lavoro di Azure Databricks, ad esempio https://adb-1234567890123456.7.azuredatabricks.net.
  • ARM_CLIENT_ID
  • ARM_USE_MSI impostato su true.

Per le operazioni a livello di area di lavoro, se l'identità di destinazione non è già stata aggiunta all'area di lavoro, specificare DATABRICKS_AZURE_RESOURCE_ID insieme all'ID risorsa di Azure per l'area di lavoro di Azure Databricks anziché all'URL dell'area di lavoro DATABRICKS_HOST. In questo caso, l'identità di destinazione deve avere almeno le autorizzazioni Collaboratore o Proprietario per la risorsa di Azure per l'area di lavoro di Azure Databricks.

Profilo

Creare o identificare un profilo di configurazione di Azure Databricks con i seguenti campi nel .databrickscfg file. Se si crea il profilo, sostituire i segnaposto con i valori appropriati. Per usare il profilo con uno strumento o un SDK, consultare Autenticare l'accesso alle risorse di Azure Databricks o alla documentazione dello strumento o dell'SDK. Consultare anche Variabili di ambiente e campi per l'autenticazione unificata client e i metodi predefiniti per l'autenticazione unificata client.

Per le operazioni a livello di account, impostare i valori seguenti nel file .databrickscfg. In questo caso, l'URL della console dell'account Azure Databricks è https://accounts.azuredatabricks.net:

[<some-unique-configuration-profile-name>]
host            = <account-console-url>
account_id      = <account-id>
azure_client_id = <azure-managed-identity-application-id>
azure_use_msi   = true

Per le operazioni a livello di area di lavoro, impostare i valori seguenti nel file .databrickscfg. In questo caso, l'host è l'URL per area di lavoro di Azure Databricks, ad esempio https://adb-1234567890123456.7.azuredatabricks.net:

[<some-unique-configuration-profile-name>]
host            = <workspace-url>
azure_client_id = <azure-managed-identity-application-id>
azure_use_msi   = true

Per le operazioni a livello di area di lavoro, se l'identità di destinazione non è già stata aggiunta all'area di lavoro, specificare azure_workspace_resource_id insieme all'ID risorsa di Azure per l'area di lavoro di Azure Databricks anziché all'URL dell'area di lavoro host. In questo caso, l'identità di destinazione deve avere almeno le autorizzazioni Collaboratore o Proprietario per la risorsa di Azure per l'area di lavoro di Azure Databricks.

CLI

Per l'interfaccia della riga di comando di Databricks, eseguire una delle operazioni seguenti:

  • Impostare le variabili di ambiente come specificato nella sezione “Ambiente” di questo articolo.
  • Impostare i valori nel file .databrickscfg come specificato nella sezione "Profile" di questo articolo.

Le variabili di ambiente hanno sempre la precedenza sui valori nel file .databrickscfg.

Consultare anche Autenticazione delle identità gestite di Azure.

Connessione

Nota

Databricks Connect si basa su Databricks SDK per Python per l'autenticazione. Databricks SDK per Python non ha ancora implementato l'autenticazione delle identità gestite di Azure.

VS Code

Nota

L'estensione Databricks per Visual Studio Code non supporta ancora l'autenticazione delle identità gestite di Azure.

Terraform

Per le operazioni a livello di account, per l'autenticazione predefinita:

provider "databricks" {
  alias = "accounts"
}

Per la configurazione diretta (sostituire i segnaposto retrieve con la propria implementazione per recuperare i valori dalla console o da un altro archivio di configurazione, ad esempio HashiCorp Vault. Consultare anche Provider di insiemi di credenziali). In questo caso, l'URL della console dell'account Azure Databricks è https://accounts.azuredatabricks.net:

provider "databricks" {
  alias           = "accounts"
  host            = <retrieve-account-console-url>
  account_id      = <retrieve-account-id>
  azure_client_id = <retrieve-azure-client-id>
  azure_use_msi   = true
}

Per le operazioni a livello di area di lavoro, per l'autenticazione predefinita:

provider "databricks" {
  alias = "workspace"
}

Per la configurazione diretta (sostituire i segnaposto retrieve con la propria implementazione per recuperare i valori dalla console o da un altro archivio di configurazione, ad esempio HashiCorp Vault. Consultare anche Provider di insiemi di credenziali). In questo caso, l'host è l'URL per area di lavoro di Azure Databricks, ad esempio https://adb-1234567890123456.7.azuredatabricks.net:

provider "databricks" {
  alias           = "workspace"
  host            = <retrieve-workspace-url>
  azure_client_id = <retrieve-azure-client-id>
  azure_use_msi   = true
}

Per le operazioni a livello di area di lavoro, se l'identità di destinazione non è già stata aggiunta all'area di lavoro, specificare azure_workspace_resource_id insieme all'ID risorsa di Azure per l'area di lavoro di Azure Databricks anziché all'URL dell'area di lavoro host. In questo caso, l'identità di destinazione deve avere almeno le autorizzazioni Collaboratore o Proprietario per la risorsa di Azure per l'area di lavoro di Azure Databricks.

Per altre informazioni sull'autenticazione con il provider Databricks Terraform, consultare Autenticazione.

Python

Nota

Databricks SDK per Python non ha ancora implementato l'autenticazione delle identità gestite di Azure.

Java

Nota

Databricks SDK per Java non ha ancora implementato l'autenticazione delle identità gestite di Azure.

Go

Per le operazioni a livello di account, per l'autenticazione predefinita:

import (
  "github.com/databricks/databricks-sdk-go"
)
// ...
a := databricks.Must(databricks.NewAccountClient())
// ...

Per la configurazione diretta (sostituire i segnaposto retrieve con la propria implementazione per recuperare i valori dalla console o da un altro archivio di configurazione, ad esempio Azure KeyVault). In questo caso, l'URL della console dell'account Azure Databricks è https://accounts.azuredatabricks.net:

import (
  "github.com/databricks/databricks-sdk-go"
)
// ...
a := databricks.Must(databricks.NewAccountClient(&databricks.Config{
  Host:          retrieveAccountConsoleUrl(),
  AccountId:     retrieveAccountId(),
  AzureClientId: retrieveAzureClientId(),
  AzureUseMSI:   true,
}))
// ...

Per le operazioni a livello di area di lavoro, per l'autenticazione predefinita:

import (
  "github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient())
// ...

Per la configurazione diretta (sostituire i segnaposto retrieve con la propria implementazione per recuperare i valori dalla console o da un altro archivio di configurazione, ad esempio Azure KeyVault). In questo caso, l'host è l'URL per area di lavoro di Azure Databricks, ad esempio https://adb-1234567890123456.7.azuredatabricks.net:

import (
  "github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient(&databricks.Config{
  Host:          retrieveWorkspaceUrl(),
  AzureClientId: retrieveAzureClientId(),
  AzureUseMSI:   true,
}))
// ...

Per le operazioni a livello di area di lavoro, se l'identità di destinazione non è già stata aggiunta all'area di lavoro, specificare AzureResourceID insieme all'ID risorsa di Azure per l'area di lavoro di Azure Databricks anziché all'URL dell'area di lavoro Host. In questo caso, l'identità di destinazione deve avere almeno le autorizzazioni Collaboratore o Proprietario per la risorsa di Azure per l'area di lavoro di Azure Databricks.

Per altre informazioni sull'autenticazione con gli strumenti e gli SDK di Databricks che usano Go e che implementano l'autenticazione unificata del client Databricks, consultare Autenticare Databricks SDK for Go con l'account o l'area di lavoro di Azure Databricks.