Bagikan melalui


Pengaturan autentikasi untuk Driver ODBC Databricks

Artikel ini menjelaskan cara mengonfigurasi autentikasi Azure Databricks untuk Driver ODBC Databricks.

Driver Databricks ODBC mendukung jenis autentikasi Azure Databricks berikut:

Token akses pribadi Azure Databricks

Untuk membuat token akses pribadi Azure Databricks, ikuti langkah-langkah dalam token akses pribadi Azure Databricks untuk pengguna ruang kerja.

Untuk mengautentikasi menggunakan token akses pribadi Azure Databricks, tambahkan konfigurasi berikut ke pengaturan komputasi Anda dan pengaturan kemampuan driver khusus atau tingkat lanjut:

Pengaturan Nilai
AuthMech 3
UID token
PWD Token akses pribadi Databricks untuk pengguna ruang kerja Anda

Untuk membuat DSN untuk sistem non-Windows, gunakan format berikut:

[Databricks]
Driver=<path-to-driver>
Host=<server-hostname>
Port=443
HTTPPath=<http-path>
SSL=1
ThriftTransport=2
AuthMech=3
UID=token
PWD=<personal-access-token>

Untuk membuat string koneksi tanpa DSN, gunakan format berikut. Hentian baris telah ditambahkan untuk keterbacaan. String tidak boleh berisi pemisah baris ini:

Driver=<path-to-driver>;
Host=<server-hostname>;
Port=443;
HTTPPath=<http-path>;
SSL=1;
ThriftTransport=2;
AuthMech=3;
UID=token;
PWD=<personal-access-token>

Microsoft Entra ID token

Driver ODBC 2.6.15 ke atas mendukung token ID Microsoft Entra untuk pengguna Azure Databricks atau perwakilan layanan ID Microsoft Entra.

Untuk membuat token akses ID Microsoft Entra, lakukan hal berikut:

Token akses ID Microsoft Entra memiliki masa pakai default sekitar 1 jam. Token akses dapat diperbarui secara otomatis melalui pemrograman untuk sesi yang ada tanpa memutus koneksi dengan menjalankan kode di Refresh token akses ID Entra Microsoft. Untuk instruksi tentang cara me-refresh token, lihat bagian Configuring Authentication on Windows > Providing a New Access Token di Panduan Driver ODBC Databricks.

Untuk mengautentikasi menggunakan token ID Microsoft Entra, tambahkan konfigurasi berikut ke pengaturan komputasi Anda dan pengaturan kemampuan driver khusus atau tingkat lanjut:

Pengaturan Nilai
AuthMech 11
Auth_Flow 0
Auth_AccessToken Token ID Microsoft Entra

Untuk membuat DSN untuk sistem non-Windows, gunakan format berikut:

[Databricks]
Driver=<path-to-driver>
Host=<server-hostname>
Port=443
HTTPPath=<http-path>
SSL=1
ThriftTransport=2
AuthMech=11
Auth_Flow=0
Auth_AccessToken=<microsoft-entra-id-token>

Untuk membuat string koneksi tanpa DSN, gunakan format berikut. Hentian baris telah ditambahkan untuk keterbacaan. String tidak boleh berisi pemisah baris ini:

Driver=<path-to-driver>;
Host=<server-hostname>;
Port=443;
HTTPPath=<http-path>;
SSL=1;
ThriftTransport=2;
AuthMech=11;
Auth_Flow=0;
Auth_AccessToken=<microsoft-entra-id-token>

Untuk informasi selengkapnya, lihat Token Pass-through bagian di Panduan Driver ODBC Databricks.

Token OAuth 2.0

Driver ODBC 2.7.5 ke atas mendukung token OAuth 2.0 untuk perwakilan layanan ID Microsoft Entra. Ini juga dikenal sebagai autentikasi token pass-through OAuth 2.0.

Penting

Driver ODBC versi 2.7.5 ke atas mendukung pembuatan token OAuth 2.0 dengan menggunakan rahasia OAuth Azure Databricks. Rahasia ID Microsoft Entra tidak didukung.

Token OAuth 2.0 memiliki masa pakai default 1 jam. Untuk menghasilkan token OAuth 2.0 baru, ulangi proses ini.

Untuk mengautentikasi menggunakan autentikasi pass-through token OAuth 2.0, tambahkan konfigurasi berikut ke pengaturan komputasi Anda dan pengaturan kemampuan driver khusus atau tingkat lanjut:

Pengaturan Nilai
AuthMech 11
Auth_Flow 0
Auth_AccessToken Token Azure Databricks OAuth
(Token ID Microsoft Entra tidak didukung untuk autentikasi pass-through token OAuth 2.0.)

Untuk membuat DSN untuk sistem non-Windows, gunakan format berikut:

