Bagikan melalui


Pengaturan autentikasi untuk Driver ODBC Databricks (Simba)

Halaman ini menjelaskan cara mengonfigurasi pengaturan autentikasi Azure Databricks untuk Driver ODBC Databricks.

Driver Databricks ODBC mendukung jenis autentikasi Azure Databricks berikut:

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 satu jam. Refresh token akses secara terprogram untuk sesi yang ada tanpa memutuskan koneksi dengan menjalankan kode di Refresh token. Untuk petunjuknya, lihat Menggunakan OAuth 2.0 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. Contoh ini mencakup pemisah baris untuk keterbacaan. Jangan sertakan pemisah baris ini dalam string koneksi Anda:

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 bagian Pass-through Token di Panduan Driver ODBC Databricks (HTML atau PDF).

Perwakilan layanan dengan peran Azure

Jika perwakilan layanan ID Microsoft Entra Anda memiliki peran Azure pada sumber daya ruang kerja di Azure tetapi tidak berada di ruang kerja Azure Databricks, Anda harus mengatur header HTTP tambahan di koneksi ODBC Anda. Driver SIMBA Spark ODBC mendukung penambahan header menggunakan format http.header.[HeaderKey]=[HeaderValue].

Atur header berikut yang diperlukan dari Perwakilan Layanan dengan Peran Azure dalam string koneksi DSN atau DSN-less Anda.

  • http.header.X-Databricks-Azure-SP-Management-Token=<management-access-token>
  • http.header.X-Databricks-Azure-Workspace-Resource-Id=<workspace-resource-id>

Untuk mendapatkan token manajemen, lihat Prinsipal layanan dengan peran Azure. Untuk mendapatkan ID sumber daya ruang kerja, lihat Autentikasi identitas terkelola Azure.

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 pass-through token OAuth 2.0.

  • Untuk membuat token OAuth 2.0 untuk autentikasi pass-through token untuk perwakilan layanan MICROSOFT Entra ID, lihat Membuat token akses OAuth M2M secara manual. Catat nilai OAuth access_token dari service principal.
  • Untuk membuat prinsipal layanan terkelola Microsoft Entra ID, lihat Prinsipal layanan.

Penting

Driver ODBC versi 2.7.5 ke atas mendukung pembuatan token OAuth 2.0 dengan menggunakan rahasia OAuth Azure Databricks. Informasi 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
(Autentikasi pass-through token OAuth 2.0 tidak mendukung 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=<databricks-oauth-token>

Untuk membuat string koneksi tanpa DSN, gunakan format berikut. Contoh ini mencakup pemisah baris untuk keterbacaan. Jangan sertakan pemisah baris ini dalam string koneksi Anda:

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 Pass-through Token di Panduan Driver ODBC Databricks (HTML atau PDF).

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 secara otomatis me-refresh token OAuth 2.0 yang kedaluwarsa.

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 (bawaan). Untuk semua aplikasi yang tersedia, lihat Pengaturan koneksi aplikasi di konsol akun.
Auth_Scope (opsional) sql offline_access (bawaan)
OAuth2RedirectUrlPort (opsional) 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. Contoh ini mencakup pemisah baris untuk keterbacaan. Jangan sertakan pemisah baris ini dalam string koneksi Anda:

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 Berbasis Browser di Panduan Driver ODBC Databricks (HTML atau PDF).

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

Driver ODBC 2.8.2 ke atas mendukung autentikasi pengguna-ke-mesin (U2M) Microsoft Entra ID OAuth untuk pengguna Azure Databricks.

Untuk menggunakan Microsoft Entra ID OAuth user-to-machine (U2M), Anda harus mendaftarkan klien OAuth (aplikasi) di ID Microsoft Entra, lihat Mendaftarkan aplikasi klien di ID Microsoft Entra.

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. Contoh ini mencakup pemisah baris untuk keterbacaan. Jangan sertakan pemisah baris ini dalam string koneksi Anda:

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 perwakilan layanan ke Azure Databricks dengan OAuth. Catat nilai UUID atau ID Aplikasi dari perwakilan layanan, serta 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 NilaiUUID/ID Aplikasi perwakilan 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. Contoh ini mencakup pemisah baris untuk keterbacaan. Jangan sertakan pemisah baris ini dalam string koneksi Anda:

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 Kredensial Klien di Panduan Driver ODBC Databricks (HTML atau PDF).

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

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

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 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. Contoh ini mencakup pemisah baris untuk keterbacaan. Jangan sertakan pemisah baris ini dalam string koneksi Anda:

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. Gunakan metode autentikasi 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 Microsoft Azure. Pada halaman sumber daya ruang kerja Azure Databricks yang muncul, klik Properti di bawah Pengaturan di bar samping. ID berada dalam 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. Contoh ini mencakup pemisah baris untuk keterbacaan. Jangan sertakan pemisah baris ini dalam string koneksi Anda:

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>

Token akses pribadi Azure Databricks (warisan)

Untuk membuat token akses pribadi Azure Databricks, ikuti langkah-langkah dalam Membuat token akses pribadi 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. Contoh ini mencakup pemisah baris untuk keterbacaan. Jangan sertakan pemisah baris ini dalam string koneksi Anda:

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