A Databricks JDBC-illesztőprogram hitelesítési beállításai
Ez a cikk bemutatja, hogyan konfigurálhatja az Azure Databricks hitelesítési beállításait a Databricks JDBC-illesztőprogramhoz.
Ha Azure Databricks-kapcsolatot szeretne konfigurálni a Databricks JDBC-illesztőprogramhoz, kombinálnia kell a számítási erőforrás beállításait, az illesztőprogram-képességek beállításait és a következő hitelesítési beállításokat egy JDBC-kapcsolat URL-címével vagy JDBC-kapcsolattulajdonságok programozott gyűjteményével.
A JDBC-kapcsolat URL-címei a következő formátumot használják:
jdbc:databricks://<server-hostname>:443;httpPath=<http-path>[;<setting1>=<value1>;<setting2>=<value2>;<settingN>=<valueN>]
- A Databricks JDBC-illesztő számítási beállításai című témakörben olvashat az értékek
<server-hostname>
<http-path>
lekéréséhez. - Szükség szerint cserélje le
<setting>=<value>
az alábbi szakaszokban felsorolt kapcsolati tulajdonságokat. - Speciális vagy speciális illesztőprogram-képességeket is megadhat.
A JDBC-kapcsolat tulajdonságainak programozott gyűjteményei a Java-kódban használhatók, például az alábbi példában:
package org.example;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
import java.util.Properties;
public class Main {
public static void main(String[] args) throws Exception {
Class.forName("com.databricks.client.jdbc.Driver");
String url = "jdbc:databricks://" + System.getenv("DATABRICKS_SERVER_HOSTNAME") + ":443";
Properties p = new java.util.Properties();
p.put("httpPath", System.getenv("DATABRICKS_HTTP_PATH"));
p.put("<setting1>", "<value1");
p.put("<setting2>", "<value2");
p.put("<settingN>", "<valueN");
try (Connection conn = DriverManager.getConnection(url, p)) {
Statement stmt = conn.createStatement();
try (ResultSet rs = stmt.executeQuery("<query>")) {
ResultSetMetaData md = rs.getMetaData();
String[] columns = new String[md.getColumnCount()];
for (int i = 0; i < columns.length; i++) {
columns[i] = md.getColumnName(i + 1);
}
while (rs.next()) {
System.out.print("Row " + rs.getRow() + "=[");
for (int i = 0; i < columns.length; i++) {
if (i != 0) {
System.out.print(", ");
}
System.out.print(columns[i] + "='" + rs.getObject(i + 1) + "'");
}
System.out.println(")]");
}
}
}
System.exit(0);
}
}
- Állítsa be a környezeti és a
DATABRICKS_SERVER_HOSTNAME
környezeti értékeket a cél Azure Databricks számítási erőforrás kiszolgálói állomásneve és HTTP-elérési útja értékeire.DATABRICKS_HTTP_PATH
Az értékek lekéréséhez tekintse meg a Databricks JDBC-illesztőprogram számítási beállításait. A környezeti változók beállításához tekintse meg az operációs rendszer dokumentációját. - Cserélje le
<setting>
és<value>
szükség szerint az alábbi szakaszokban felsorolt kapcsolati tulajdonságokat. - Speciális vagy speciális illesztőképesség-beállításokat is hozzáadhat, általában további
<setting>
és<value>
párokként. - Ebben a példában cserélje le
<query>
egy SQL-lekérdezésiSELECT
sztringre.
A célalkalmazás, az eszköz, az ügyfél, az SDK vagy az API követelményeitől függ, hogy kapcsolati URL-címet vagy kapcsolattulajdonság-gyűjteményt használ-e. A cikkben JDBC kapcsolati URL-címekre és JDBC-kapcsolattulajdonságok programozott gyűjteményére találhat példákat minden támogatott Azure Databricks-hitelesítési típushoz.
A Databricks JDBC-illesztőprogram a következő Azure Databricks-hitelesítési típusokat támogatja:
- Azure Databricks személyes hozzáférési jogkivonat
- Microsoft Entra ID token
- OAuth 2.0-jogkivonatok
- OAuth user-to-machine (U2M) hitelesítés
- OAuth gépről gépre (M2M) hitelesítés
Azure Databricks személyes hozzáférési jogkivonat
Azure Databricks személyes hozzáférési jogkivonat létrehozásához tegye a következőket:
- Az Azure Databricks-munkaterületen kattintson az Azure Databricks-felhasználónevére a felső sávon, majd válassza a legördülő menü Beállítások elemét .
- Kattintson a Fejlesztőeszközök elemre.
- Az Access-jogkivonatok mellett kattintson a Kezelés gombra.
- Kattintson az Új jogkivonat létrehozása elemre.
- (Nem kötelező) Írjon be egy megjegyzést, amely segít azonosítani a jogkivonatot a jövőben, és módosíthatja a jogkivonat alapértelmezett 90 napos élettartamát. Élettartam nélküli (nem ajánlott) jogkivonat létrehozásához hagyja üresen az Élettartam (nap) mezőt (üres).
- Kattintson a Létrehozás lehetőségre.
- Másolja a megjelenített jogkivonatot egy biztonságos helyre, majd kattintson a Kész gombra.
Feljegyzés
Ügyeljen arra, hogy a másolt jogkivonatot biztonságos helyre mentse. Ne ossza meg másokkal a másolt jogkivonatot. Ha elveszíti a másolt jogkivonatot, nem tudja pontosan ugyanazt a jogkivonatot újragenerálni. Ehelyett meg kell ismételnie ezt az eljárást egy új jogkivonat létrehozásához. Ha elveszíti a másolt jogkivonatot, vagy úgy véli, hogy a jogkivonat sérült, a Databricks határozottan javasolja, hogy azonnal törölje a jogkivonatot a munkaterületről az Access-jogkivonatok lapon a jogkivonat melletti kuka (Visszavonás) ikonra kattintva.
Ha nem tud jogkivonatokat létrehozni vagy használni a munkaterületen, ennek az lehet az oka, hogy a munkaterület rendszergazdája letiltotta a jogkivonatokat, vagy nem adott engedélyt a jogkivonatok létrehozására vagy használatára. Tekintse meg a munkaterület rendszergazdáját vagy a következő témaköröket:
Az Azure Databricks személyes hozzáférési jogkivonatával történő hitelesítéshez állítsa be a következő konfigurációt.
Beágyazott általános konfigurációs tulajdonságokkal és bizalmas hitelesítő adatokkal rendelkező JDBC-kapcsolat URL-címe esetén:
jdbc:databricks://<server-hostname>:443;httpPath=<http-path>;AuthMech=3;UID=token;PWD=<personal-access-token>
A JDBC-kapcsolat URL-címén kívül beállított általános konfigurációs tulajdonságokkal és bizalmas hitelesítő adatokkal rendelkező Java-kód esetén:
// ...
String url = "jdbc:databricks://<server-hostname>:443";
Properties p = new java.util.Properties();
p.put("httpPath", "<http-path>");
p.put("AuthMech", "3");
p.put("UID", "token");
p.put("PWD", "<personal-access-token>");
// ...
Connection conn = DriverManager.getConnection(url, p);
// ...
- Ha egy teljes Java-kódpéldát szeretne, amely az előző kódrészletet saját igényeihez igazíthatja, tekintse meg a cikk elején látható kódpéldát.
- Az előző URL-címben vagy Java-kódban cserélje le
<personal-access-token>
a Databricks személyes hozzáférési jogkivonatát a munkaterület-felhasználó számára. - A Databricks JDBC-illesztő számítási beállításai című témakörben olvashat az értékek
<server-hostname>
<http-path>
lekéréséhez.
Microsoft Entra ID token
Az ODBC- és JDBC-illesztőprogramok 2.6.15-ös vagy újabb verziója támogatja a Microsoft Entra ID-jogkivonatokat egy Azure Databricks-felhasználóhoz vagy egy Microsoft Entra ID szolgáltatásnévhez.
Microsoft Entra ID hozzáférési jogkivonat létrehozásához tegye a következőket:
- Azure Databricks-felhasználó esetén használhatja az Azure CLI-t. Lásd: Microsoft Entra ID-jogkivonatok lekérése felhasználók számára az Azure CLI használatával.
- A Microsoft Entra ID szolgáltatásnévvel kapcsolatban lásd : Microsoft Entra ID hozzáférési jogkivonat beszerzése az Azure CLI-vel. A Microsoft Entra ID által felügyelt szolgáltatásnév létrehozásához lásd: Szolgáltatásnevek kezelése.
A Microsoft Entra ID hozzáférési jogkivonatok alapértelmezett élettartama körülbelül 1 óra. A hozzáférési jogkivonatok programozott módon frissíthetők egy meglévő munkamenethez anélkül, hogy megszakítanák a kapcsolatot a Kód frissítése a Microsoft Entra-azonosító hozzáférési jogkivonatában való futtatásával. A jogkivonat frissítésével kapcsolatos utasításokért tekintse meg a Databricks JDBC illesztőprogram-útmutatójának szakaszátConfiguring Authentication > Using OAuth 2.0
.
A Microsoft Entra ID-jogkivonat használatával történő hitelesítéshez állítsa be a következő konfigurációt.
Beágyazott általános konfigurációs tulajdonságokkal és bizalmas hitelesítő adatokkal rendelkező JDBC-kapcsolat URL-címe esetén:
jdbc:databricks://<server-hostname>:443;httpPath=<http-path>;AuthMech=11;Auth_Flow=0;Auth_AccessToken=<microsoft-entra-id-token>
A JDBC-kapcsolat URL-címén kívül beállított általános konfigurációs tulajdonságokkal és bizalmas hitelesítő adatokkal rendelkező Java-kód esetén:
// ...
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);
// ...
- Ha egy teljes Java-kódpéldát szeretne, amely az előző kódrészletet saját igényeihez igazíthatja, tekintse meg a cikk elején látható kódpéldát.
- Az előző URL-címben vagy Java-kódban cserélje le
<microsoft-entra-id-token>
a Microsoft Entra ID-jogkivonatot. - A Databricks JDBC-illesztő számítási beállításai című témakörben olvashat az értékek
<server-hostname>
<http-path>
lekéréséhez.
További információkért tekintse meg a Token Pass-through
Databricks JDBC illesztőprogram-útmutatójának szakaszát.
OAuth 2.0-jogkivonatok
A JDBC-illesztő 2.6.36-os és újabb verziója támogatja az OAuth 2.0-jogkivonatot a Microsoft Entra ID szolgáltatásnévhez. Ezt OAuth 2.0-s jogkivonat-átengedési hitelesítésnek is nevezik .
Ha OAuth 2.0-jogkivonatot szeretne létrehozni a Microsoft Entra ID szolgáltatásnév jogkivonatátadási hitelesítéséhez, olvassa el az OAuth M2M-hitelesítéshez szükséges hozzáférési jogkivonatok manuális létrehozását és használatát. Jegyezze fel a szolgáltatásnév OAuth-értékét
access_token
.A Microsoft Entra ID által felügyelt szolgáltatásnév létrehozásához lásd: Szolgáltatásnevek kezelése.
Fontos
A JDBC-illesztő 2.6.36-os és újabb verziója támogatja az Azure Databricks OAuth titkos kulcsainak használatát OAuth 2.0-jogkivonatok létrehozásához. A Microsoft Entra-azonosító titkos kulcsai nem támogatottak.
Az OAuth 2.0-jogkivonatok alapértelmezett élettartama 1 óra. Új OAuth 2.0-jogkivonat létrehozásához ismételje meg ezt a folyamatot.
Az OAuth 2.0 jogkivonat-átmenő hitelesítéssel történő hitelesítéshez állítsa be a következő konfigurációt.
Beágyazott általános konfigurációs tulajdonságokkal és bizalmas hitelesítő adatokkal rendelkező JDBC-kapcsolat URL-címe esetén:
jdbc:databricks://<server-hostname>:443;httpPath=<http-path>;AuthMech=11;Auth_Flow=0;Auth_AccessToken=<oauth-token>
A JDBC-kapcsolat URL-címén kívül beállított általános konfigurációs tulajdonságokkal és bizalmas hitelesítő adatokkal rendelkező Java-kód esetén:
// ...
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);
// ...
- Ha egy teljes Java-kódpéldát szeretne, amely az előző kódrészletet saját igényeihez igazíthatja, tekintse meg a cikk elején látható kódpéldát.
- Az előző URL-címben vagy Java-kódban cserélje le
<oauth-token>
az Azure Databricks OAuth-jogkivonatot. (A Microsoft Entra-azonosító jogkivonatok nem támogatottak az OAuth 2.0-s jogkivonatok átmenő hitelesítéséhez.) - A Databricks JDBC-illesztő számítási beállításai című témakörben olvashat az értékek
<server-hostname>
<http-path>
lekéréséhez.
További információkért tekintse meg a Token Pass-through
Databricks JDBC illesztőprogram-útmutatójának szakaszát.
OAuth user-to-machine (U2M) hitelesítés
A JDBC-illesztő 2.6.36-os és újabb verziója támogatja az OAuth felhasználó–gép (U2M) hitelesítést egy Azure Databricks-felhasználó esetében. Ezt OAuth 2.0 böngészőalapú hitelesítésnek is nevezik.
Az OAuth U2M vagy OAuth 2.0 böngészőalapú hitelesítésnek nincsenek előfeltételei. Az OAuth 2.0-jogkivonatok alapértelmezett élettartama 1 óra. Az OAuth U2M-nek vagy az OAuth 2.0 böngészőalapú hitelesítésnek automatikusan frissítenie kell a lejárt OAuth 2.0-jogkivonatokat.
Feljegyzés
Az OAuth U2M vagy OAuth 2.0 böngészőalapú hitelesítés csak helyileg futó alkalmazásokkal működik. Nem működik kiszolgálóalapú vagy felhőalapú alkalmazásokkal.
Ha OAuth felhasználó–gép (U2M) vagy OAuth 2.0 böngészőalapú hitelesítés használatával szeretne hitelesítést végezni, állítsa be a következő konfigurációt.
Beágyazott általános konfigurációs tulajdonságokkal és bizalmas hitelesítő adatokkal rendelkező JDBC-kapcsolat URL-címe esetén:
jdbc:databricks://<server-hostname>:443;httpPath=<http-path>;AuthMech=11;Auth_Flow=2;TokenCachePassPhrase=<passphrase>;EnableTokenCache=0
A JDBC-kapcsolat URL-címén kívül beállított általános konfigurációs tulajdonságokkal és bizalmas hitelesítő adatokkal rendelkező Java-kód esetén:
// ...
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);
// ...
- Ha egy teljes Java-kódpéldát szeretne, amely az előző kódrészletet saját igényeihez igazíthatja, tekintse meg a cikk elején látható kódpéldát.
- Az előző URL-címben vagy Java-kódban cserélje le
<passphrase>
a kívánt jelszót. Az illesztőprogram ezt a kulcsot használja a frissítési jogkivonat titkosításához. - A Databricks JDBC-illesztő számítási beállításai című témakörben olvashat az értékek
<server-hostname>
<http-path>
lekéréséhez.
További információkért tekintse meg a Using Browser Based Authentication
Databricks JDBC illesztőprogram-útmutatójának szakaszát.
OAuth machine-to-machine (M2M) hitelesítés
A JDBC-illesztő 2.6.36-os és újabb verziója támogatja az OAuth machine-to-machine (M2M) hitelesítést a Microsoft Entra ID szolgáltatásnévhez. Ezt OAuth 2.0-ügyfél hitelesítő adatok hitelesítésének is nevezik.
Feljegyzés
A JDBC 2.6.40.1071 megoldja azt a problémát a régebbi verziókban, amelyek nem támogatták az M2M-et a privát kapcsolati munkaterületekhez való csatlakozáshoz.
Az OAuth M2M vagy az OAuth 2.0 ügyfél hitelesítő adatainak hitelesítésének konfigurálásához tegye a következőket:
Hozzon létre egy Microsoft Entra ID által felügyelt szolgáltatásnevet, majd rendelje hozzá az Azure Databricks-fiókokhoz és -munkaterületekhez. Ehhez olvassa el a Szolgáltatásnevek kezelése című témakört.
Fontos
A JDBC-illesztő 2.6.36-os és újabb verziója támogatja az Azure Databricks OAuth-titkos kódokat az OAuth M2M vagy az OAuth 2.0 ügyfél hitelesítő adatainak hitelesítéséhez. A Microsoft Entra-azonosító titkos kulcsai nem támogatottak.
Hozzon létre egy Azure Databricks OAuth-titkos kulcsot a szolgáltatásnévhez. Ehhez tekintse meg az OAuth M2M-hitelesítéshez szükséges hozzáférési jogkivonatok manuális generálása és használata című témakört.
Adjon hozzáférést a szolgáltatásnévnek a fürthöz vagy a raktárhoz. Lásd: Számítási engedélyek vagy SQL-raktár kezelése.
Az OAuth machine-to-machine (M2M) vagy az OAuth 2.0 ügyfél hitelesítő adatainak hitelesítésével történő hitelesítéshez állítsa be a következő konfigurációt.
Beágyazott általános konfigurációs tulajdonságokkal és bizalmas hitelesítő adatokkal rendelkező JDBC-kapcsolat URL-címe esetén:
jdbc:databricks://<server-hostname>:443;httpPath=<http-path>;AuthMech=11;Auth_Flow=1;OAuth2ClientId=<service-principal-application-id>;OAuth2Secret=<service-principal-oauth-secret>
A JDBC-kapcsolat URL-címén kívül beállított általános konfigurációs tulajdonságokkal és bizalmas hitelesítő adatokkal rendelkező Java-kód esetén:
// ...
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);
// ...
- Ha egy teljes Java-kódpéldát szeretne, amely az előző kódrészletet saját igényeihez igazíthatja, tekintse meg a cikk elején látható kódpéldát.
- Az előző URL-címben vagy Java-kódban cserélje le a következő helyőrzőket:
- Cserélje le
<service-principal-application-id>
a szolgáltatásnév alkalmazás-(ügyfél-) azonosítójának értékét. - Cserélje le
<service-principal-oauth-secret>
a szolgáltatásnév Azure Databricks OAuth-titkos kódjára. (A Microsoft Entra-azonosító titkos kulcsai nem támogatottak az OAuth M2M vagy az OAuth 2.0 ügyfél hitelesítő adatainak hitelesítéséhez.) - A Databricks JDBC-illesztő számítási beállításai című témakörben olvashat az értékek
<server-hostname>
<http-path>
lekéréséhez.
- Cserélje le
További információkért tekintse meg a Using M2M Based Authentication
Databricks JDBC illesztőprogram-útmutatójának szakaszát.