Condividi tramite


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 Microsoft Entra ID, supportate anche 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, vedere:

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, .databrickscfg i campi, i campi terraform o Config i campi associati seguenti in una macchina virtuale di Azure supportata correttamente:

  • Host di 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.
  • ID tenant dell'identità gestita.
  • ID client dell'identità gestita.
  • 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 uno specifico tipo di autenticazione di Azure Databricks con uno strumento o un SDK, vedere Tipi di autenticazione supportati dallo strumento o dall'SDK di Azure Databricks o dalla documentazione dello strumento o dell'SDK. Vedere anche Variabili di ambiente e campi per l'autenticazione unificata client e l'ordine di valutazione predefinito per i metodi e le credenziali di autenticazione unificata client.

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

  • DATABRICKS_HOST, impostare 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, impostare sul valore dell'URL di Azure Databricks per area di lavoro, 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 DATABRICKS_HOST lavoro. 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 campi seguenti 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, vedere Tipi di autenticazione supportati dallo strumento o dall'SDK di Azure Databricks o dalla documentazione dello strumento o dell'SDK . Vedere anche Variabili di ambiente e campi per l'autenticazione unificata client e l'ordine di valutazione predefinito per i metodi e le credenziali di autenticazione unificata client.

Per le operazioni a livello di account, impostare i valori seguenti nel .databrickscfg file. 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 .databrickscfg file. In questo caso, l'host è l'URL di Azure Databricks per area di lavoro, 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 host lavoro. 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 .databrickscfg file come specificato nella sezione "Profile" di questo articolo.

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

Vedere anche Autenticazione delle identità gestite di Azure.

Connessione

Nota

Databricks Connessione 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 retrieve segnaposto con la propria implementazione per recuperare i valori dalla console o da un altro archivio di configurazione, ad esempio HashiCorp Vault. Vedere 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 retrieve segnaposto con la propria implementazione per recuperare i valori dalla console o da un altro archivio di configurazione, ad esempio HashiCorp Vault. Vedere anche Provider di insiemi di credenziali. In questo caso, l'host è l'URL di Azure Databricks per area di lavoro, 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 host lavoro. 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, vedere 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 retrieve segnaposto 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 retrieve segnaposto 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 di Azure Databricks per area di lavoro, 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 Host lavoro. 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, vedere Autenticare Databricks SDK for Go con l'account o l'area di lavoro di Azure Databricks.