Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Nota
Questa pagina si applica alle versioni del driver JDBC di Databricks precedenti alla versione 3. Per Databricks JDBC Driver versione 3 e successive, vedere Driver JDBC di Databricks.
Questa pagina descrive come configurare le impostazioni di autenticazione di Azure Databricks per il driver JDBC di Databricks.
Il driver JDBC di Databricks supporta i seguenti tipi di autenticazione di Azure Databricks:
- Token di Microsoft Entra ID
- Token OAuth 2.0
- Autenticazione OAuth da utente a macchina (U2M)
- Autenticazione OAuth da utente a macchina (U2M) di Microsoft Entra ID
- Autenticazione OAuth da computer a computer (M2M)
- Autenticazione Microsoft Entra ID OAuth da macchina a macchina (M2M)
Token di Microsoft Entra ID
I driver ODBC e JDBC 2.6.15 e versioni successive supportano i token Microsoft Entra ID per un utente di Azure Databricks o un'entità servizio Microsoft Entra ID.
Per creare un token di accesso di Microsoft Entra ID, eseguire le operazioni seguenti:
- Per un utente di Azure Databricks, è possibile usare l'interfaccia della riga di comando di Azure. Consulta Ottenere manualmente i token ID di Microsoft Entra.
- Per un'entità servizio Microsoft Entra ID, vedere Ottenere i token per le entità servizio. Per creare un service principal gestito di Microsoft Entra ID, vedere Service principals.
I token di accesso di Microsoft Entra ID hanno una durata predefinita di circa un'ora. Aggiornare un token di accesso a livello di codice per una sessione esistente senza interrompere la connessione eseguendo il codice nei token di aggiornamento. Per istruzioni, vedere Uso di OAuth 2.0 nella Guida al driver JDBC di Databricks.
Per eseguire l'autenticazione con un token ID Microsoft Entra, impostare la configurazione seguente.
Per un URL di connessione JDBC con proprietà di configurazione generali incorporate e proprietà delle credenziali sensibili:
jdbc:databricks://<server-hostname>:443;httpPath=<http-path>;AuthMech=11;Auth_Flow=0;Auth_AccessToken=<microsoft-entra-id-token>
Per il codice Java con proprietà di configurazione generali e proprietà delle credenziali sensibili impostate all'esterno dell'URL di connessione JDBC:
// ...
String url = "jdbc:databricks://<server-hostname>:443";
Properties p = new java.util.Properties();
p.put("httpPath", "<http-path>");
p.put("AuthMech", "11");
p.put("Auth_Flow", "0");
p.put("Auth_AccessToken", "<microsoft-entra-id-token>");
// ...
Connection conn = DriverManager.getConnection(url, p);
// ...
- Nell'URL o nel codice Java precedente sostituire
<microsoft-entra-id-token>con il token di Microsoft Entra ID. - Per ottenere i valori per
<server-hostname>e<http-path>, vedere Impostazioni di calcolo per il driver JDBC di Databricks (Simba).
Per altre informazioni, vedere la sezione Token Pass-through in Databricks JDBC Driver Guide (HTML o PDF).
Token OAuth 2.0
Il driver JDBC 2.6.36 e versioni successive supportano un token di OAuth 2.0 per un'entità del servizio Microsoft Entra ID. Questa operazione è nota anche come autenticazione pass-through del token OAuth 2.0.
- Per creare un token OAuth 2.0 per l'autenticazione pass-through del token per un'entità servizio Microsoft Entra ID, vedere Generare manualmente token di accesso OAuth M2M. Prendere nota del valore OAuth
access_tokendel principale del servizio. - Per creare un service principal gestito di Microsoft Entra ID, vedere Service principals.
Importante
Il driver JDBC 2.6.36 e versioni successive supporta l'uso dei segreti OAuth di Azure Databricks per creare token OAuth 2.0. I segreti dell'ID Microsoft Entra non sono supportati.
I token OAuth 2.0 hanno una durata predefinita di 1 ora. Per generare un nuovo token OAuth 2.0, ripetere questo processo.
Per eseguire l'autenticazione usando l'autenticazione pass-through del token OAuth 2.0, impostare la configurazione seguente.
Per un URL di connessione JDBC con proprietà di configurazione generali incorporate e proprietà delle credenziali sensibili:
jdbc:databricks://<server-hostname>:443;httpPath=<http-path>;AuthMech=11;Auth_Flow=0;Auth_AccessToken=<oauth-token>
Per il codice Java con proprietà di configurazione generali e proprietà delle credenziali sensibili impostate all'esterno dell'URL di connessione JDBC:
// ...
String url = "jdbc:databricks://<server-hostname>:443";
Properties p = new java.util.Properties();
p.put("httpPath", "<http-path>");
p.put("AuthMech", "11");
p.put("Auth_Flow", "0");
p.put("Auth_AccessToken", "<oauth-token>");
// ...
Connection conn = DriverManager.getConnection(url, p);
// ...
- Nell'URL o nel codice Java precedente sostituire
<oauth-token>con il token OAuth di Azure Databricks. (I token ID Microsoft Entra non sono supportati per l'autenticazione pass-through del token OAuth 2.0). - Per ottenere i valori per
<server-hostname>e<http-path>, vedere Impostazioni di calcolo per il driver JDBC di Databricks (Simba).
Per altre informazioni, vedere la sezione Token Pass-through in Databricks JDBC Driver Guide (HTML o PDF).
Autenticazione utente-macchina (U2M) OAuth
Il driver JDBC 2.6.36 e versioni successive supporta l'autenticazione OAuth utente-computer (U2M) per un utente di Azure Databricks. Questa è anche nota come autenticazione OAuth 2.0 basata su browser.
L'autenticazione basata su browser OAuth U2M o OAuth 2.0 non ha prerequisiti. I token OAuth 2.0 hanno una durata predefinita di 1 ora. L'autenticazione basata su browser OAuth U2M o OAuth 2.0 deve aggiornare automaticamente i token OAuth 2.0 scaduti.
Nota
L'autenticazione basata su browser OAuth U2M o OAuth 2.0 funziona solo con le applicazioni eseguite localmente. Non funziona con applicazioni basate su server o basate sul cloud.
Per eseguire l'autenticazione usando l'autenticazione basata su browser OAuth da utente a computer (U2M) o OAuth 2.0, impostare la configurazione seguente.
Per un URL di connessione JDBC con proprietà di configurazione generali incorporate e proprietà delle credenziali sensibili:
jdbc:databricks://<server-hostname>:443;httpPath=<http-path>;AuthMech=11;Auth_Flow=2;TokenCachePassPhrase=<passphrase>;EnableTokenCache=0
Per il codice Java con proprietà di configurazione generali e proprietà delle credenziali sensibili impostate all'esterno dell'URL di connessione JDBC:
// ...
String url = "jdbc:databricks://<server-hostname>:443";
Properties p = new java.util.Properties();
p.put("httpPath", "<http-path>");
p.put("AuthMech", "11");
p.put("Auth_Flow", "2")
p.put("TokenCachePassPhrase", "<passphrase>");
p.put("EnableTokenCache", "0");
// ...
Connection conn = DriverManager.getConnection(url, p);
// ...
- Nell'URL o nel codice Java precedente sostituire
<passphrase>con una passphrase di propria scelta. Il driver usa questa chiave per la crittografia del token di aggiornamento. - Per ottenere i valori per
<server-hostname>e<http-path>, vedere Impostazioni di calcolo per il driver JDBC di Databricks (Simba).
Per altre informazioni, vedere la sezione Using Browser Based Authentication (Uso dell'autenticazione basata su browser ) nella Guida del driver JDBC di Databricks (HTML o PDF).
Autenticazione Microsoft Entra ID da utente a computer (U2M) OAuth
Il driver JDBC 2.7.1 e versioni successive supporta l'autenticazione utente-a-macchina (U2M) OAuth di Microsoft Entra ID per un utente di Azure Databricks. Questa è anche nota come autenticazione OAuth 2.0 basata su browser.
L'autenticazione basata su browser OAuth U2M o OAuth 2.0 non ha prerequisiti. I token OAuth 2.0 hanno una durata predefinita di 1 ora. L'autenticazione basata su browser OAuth U2M o OAuth 2.0 deve aggiornare automaticamente i token OAuth 2.0 scaduti.
Nota
L'autenticazione basata su browser OAuth U2M o OAuth 2.0 funziona solo con le applicazioni eseguite localmente. Non funziona con applicazioni basate su server o basate sul cloud.
Per eseguire l'autenticazione con Microsoft Entra ID OAuth da utente a computer (U2M), il client OAuth (applicazione) deve essere registrato in Microsoft Entra ID, vedere Registrare un'applicazione client in Microsoft Entra ID. Impostare quindi la configurazione seguente:
Per un URL di connessione JDBC con proprietà di configurazione generali incorporate e proprietà delle credenziali sensibili:
jdbc:databricks://<server-hostname>:443;httpPath=<http-path>;AuthMech=11;Auth_Flow=2;TokenCachePassPhrase=<passphrase>;EnableTokenCache=0;OIDCDiscoveryEndpoint=<endpoint>;EnableOIDCDiscovery=true
Per il codice Java con proprietà di configurazione generali e proprietà delle credenziali sensibili impostate all'esterno dell'URL di connessione JDBC:
// ...
String url = "jdbc:databricks://<server-hostname>:443";
Properties p = new java.util.Properties();
p.put("httpPath", "<http-path>");
p.put("AuthMech", "11");
p.put("Auth_Flow", "2")
p.put("TokenCachePassPhrase", "<passphrase>");
p.put("EnableTokenCache", "0");
p.put("OIDCDiscoveryEndpoint", "https://login.microsoftonline.com/<azureTenantId>/v2.0/.well-known/openid-configuration");
p.put("EnableOIDCDiscovery", "true");
// ...
Connection conn = DriverManager.getConnection(url, p);
// ...
- Nell'URL o nel codice Java precedente sostituire
<passphrase>con una passphrase di propria scelta. Il driver usa questa chiave per la crittografia del token di aggiornamento. - Per ottenere i valori per
<server-hostname>e<http-path>, vedere Impostazioni di calcolo per il driver JDBC di Databricks (Simba).
Per altre informazioni, vedere la sezione Using Browser Based Authentication (Uso dell'autenticazione basata su browser ) nella Guida del driver JDBC di Databricks (HTML o PDF).
Autenticazione OAuth da computer a computer (M2M)
Il driver JDBC 2.6.36 e versioni successive supporta l'autenticazione OAuth da macchina a macchina (M2M) per un principale del servizio Microsoft Entra ID. Questa operazione è nota anche come autenticazione delle credenziali client OAuth 2.0 .
Nota
JDBC 2.6.40.1071 risolve il problema delle versioni precedenti: il fatto che l'utilizzo di M2M per le aree di lavoro di collegamento privato non era supportata.
Per configurare l'autenticazione delle credenziali client OAuth M2M o OAuth 2.0, eseguire le operazioni seguenti:
Creare un'entità servizio gestita da Microsoft Entra ID e assegnarla agli account e alle aree di lavoro di Azure Databricks. A tale scopo, vedere Principali del servizio.
Creare un segreto OAuth di Azure Databricks per il principale del servizio. A tale scopo, vedere Generare manualmente token di accesso OAuth M2M.
Concedi al servizio principale l'accesso al tuo cluster o magazzino. Consulta Autorizzazioni di calcolo o Gestire un magazzino SQL.
Per eseguire l'autenticazione utilizzando OAuth da macchina a macchina (M2M) o l'autenticazione con le credenziali del client OAuth 2.0, impostare la seguente configurazione.
Per un URL di connessione JDBC con proprietà di configurazione generali incorporate e proprietà delle credenziali sensibili:
jdbc:databricks://<server-hostname>:443;httpPath=<http-path>;AuthMech=11;Auth_Flow=1;OAuth2ClientId=<service-principal-application-id>;OAuth2Secret=<service-principal-oauth-secret>
Per il codice Java con proprietà di configurazione generali e proprietà delle credenziali sensibili impostate all'esterno dell'URL di connessione JDBC:
// ...
String url = "jdbc:databricks://<server-hostname>:443";
Properties p = new java.util.Properties();
p.put("httpPath", "<http-path>");
p.put("AuthMech", "11");
p.put("Auth_Flow", "1");
p.put("OAuth2ClientId", "<service-principal-application-id>");
p.put("OAuth2Secret", "<service-principal-oauth-secret>");
// ...
Connection conn = DriverManager.getConnection(url, p);
// ...
- Nell'URL o nel codice Java precedente, sostituire i seguenti segnaposto:
- Sostituire
<service-principal-application-id>con il valore ID applicazione (client) dell'entità servizio. - Sostituire
<service-principal-oauth-secret>con il segreto OAuth di Azure Databricks dell'entità principale del servizio. I segreti di Microsoft Entra ID non sono supportati per l'autenticazione OAuth M2M o per le credenziali client OAuth 2.0. - Per ottenere i valori per
<server-hostname>e<http-path>, vedere Impostazioni di calcolo per il driver JDBC di Databricks (Simba).
- Sostituire
Per altre informazioni, vedere la sezione Using M2M Based Authentication (Uso dell'autenticazione basata su M2M ) nella Guida al driver JDBC di Databricks (HTML o PDF).
Autenticazione Microsoft Entra ID OAuth da macchina a macchina (M2M)
JDBC Driver 2.7.1 e versioni successive supporta l'autenticazione da macchina a macchina (M2M) di Microsoft Entra ID per un principal di servizio Microsoft Entra ID. Questa operazione è nota anche come autenticazione delle credenziali client OAuth 2.0 .
Per configurare l'autenticazione OAuth M2M dell'ID Entra, eseguire le operazioni seguenti:
Creare un'entità servizio gestita da Microsoft Entra ID e assegnarla agli account e alle aree di lavoro di Azure Databricks. A tale scopo, vedere Principali del servizio.
Creare un segreto OAuth Entra ID per il principale del servizio. A tale scopo, vedere Generare manualmente token di accesso OAuth M2M.
Concedi al servizio principale l'accesso al tuo cluster o magazzino. Consulta Autorizzazioni di calcolo o Gestire un magazzino SQL.
Per eseguire l'autenticazione usando OAuth OAuth da computer a computer (M2M), impostare la configurazione seguente.
Per un URL di connessione JDBC con proprietà di configurazione generali incorporate e proprietà delle credenziali sensibili:
jdbc:databricks://<server-hostname>:443;httpPath=<http-path>;AuthMech=11;Auth_Flow=1;OAuth2ClientId=<service-principal-application-id>;OAuth2Secret=<service-principal-oauth-secret>;OIDCDiscoveryEndpoint=<endpoint>;EnableOIDCDiscovery=true
Per il codice Java con proprietà di configurazione generali e proprietà delle credenziali sensibili impostate all'esterno dell'URL di connessione JDBC:
// ...
String url = "jdbc:databricks://<server-hostname>:443";
Properties p = new java.util.Properties();
p.put("httpPath", "<http-path>");
p.put("AuthMech", "11");
p.put("Auth_Flow", "1");
p.put("OAuth2ClientId", "<entra-id-service-principal-application-id>");
p.put("OAuth2Secret", "<entra-id-service-principal-client-secret>");
p.put("OIDCDiscoveryEndpoint", "https://login.microsoftonline.com/<AzureTenantId>/v2.0/.well-known/openid-configuration");
p.put("EnableOIDCDiscovery", "true");
// ...
Connection conn = DriverManager.getConnection(url, p);
// ...
- Nell'URL o nel codice Java precedente, sostituire i seguenti segnaposto:
- Sostituire
<entra-id-service-principal-application-id>con il valore dell'ID dell'applicazione del principale del servizio in Entra. - Sostituire
<entra-id-service-principal-client-secret>con il segreto del principale del servizio in Entra. Questo è il segreto del client creato in Certificati e segreti in Microsoft Entra ID. - Per ottenere i valori per
<server-hostname>e<http-path>, vedere Impostazioni di calcolo per il driver JDBC di Databricks (Simba).
- Sostituire