[Databricks]
Driver=<path-to-driver>
Host=<server-hostname>
Port=443
HTTPPath=<http-path>
SSL=1
ThriftTransport=2
AuthMech=11
Auth_Flow=0
Auth_AccessToken=<databricks-oauth-token>

Untuk membuat string koneksi tanpa DSN, gunakan format berikut. Hentian baris telah ditambahkan untuk keterbacaan. String tidak boleh berisi pemisah baris ini:

Driver=<path-to-driver>;
Host=<server-hostname>;
Port=443;
HTTPPath=<http-path>;
SSL=1;
ThriftTransport=2;
AuthMech=11;
Auth_Flow=0;
Auth_AccessToken=<databricks-oauth-token>

Untuk informasi selengkapnya, lihat bagian Token Pass-through di Panduan Driver ODBC Databricks.

Autentikasi pengguna ke komputer (U2M) Databricks OAuth

Driver ODBC 2.8.2 ke atas mendukung autentikasi pengguna-ke-mesin (U2M) OAuth untuk pengguna Azure Databricks. Ini juga dikenal sebagai autentikasi berbasis browser OAuth 2.0.

Autentikasi berbasis browser OAuth U2M atau OAuth 2.0 tidak memiliki prasyarat. Token OAuth 2.0 memiliki masa pakai default 1 jam. Autentikasi berbasis browser OAuth U2M atau OAuth 2.0 harus menyegarkan token OAuth 2.0 yang kedaluwarsa untuk Anda secara otomatis.

Catatan

Autentikasi berbasis browser OAuth U2M atau OAuth 2.0 hanya berfungsi dengan aplikasi yang berjalan secara lokal. Ini tidak berfungsi dengan aplikasi berbasis server atau berbasis cloud.

Untuk mengautentikasi menggunakan autentikasi berbasis browser OAuth user-to-machine (U2M) atau OAuth 2.0, tambahkan konfigurasi berikut ke pengaturan komputasi Anda dan pengaturan kemampuan driver khusus atau tingkat lanjut:

Pengaturan Nilai
AuthMech 11
Auth_Flow 2
PWD Kata sandi pilihan Anda. Pengemudi menggunakan kunci ini untuk enkripsi refresh token.
Auth_Client_ID (opsional) databricks-sql-odbc (default) Anda dapat menemukan semua aplikasi yang berlaku di bawah Pengaturan koneksi aplikasi di Konsol Akun Databricks Lihat Mengaktifkan aplikasi OAuth kustom menggunakan UI Azure Databricks.
Auth_Scope (opsional) sql offline_access (bawaan)
OAuth2RedirectUrlPort (tidak wajib) 8020 (bawaan)

Untuk membuat DSN untuk sistem non-Windows, gunakan format berikut:

[Databricks]
Driver=<path-to-driver>
Host=<server-hostname>
Port=443
HTTPPath=<http-path>
SSL=1
ThriftTransport=2
AuthMech=11
Auth_Flow=2
PWD=<password>

Untuk membuat string koneksi tanpa DSN, gunakan format berikut. Hentian baris telah ditambahkan untuk keterbacaan. String tidak boleh berisi pemisah baris ini:

Driver=<path-to-driver>;
Host=<server-hostname>;
Port=443;
HTTPPath=<http-path>;
SSL=1;
ThriftTransport=2;
AuthMech=11;
Auth_Flow=2;
PWD=<password>

Untuk informasi selengkapnya, lihat bagian di Panduan Driver ODBC Databricks.

Autentikasi pengguna-ke-mesin (U2M) OAuth Microsoft Entra ID

Driver ODBC 2.8.2 ke atas mendukung autentikasi OAuth user-to-machine (U2M) Microsoft Entra ID untuk pengguna Azure Databricks

Untuk menggunakan Microsoft Entra ID OAuth user-to-machine (U2M), klien OAuth (aplikasi) harus terdaftar di MICROSOFT Entra ID, lihat instruksi.

Untuk mengautentikasi menggunakan Microsoft Entra ID OAuth user-to-machine (U2M), tambahkan konfigurasi berikut ke pengaturan komputasi Anda dan pengaturan kemampuan driver khusus atau tingkat lanjut:

Pengaturan Nilai
AuthMech 11
Auth_Flow 2
PWD Kata sandi pilihan Anda. Pengendali menggunakan kunci ini untuk enkripsi refresh token
Auth_Client_ID ID aplikasi (klien) aplikasi Azure
Auth_Scope 2ff814a6-3304-4ab8-85cb-cd0e6f879c1d/user_impersonation offline_access
OIDCDiscoveryEndpoint https://login.microsoftonline.com/<azureTenantId>/v2.0/.well-known/openid-configuration
OAuth2RedirectUrlPort Mengalihkan port aplikasi Azure

