Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Driver Databricks JDBC mendukung beberapa metode autentikasi tergantung pada kasus penggunaan Anda. Halaman ini menjelaskan cara mengonfigurasi setiap metode dan mencantumkan properti koneksi yang diperlukan.
Untuk mengonfigurasi autentikasi untuk Driver Databricks JDBC, gunakan salah satu metode berikut:
- Token pass-through OAuth 2.0 (termasuk federasi token dengan penyedia identitas eksternal)
- Autentikasi pengguna ke komputer (U2M) OAuth
- Autentikasi mesin-ke-mesin (M2M) OAuth
- Token akses pribadi Databricks
Token penerusan OAuth 2.0
Driver JDBC menerima token OAuth di propertinya Auth_AccessToken. Anda dapat meneruskan token OAuth Azure Databricks secara langsung, atau JSON Web Token (JWT) dari penyedia identitas eksternal. Jika Anda meneruskan token IdP eksternal, Azure Databricks secara otomatis menukarnya dengan token Azure Databricks menggunakan federasi token.
Dalam contoh berikut, ganti tempat penampung berikut:
-
<oauth-token>dengan token Azure Databricks OAuth 2.0 atau IdP JWT eksternal. - Untuk mendapatkan nilai untuk
<server-hostname>dan<http-path>, lihat Mengonfigurasi koneksi ke Databricks menggunakan Driver Databricks JDBC.
Properti yang diperlukan adalah:
-
AuthMechdiatur ke11(autentikasi OAuth 2.0) - id-ID:
Auth_Flowdiatur ke0(mode token pass-through) -
Auth_AccessTokendiatur ke token OAuth Azure Databricks atau IdP JWT eksternal
Lihat Properti autentikasi.
Untuk URL koneksi JDBC:
jdbc:databricks://<server-hostname>:443;httpPath=<http-path>;AuthMech=11;Auth_Flow=0;Auth_AccessToken=<oauth-token>
Dalam kode Java:
// ...
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);
// ...
Federasi token dengan idP eksternal
Jika Anda mengautentikasi dengan token dari penyedia identitas eksternal seperti Okta, ID Microsoft Entra, Keycloak, atau IdP yang mematuhi OIDC, Azure Databricks melakukan pertukaran token secara otomatis. Konfigurasi JDBC sama dengan pass-through token. Teruskan token IdP di Auth_AccessToken dan driver akan menangani sisanya.
Sebelum menggunakan federasi token, Anda harus:
- Buat kebijakan federasi di akun Azure Databricks Anda yang mempercayai IdP eksternal. Kebijakan federasi menentukan URL penerbit, nilai audiens yang diharapkan, dan klaim JWT yang digunakan untuk memetakan ke pengguna Azure Databricks. Lihat Mengautentikasi akses ke Azure Databricks menggunakan federasi token OAuth.
- Verifikasi bahwa pengguna Azure Databricks yang cocok ada. Email pengguna atau pengidentifikasi lain harus cocok dengan
subject_claimnilai di JWT. - Verifikasi bahwa titik akhir penemuan OIDC IdP dapat dijangkau secara publik sehingga Azure Databricks dapat mengambil kunci penandatanganan untuk memverifikasi token.
Autentikasi pengguna ke mesin (U2M) OAuth
Autentikasi OAuth U2M memungkinkan Anda masuk ke Azure Databricks melalui browser. Driver membuka jendela browser, Anda mengautentikasi, dan driver menerima token OAuth. Driver menggunakan ID databricks-sql-jdbc klien OAuth bawaan.
Jenis autentikasi ini tidak memiliki prasyarat. Token memiliki masa pakai default satu jam dan refresh secara otomatis saat kedaluwarsa.
Nota
OAuth U2M hanya berfungsi dengan aplikasi yang dijalankan secara lokal. Ini tidak berfungsi dengan aplikasi berbasis server atau berbasis cloud.
Dalam contoh berikut, ganti tempat penampung berikut:
-
<passphrase>dengan frase sandi pilihan Anda. Pengemudi menggunakan kunci ini untuk enkripsi refresh token. - Untuk mendapatkan nilai untuk
<server-hostname>dan<http-path>, lihat Mengonfigurasi koneksi ke Databricks menggunakan Driver Databricks JDBC.
Properti yang diperlukan adalah:
-
AuthMechdiatur ke11(autentikasi OAuth 2.0) -
Auth_Flowdiatur ke2(mode berbasis browser U2M) -
TokenCachePassPhraseatur ke frase sandi yang digunakan untuk mengenkripsi kredensial OAuth U2M cache Anda. Ini mencegah autentikasi berbasis browser berulang. Untuk memilih keluar dari penyimpanan sementara token, aturEnableTokenCacheke0.
Lihat Properti autentikasi.
Dalam URL koneksi JDBC:
jdbc:databricks://<server-hostname>:443;httpPath=<http-path>;AuthMech=11;Auth_Flow=2;TokenCachePassPhrase=<passphrase>;EnableTokenCache=0
Dalam kode Java:
// ...
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);
// ...
Autentikasi OAuth untuk mesin-ke-mesin (M2M)
Driver JDBC mendukung autentikasi mesin-ke-mesin (M2M) OAuth menggunakan salah satu prinsipal atau identitas berikut. Lihat Mengotorisasi akses perwakilan layanan ke Azure Databricks dengan OAuth.
- Perwakilan layanan Databricks
- Perwakilan layanan terkelola Azure
- Identitas terkelola Azure (ditetapkan sistem atau ditetapkan pengguna)
M2M menggunakan prinsipal layanan yang dikelola Databricks
Untuk mengonfigurasi autentikasi menggunakan service principal yang dikelola oleh Databricks:
Buat perwakilan layanan terkelola Databricks dan tetapkan ke akun dan ruang kerja Databricks.
Buat rahasia Databricks OAuth untuk perwakilan layanan. Lihat Membuat token akses OAuth M2M secara manual.
Berikan izin akses ke kluster dan gudang SQL.
Tambahkan properti berikut ke URL koneksi JDBC atau objek
java.util.Propertiesyang sudah ada:-
AuthMechdiatur ke11(autentikasi OAuth 2.0) -
Auth_Flowdiatur ke1(mode kredensial klien M2M) -
OAuth2ClientIDdiatur ke nilai ID Aplikasi (klien) perwakilan layanan -
OAuth2Secretdiatur ke rahasia OAuth Databricks perwakilan layanan
Lihat Properti autentikasi.
-
M2M menggunakan perwakilan layanan terkelola Azure
Untuk mengonfigurasi otentikasi menggunakan perwakilan layanan terkelola Azure:
Buat rahasia Databricks OAuth untuk perwakilan layanan. Lihat Membuat token akses OAuth M2M secara manual.
Berikan izin akses ke kluster dan gudang SQL.
Tambahkan properti berikut ke URL koneksi JDBC atau objek
java.util.Propertiesyang sudah ada:-
AuthMechdiatur ke11(autentikasi OAuth 2.0) -
Auth_Flowdiatur ke1(mode kredensial klien M2M) -
OAuth2ClientIDdiatur ke nilai ID Aplikasi (klien) perwakilan layanan -
AzureTenantIDdiatur ke ID tenant Azure yang ditemukan pada Azure Active Directory -
OAuth2Secretdiatur ke rahasia OAuth Databricks perwakilan layanan
Lihat Properti autentikasi.
-
M2M menggunakan identitas terkelola Azure
Untuk mengonfigurasi autentikasi menggunakan identitas terkelola Azure:
Mengonfigurasi identitas terkelola untuk sumber daya Azure Anda.
Berikan izin akses ke kluster dan gudang SQL.
Tambahkan properti berikut ke URL koneksi JDBC atau objek
java.util.Propertiesyang sudah ada:-
AuthMechdiatur ke11(autentikasi OAuth 2.0) -
Auth_Flowdisetel ke3(mode identitas terkelola) -
OAuth2ClientIDdiatur ke ID Klien identitas terkelola. Ini diperlukan hanya jika Anda menggunakan identitas terkelola yang ditetapkan pengguna. -
Azure_workspace_resource_idtetapkan ke ID Sumber Daya Azure ruang kerja Databricks Anda
Lihat Properti autentikasi.
-
Token akses pribadi Databricks
Nota
Token akses pribadi adalah yang terbaik untuk skenario pengujian. Azure Databricks merekomendasikan jenis autentikasi yang lebih aman untuk skenario produksi.
Untuk membuat token akses pribadi Databricks, ikuti langkah-langkah dalam Membuat token akses pribadi untuk pengguna ruang kerja.
Dalam contoh berikut, ganti tempat penampung berikut:
-
<personal-access-token>dengan token akses pribadi Databricks untuk pengguna ruang kerja Anda. - Untuk mendapatkan nilai untuk
<server-hostname>dan<http-path>, lihat Mengonfigurasi koneksi ke Databricks menggunakan Driver Databricks JDBC.
Properti yang diperlukan adalah:
-
AuthMechdisetel ke3(autentikasi token) -
UIDdiatur ke string literaltoken -
PWDataupasswordatur ke nilai token akses pribadi Databricks Anda
Lihat Properti autentikasi.
Dalam URL koneksi JDBC:
jdbc:databricks://<server-hostname>:443;httpPath=<http-path>;AuthMech=3;UID=token;PWD=<personal-access-token>
Dalam kode Java:
// ...
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);
// ...