Autenticazione dell’entità servizio di MS Entra
L'autenticazione dell'entità servizio MS Entra usa le credenziali di un'entità servizio MS Entra per l'autenticazione. Per creare e gestire entità servizio per Azure Databricks, consultare:
Nota
Databricks consiglia di usare l'autenticazione OAuth da computer a computer (M2M) nella maggior parte degli scenari invece dell'autenticazione dell'entità servizio MS Entra. Ciò è dovuto al fatto che l'autenticazione OAuth M2M usa token di accesso OAuth di Azure Databricks più affidabili quando si esegue l'autenticazione solo con Azure Databricks.
È consigliabile usare l'autenticazione dell'entità servizio MS Entra solo nei casi in cui è necessario eseguire l'autenticazione con Azure Databricks e altre risorse di Azure contemporaneamente.
Per usare l'autenticazione OAuth M2M anziché l'autenticazione con le entità servizio MS Entra, ignorare questo articolo e consultare Autenticare l'accesso ad Azure Databricks con un'entità servizio usando OAuth (OAuth M2M).
Le identità di servizio MS Entra sono diverse dalle entità gestite delle risorse di Azure, supportate a loro volta da Azure Databricks per l'autenticazione. Per informazioni su come usare le identità gestite per le risorse di Azure anziché le entità servizio MS Entra per l'autenticazione di Azure Databricks, consultare Configurare e usare l'autenticazione delle identità gestite di Azure per l'automazione di Azure Databricks.
Per informazioni dettagliate sull'autenticazione di Microsoft Entra in Databricks con Azure DevOps in particolare, consultare Eseguire l'autenticazione con Azure DevOps in Databricks.
Per configurare l'entità di servizio di MS Entra con Azure Databricks, è necessario impostare le variabili di ambiente, i campi .databrickscfg
, i campi Terraform o i campi Config
associati seguenti:
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
.Se l'entità servizio MS Entra non è già stata aggiunta all'area di lavoro, specificare invece l'ID risorsa di Azure. In questo caso, l'entità servizio MS Entra deve avere almeno le autorizzazioni Collaboratore o Proprietario per la risorsa di Azure.
Per le operazioni dell'account, l'ID dell'account Azure Databricks.
L’ID risorsa di Azure.
ID tenant dell'entità servizio MS Entra.
l'ID client dell'entità servizio MS Entra.
Segreto client dell'entità servizio MS Entra.
Per eseguire l'autenticazione dell'entità servizio MS Entra con Azure Databricks, integrare quanto segue all'interno del codice, in base allo strumento o all'SDK partecipante:
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_TENANT_ID
ARM_CLIENT_ID
ARM_CLIENT_SECRET
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 esempiohttps://adb-1234567890123456.7.azuredatabricks.net
.ARM_TENANT_ID
ARM_CLIENT_ID
ARM_CLIENT_SECRET
Per le operazioni a livello di area di lavoro, se l'identità di servizio MS Entra 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 lavoroHOST
. In questo caso, l'identità di servizio MS Entra deve avere almeno le autorizzazioni Collaboratore o Proprietario per la risorsa di Azure per l'area di lavoro di Azure Databricks.
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_tenant_id = <azure-service-principal-tenant-id>
azure_client_id = <azure-service-principal-application-id>
azure_client_secret = <azure-service-principal-client-secret>
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_tenant_id = <azure-service-principal-tenant-id>
azure_client_id = <azure-service-principal-application-id>
azure_client_secret = <azure-service-principal-client-secret>
Per le operazioni a livello di area di lavoro, se l'identità di servizio MS Entra 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 servizio MS Entra deve avere almeno le autorizzazioni Collaboratore o Proprietario per la risorsa di Azure per l'area di lavoro di Azure Databricks.
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 entità servizio di Microsoft Entra ID.
Nota
L'autenticazione dell'entità servizio MS Entra è supportata nelle versioni seguenti di Databricks Connect:
- Per Python, Databricks Connect per Databricks Runtime 13.1 e versioni successive.
- Per Scala, Databricks Connect per Databricks Runtime 13.3 LTS e versioni successive.
Per Databricks Connect, è possibile eseguire una delle operazioni seguenti:
- Impostare i valori nel file
.databrickscfg
per le operazioni a livello di area di lavoro di Azure Databricks come specificato nella sezione “Profilo” di questo articolo. Impostare anche lacluster_id
variabile di ambiente nel profilo sull'URL per area di lavoro, ad esempiohttps://adb-1234567890123456.7.azuredatabricks.net
. - Impostare le variabili di ambiente per le operazioni a livello di area di lavoro di Azure Databricks come specificato nella sezione “Ambiente” di questo articolo. Impostare anche la
DATABRICKS_CLUSTER_ID
variabile di ambiente sull’URL per area di lavoro, ad esempiohttps://adb-1234567890123456.7.azuredatabricks.net
.
I valori nel file .databrickscfg
hanno sempre la precedenza sulle variabili di ambiente.
Per inizializzare il client Databricks Connect con queste variabili di ambiente o valori nel .databrickscfg
file, consultare una delle opzioni seguenti:
- Per Python, consultare Configurare le proprietà di connessione per Python.
- Per Scala, consultare Configurare le proprietà di connessione per Scala.
Per l’estensione Databricks per Visual Studio Code, eseguire le operazioni seguenti:
- Impostare i valori nel file
.databrickscfg
per le operazioni a livello di area di lavoro di Azure Databricks come specificato nella sezione “Profilo” di questo articolo. - Nel riquadro Configurazione dell'estensione Databricks per Visual Studio Code fare clic su Configura Databricks.
- Nel Riquadro Comandi, per Host Databricks, immettere l'URL per area di lavoro, ad esempio
https://adb-1234567890123456.7.azuredatabricks.net
e poi cliccareEnter
. - Nel Riquadro Comandi selezionare il nome del profilo di destinazione nell'elenco per l'URL.
Per ulteriori dettagli, consultare Configurazione dell'autenticazione per l'estensione Databricks per Visual Studio Code.
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_tenant_id = <retrieve-azure-tenant-id>
azure_client_id = <retrieve-azure-client-id>
azure_client_secret = <retrieve-azure-client-secret>
}
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_tenant_id = <retrieve-azure-tenant-id>
azure_client_id = <retrieve-azure-client-id>
azure_client_secret = <retrieve-azure-client-secret>
}
Per le operazioni a livello di area di lavoro, se l'identità di servizio MS Entra 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 servizio MS Entra 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.
Per le operazioni a livello di account, per l'autenticazione predefinita:
from databricks.sdk import AccountClient
a = AccountClient()
# ...
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
:
from databricks.sdk import AccountClient
a = AccountClient(
host = retrieve_account_console_url(),
account_id = retrieve_account_id(),
azure_tenant_id = retrieve_azure_tenant_id(),
azure_client_id = retrieve_azure_client_id(),
azure_client_secret = retrieve_azure_client_secret()
)
# ...
Per le operazioni a livello di area di lavoro, per l'autenticazione predefinita:
from databricks.sdk import WorkspaceClient
w = WorkspaceClient()
# ...
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
:
from databricks.sdk import WorkspaceClient
w = WorkspaceClient(
host = retrieve_workspace_url(),
azure_tenant_id = retrieve_azure_tenant_id(),
azure_client_id = retrieve_azure_client_id(),
azure_client_secret = retrieve_azure_client_secret()
)
# ...
Per le operazioni a livello di area di lavoro, se l'identità di servizio MS Entra 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 servizio MS Entra 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 Python e che implementano l'autenticazione unificata del client Databricks, consultare:
- Configurare il client Databricks Connect per Python
- Configurazione dell'autenticazione per l'estensione Databricks per Visual Studio Code
- Autenticare Databricks SDK per Python con l'account o l'area di lavoro di Azure Databricks
Per le operazioni a livello di account, per l'autenticazione predefinita:
import com.databricks.sdk.AccountClient;
// ...
AccountClient a = new AccountClient();
// ...
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 com.databricks.sdk.AccountClient;
import com.databricks.sdk.core.DatabricksConfig;
// ...
DatabricksConfig cfg = new DatabricksConfig()
.setHost(retrieveAccountConsoleUrl())
.setAccountId(retrieveAccountId())
.setAzureTenantId(retrieveAzureTenantId())
.setAzureClientId(retrieveAzureClientId())
.setAzureClientSecret(retrieveAzureClientSecret())
AccountClient a = new AccountClient(cfg);
// ...
Per le operazioni a livello di area di lavoro, per l'autenticazione predefinita:
import com.databricks.sdk.WorkspaceClient;
// ...
WorkspaceClient w = new WorkspaceClient();
// ...
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 com.databricks.sdk.WorkspaceClient;
import com.databricks.sdk.core.DatabricksConfig;
// ...
DatabricksConfig cfg = new DatabricksConfig()
.setHost(retrieveWorkspaceUrl())
.setAzureTenantId(retrieveAzureTenantId())
.setAzureClientId(retrieveAzureClientId())
.setAzureClientSecret(retrieveAzureClientSecret())
WorkspaceClient w = new WorkspaceClient(cfg);
// ...
Per le operazioni a livello di area di lavoro, se l'identità di servizio MS Entra non è già stata aggiunta all'area di lavoro, specificare setAzureWorkspaceResourceId
insieme all'ID risorsa di Azure per l'area di lavoro di Azure Databricks anziché all'URL dell'area di lavoro setHost
. In questo caso, l'identità di servizio MS Entra 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 Java e che implementano l’autenticazione unificata del client Databricks, consultare:
- Configurare il client Databricks Connect per Scala (il client Databricks Connect per Scala usa l'SDK di Databricks incluso per Java per l'autenticazione)
- Autenticare Databricks SDK per Java con l'account o l'area di lavoro di Azure Databricks
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(),
AzureTenantId: retrieveAzureTenantId(),
AzureClientId: retrieveAzureClientId(),
AzureClientSecret: retrieveAzureClientSecret(),
}))
// ...
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(),
AzureTenantId: retrieveAzureTenantId(),
AzureClientId: retrieveAzureClientId(),
AzureClientSecret: retrieveAzureClientSecret(),
}))
// ...
Per le operazioni a livello di area di lavoro, se l'identità di servizio MS Entra non è già stata aggiunta all'area di lavoro, specificare AzureWorkspaceResourceId
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 servizio MS Entra 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.