Untuk membuat DSN untuk sistem non-Windows, gunakan format berikut:

[Databricks]
Driver=<path-to-driver>
Host=<server-hostname>
Port=443
HTTPPath=<http-path>
SSL=1
ThriftTransport=2
AuthMech=11
Auth_Flow=1
Auth_Client_ID=<application-id-azure-application>
Auth_Scope=2ff814a6-3304-4ab8-85cb-cd0e6f879c1d/user_impersonation offline_access
OIDCDiscoveryEndpoint=https://login.microsoftonline.com/<azureTenantId>/v2.0/.well-known/openid-configuration
OAuth2RedirectUrlPort=<redirect port of the Azure application>

Untuk membuat string koneksi tanpa DSN, gunakan format berikut. Hentian baris telah ditambahkan untuk keterbacaan. String tidak boleh berisi pemisah baris ini:

Driver=<path-to-driver>;
Host=<server-hostname>;
Port=443;
HTTPPath=<http-path>;
SSL=1;
ThriftTransport=2;
AuthMech=11;
Auth_Flow=1;
Auth_Client_ID=<application-id-azure-application>;
Auth_Scope=2ff814a6-3304-4ab8-85cb-cd0e6f879c1d/user_impersonation offline_access;
OIDCDiscoveryEndpoint=https://login.microsoftonline.com/<azureTenantId>/v2.0/.well-known/openid-configuration;
OAuth2RedirectUrlPort=<redirect port of the Azure application>;

Autentikasi mesin-ke-mesin (M2M) OAuth

Driver ODBC mendukung autentikasi mesin-ke-mesin (M2M) OAuth untuk perwakilan layanan Azure Databricks. Ini juga dikenal sebagai autentikasi kredensial klien OAuth 2.0 .

Untuk mengonfigurasi autentikasi kredensial klien OAuth M2M atau OAuth 2.0, lakukan hal berikut:

  1. Buat perwakilan layanan Azure Databricks di ruang kerja Azure Databricks Anda, dan buat rahasia OAuth untuk perwakilan layanan tersebut.

    Untuk membuat perwakilan layanan dan rahasia OAuth-nya, lihat Mengotorisasi akses tanpa pengawasan ke sumber daya Azure Databricks dengan perwakilan layanan menggunakan OAuth. Catat nilai UUID atau ID Aplikasi dari perwakilan layanan, dan nilai Rahasia untuk rahasia OAuth perwakilan layanan.

  2. Berikan akses perwakilan layanan ke kluster atau gudang Anda. Lihat Izin komputasi atau Mengelola gudang SQL.

Untuk mengautentikasi menggunakan autentikasi kredensial klien OAuth machine-to-machine (M2M) atau OAuth 2.0, tambahkan konfigurasi berikut ke pengaturan komputasi Anda dan pengaturan kemampuan driver khusus atau tingkat lanjut:

Pengaturan Nilai
AuthMech 11
Auth_Flow 1
Auth_Client_ID Nilai UUID/ID Aplikasi dari prinsipal layanan.
Auth_Client_Secret Nilai Rahasia OAuth prinsipal layanan.
Auth_Scope (opsional) all-apis (bawaan)

Untuk membuat DSN untuk sistem non-Windows, gunakan format berikut:

[Databricks]
Driver=<path-to-driver>
Host=<server-hostname>
Port=443
HTTPPath=<http-path>
SSL=1
ThriftTransport=2
AuthMech=11
Auth_Flow=1
Auth_Client_ID=<service-principal-application-ID>
Auth_Client_Secret=<service-principal-secret>
Auth_Scope=all-apis

Untuk membuat string koneksi tanpa DSN, gunakan format berikut. Hentian baris telah ditambahkan untuk keterbacaan. String tidak boleh berisi pemisah baris ini:

Driver=<path-to-driver>;
Host=<server-hostname>;
Port=443;
HTTPPath=<http-path>;
SSL=1;
ThriftTransport=2;
AuthMech=11;
Auth_Flow=1;
Auth_Client_ID=<service-principal-application-ID>;
Auth_Client_Secret=<service-principal-secret>;
Auth_Scope=all-apis

Untuk informasi selengkapnya, lihat bagian Client Credentials di Panduan Driver ODBC Databricks.

Autentikasi mesin-ke-mesin (M2M) Microsoft Entra ID OAuth

Driver ODBC 2.8.2 ke atas mendukung autentikasi Entra ID OAuth machine-to-machine (M2M) untuk perwakilan layanan ID Microsoft Entra.

Untuk mengonfigurasi autentikasi Entra ID OAuth machine-to-machine (M2M), lakukan hal berikut:

  1. Buat perwakilan layanan terkelola ID Microsoft Entra. Untuk melakukan ini, lihat Manage service principals.
  2. Berikan akses perwakilan layanan ke kluster atau gudang Anda. Lihat Izin komputasi atau Mengelola gudang SQL.

Untuk mengautentikasi menggunakan Entra ID OAuth machine-to-machine (M2M), tambahkan konfigurasi berikut ke pengaturan komputasi Anda dan pengaturan kemampuan driver khusus atau tingkat lanjut:

Pengaturan Nilai
AuthMech 11
Auth_Flow 1
Auth_Client_ID ID aplikasi perwakilan layanan di ID Entra
Auth_Client_Secret Rahasia klien perwakilan layanan di ID Entra. Ini adalah rahasia klien yang Anda buat di Sertifikat & rahasia di Microsoft Entra ID.
Auth_Scope 2ff814a6-3304-4ab8-85cb-cd0e6f879c1d/.default
OIDCDiscoveryEndpoint https://login.microsoftonline.com/<AzureTenantId>/v2.0/.well-known/openid-configuration

Untuk membuat DSN untuk sistem non-Windows, gunakan format berikut:

[Databricks]
Driver=<path-to-driver>
Host=<server-hostname>
Port=443
HTTPPath=<http-path>
SSL=1
ThriftTransport=2
AuthMech=11
Auth_Flow=1
Auth_Client_ID=<entra-id-service-principal-application-ID>
Auth_Client_Secret=<entra-id-service-principal-client-secret>
Auth_Scope=2ff814a6-3304-4ab8-85cb-cd0e6f879c1d/.default
OIDCDiscoveryEndpoint=https://login.microsoftonline.com/<AzureTenantId>/v2.0/.well-known/openid-configuration

Untuk membuat string koneksi tanpa DSN, gunakan format berikut. Hentian baris telah ditambahkan untuk keterbacaan. String tidak boleh berisi pemisah baris ini:

Driver=<path-to-driver>;
Host=<server-hostname>;
Port=443;
HTTPPath=<http-path>;
SSL=1;
ThriftTransport=2;
AuthMech=11;
Auth_Flow=1;
Auth_Client_ID=<entra-id-service-principal-application-ID>>;
Auth_Client_Secret=<entra-id-service-principal-client-secret>;
Auth_Scope=2ff814a6-3304-4ab8-85cb-cd0e6f879c1d/.default;
OIDCDiscoveryEndpoint=https://login.microsoftonline.com/<AzureTenantId>/v2.0/.well-known/openid-configuration

Autentikasi identitas terkelola Azure

Driver ODBC 2.7.7 ke atas mendukung autentikasi identitas terkelola Azure, yang menggunakan identitas terkelola untuk sumber daya Azure (sebelumnya Managed Service Identities (MSI)) untuk mengautentikasi dengan Azure Databricks. Panggilan terprogram ke operasi ruang kerja Azure Databricks menggunakan identitas terkelola ini saat bekerja dengan sumber daya Azure yang mendukung identitas terkelola, seperti Azure VM.

Untuk mengautentikasi menggunakan autentikasi identitas terkelola Azure, tambahkan konfigurasi berikut ke pengaturan komputasi Anda dan pengaturan kemampuan driver khusus atau tingkat lanjut:

Pengaturan Nilai
AuthMech 11
Auth_Flow 3
Auth_Client_ID ID identitas terkelola Azure.
Azure_workspace_resource_id ID sumber daya Azure untuk ruang kerja Azure Databricks Anda.
Untuk mendapatkan ID ini, di bilah navigasi atas ruang kerja Azure Databricks Anda, klik nama pengguna Anda lalu klik
Portal Azure. Pada halaman sumber daya ruang kerja Azure Databricks yang muncul, klik Properti di bawah Pengaturan di bar samping. ID berada di Id di bawah Essentials.

Untuk membuat DSN untuk sistem non-Windows, gunakan format berikut:

[Databricks]
Driver=<path-to-driver>
Host=<server-hostname>
Port=443
HTTPPath=<http-path>
SSL=1
ThriftTransport=2
AuthMech=11
Auth_Flow=3
Auth_Client_ID=<azure-managed-identity-ID>
Azure_workspace_resource_id=<azure-workspace-resource-ID>

Untuk membuat string koneksi tanpa DSN, gunakan format berikut. Hentian baris telah ditambahkan untuk keterbacaan. String tidak boleh berisi pemisah baris ini:

Driver=<path-to-driver>;
Host=<server-hostname>;
Port=443;
HTTPPath=<http-path>;
SSL=1;
ThriftTransport=2;
AuthMech=11;
Auth_Flow=3;
Auth_Client_ID=<azure-managed-identity-ID>;
Azure_workspace_resource_id=<azure-workspace-resource-ID>