Bagikan melalui


Autentikasi pengguna ke komputer (U2M) OAuth

Autentikasi pengguna-ke-mesin (U2M) OAuth menggunakan masuk dan persetujuan manusia real time untuk mengautentikasi akun pengguna Azure Databricks target. Setelah pengguna berhasil masuk dan menyetujui permintaan autentikasi OAuth, token OAuth diberikan kepada alat atau SDK yang berpartisipasi untuk melakukan autentikasi berbasis token sejak waktu tersebut ke depan atas nama pengguna. Token OAuth memiliki masa pakai satu jam, setelah itu alat atau SDK yang terlibat akan membuat upaya latar belakang otomatis untuk mendapatkan token baru yang juga berlaku selama satu jam.

Untuk mengonfigurasi autentikasi OAuth U2M dengan Azure Databricks, Anda harus mengatur variabel lingkungan terkait, bidang, .databrickscfg bidang Terraform, atau Config bidang terkait berikut:

  • Host Azure Databricks, ditentukan sebagai https://accounts.azuredatabricks.net untuk operasi akun atau URL target per ruang kerja, misalnya https://adb-1234567890123456.7.azuredatabricks.net untuk operasi ruang kerja.
  • ID akun Azure Databricks, untuk operasi akun Azure Databricks.

Untuk melakukan autentikasi OAuth U2M dengan Azure Databricks, integrasikan hal berikut dalam kode Anda, berdasarkan alat atau SDK yang berpartisipasi. Perhatikan bahwa bergantung pada operasi Azure Databricks yang dipanggil kode Anda, Anda tidak perlu menjadi administrator untuk akun Azure Databricks:

Lingkungan

Untuk menggunakan variabel lingkungan untuk jenis autentikasi Azure Databricks tertentu dengan alat atau SDK, lihat Jenis autentikasi yang didukung oleh alat Azure Databricks atau SDK atau dokumentasi alat atau SDK. Lihat juga Variabel dan bidang lingkungan untuk autentikasi terpadu klien dan urutan evaluasi default untuk metode dan kredensial autentikasi terpadu klien.

Untuk operasi tingkat akun, atur variabel lingkungan berikut:

  • DATABRICKS_HOST, atur ke nilai URL konsol akun Azure Databricks Anda, https://accounts.azuredatabricks.net.
  • DATABRICKS_ACCOUNT_ID

Untuk operasi tingkat ruang kerja, atur variabel lingkungan berikut:

Profil

Buat atau identifikasi profil konfigurasi Azure Databricks dengan bidang berikut dalam file Anda.databrickscfg. Jika Anda membuat profil, ganti tempat penampung dengan nilai yang sesuai. Untuk menggunakan profil dengan alat atau SDK, lihat Jenis autentikasi yang didukung oleh alat Atau SDK Azure Databricks atau dokumentasi alat atau SDK. Lihat juga Variabel dan bidang lingkungan untuk autentikasi terpadu klien dan urutan evaluasi default untuk metode dan kredensial autentikasi terpadu klien.

Untuk operasi tingkat akun, atur nilai berikut dalam file Anda .databrickscfg . Dalam hal ini, URL konsol akun Azure Databricks adalah https://accounts.azuredatabricks.net:

[<some-unique-configuration-profile-name>]
host       = <account-console-url>
account_id = <account-id>

Untuk operasi tingkat ruang kerja, atur nilai berikut dalam file Anda .databrickscfg . Dalam hal ini, host adalah URL per ruang kerja Azure Databricks, misalnya https://adb-1234567890123456.7.azuredatabricks.net:

[<some-unique-configuration-profile-name>]
host = <workspace-url>

CLI

Untuk Databricks CLI, jalankan databricks auth login perintah dengan opsi berikut:

  • Untuk operasi tingkat akun Azure Databricks, --host <account-console-url> --account-id <account-id>.
  • Untuk operasi tingkat ruang kerja Azure Databricks, --host <workspace-url>.

Setelah Anda menjalankan perintah ini, ikuti instruksi di browser web Anda untuk masuk ke akun atau ruang kerja Azure Databricks Anda.

Untuk detail selengkapnya, lihat Autentikasi pengguna-ke-mesin (U2M) OAuth.

Sambungkan

Catatan

Autentikasi OAuth U2M didukung dalam versi Databricks Connect berikut:

  • Untuk Python, Databricks Connect untuk Databricks Runtime 13.1 ke atas.
  • Untuk Scala, Databricks Connect untuk Databricks Runtime 13.3 LTS ke atas.

Untuk Databricks Connect, Anda bisa melakukan salah satu hal berikut ini:

  • Atur nilai dalam file Anda .databrickscfg untuk operasi tingkat ruang kerja Azure Databricks seperti yang ditentukan di bagian "Profil" artikel ini. Atur cluster_id juga variabel lingkungan di profil Anda ke URL per ruang kerja Anda, misalnya https://adb-1234567890123456.7.azuredatabricks.net.
  • Atur variabel lingkungan untuk operasi tingkat ruang kerja Azure Databricks seperti yang ditentukan di bagian "Lingkungan" artikel ini. Atur DATABRICKS_CLUSTER_ID juga variabel lingkungan ke URL per ruang kerja Anda, misalnya https://adb-1234567890123456.7.azuredatabricks.net.

Nilai dalam file Anda .databrickscfg selalu diutamakan daripada variabel lingkungan.

Untuk menginisialisasi klien Databricks Connect dengan variabel atau nilai lingkungan ini dalam file Anda .databrickscfg , lihat salah satu hal berikut ini:

Kode VS

Untuk ekstensi Databricks untuk Visual Studio Code, lakukan hal berikut:

  1. Di panel Konfigurasi , klik Konfigurasikan Databricks.
  2. Di Palet Perintah, untuk Host Databricks, masukkan URL per ruang kerja Anda, misalnya https://adb-1234567890123456.7.azuredatabricks.net, lalu tekan Enter.
  3. Pilih OAuth (pengguna ke komputer).
  4. Selesaikan instruksi di layar dalam browser web Anda untuk menyelesaikan autentikasi dengan akun Azure Databricks Anda dan mengizinkan akses semua api .

Untuk detail selengkapnya, lihat Menyiapkan autentikasi OAuth U2M.

Terraform

Catatan

Autentikasi OAuth U2M belum didukung.

Python

Untuk operasi tingkat akun, Anda harus terlebih dahulu menggunakan Databricks CLI untuk menjalankan perintah berikut, sebelum Anda menjalankan kode Python Anda. Perintah ini menginstruksikan Databricks CLI untuk menghasilkan dan menyimpan token OAuth yang diperlukan di jalur .databricks/token-cache.json dalam folder beranda pengguna Anda di komputer Anda:

databricks auth login --host <account-console-url> --account-id <account-id>

Ganti tempat penampung berikut:

  • Ganti <account-console-url> dengan nilai https://accounts.azuredatabricks.net. (Jangan atur ini ke nilai URL ruang kerja Azure Databricks Anda.)
  • Ganti <account-id> dengan nilai akun Azure Databricks Anda. Lihat Menemukan ID akun Anda.

Catatan

Jika Anda memiliki profil konfigurasi Azure Databricks yang sudah ada dengan host bidang dan account_id yang sudah ditetapkan, Anda dapat mengganti --host <account-console-url> --account-id <account-id> dengan --profile <profile-name>.

Setelah menjalankan auth login perintah, Anda diminta untuk menyimpan URL masuk akun dan ID akun sebagai profil konfigurasi Azure Databricks. Saat diminta, masukkan nama profil baru atau yang sudah ada di file Anda .databrickscfg . Profil yang ada dengan nama yang sama dalam file Anda .databrickscfg ditimpa.

Jika diminta, selesaikan instruksi di layar browser web Anda untuk menyelesaikan proses masuk. Kemudian gunakan kode Python yang mirip dengan salah satu cuplikan berikut:

Untuk autentikasi default:

from databricks.sdk import AccountClient

a = AccountClient()
# ...

Untuk konfigurasi langsung (ganti retrieve tempat penampung dengan implementasi Anda sendiri untuk mengambil nilai dari konsol atau beberapa penyimpanan konfigurasi lainnya, seperti Azure KeyVault). Dalam hal ini, URL konsol akun Azure Databricks adalah https://accounts.azuredatabricks.net:

from databricks.sdk import AccountClient

a = AccountClient(
  host       = retrieveAccountConsoleUrl(),
  account_id = retrieveAccountId()
)
# ...

Untuk operasi tingkat ruang kerja, Anda harus terlebih dahulu menggunakan Databricks CLI untuk menjalankan perintah berikut, sebelum Anda menjalankan kode Python Anda. Perintah ini menginstruksikan Databricks CLI untuk menghasilkan dan menyimpan token OAuth yang diperlukan di jalur .databricks/token-cache.json dalam folder beranda pengguna Anda di komputer Anda:

databricks auth login --host <worskpace-url>

Ganti tempat penampung <workspace-url> dengan URL target Azure Databricks per ruang kerja, misalnya https://adb-1234567890123456.7.azuredatabricks.net.

Catatan

Jika Anda memiliki profil konfigurasi Azure Databricks yang sudah ada dengan bidang yang host sudah ditetapkan, Anda dapat mengganti --host <workspace-url> dengan --profile <profile-name>.

Setelah menjalankan auth login perintah, Anda diminta untuk menyimpan URL ruang kerja sebagai profil konfigurasi Azure Databricks. Saat diminta, masukkan nama profil baru atau yang sudah ada di file Anda .databrickscfg . Profil yang ada dengan nama yang sama dalam file Anda .databrickscfg ditimpa.

Jika diminta, selesaikan instruksi di layar browser web Anda untuk menyelesaikan proses masuk. Kemudian gunakan kode Python yang mirip dengan salah satu cuplikan berikut:

Untuk autentikasi default:

from databricks.sdk import WorkspaceClient

w = WorkspaceClient()
# ...

Untuk konfigurasi langsung (ganti retrieve tempat penampung dengan implementasi Anda sendiri untuk mengambil nilai dari konsol atau beberapa penyimpanan konfigurasi lainnya, seperti Azure KeyVault). Dalam hal ini, host adalah URL per ruang kerja Azure Databricks, misalnya https://adb-1234567890123456.7.azuredatabricks.net:

from databricks.sdk import WorkspaceClient

w = WorkspaceClient(host = retrieveWorkspaceUrl())
# ...

Untuk informasi selengkapnya tentang mengautentikasi dengan alat databricks dan SDK yang menggunakan Python dan yang mengimplementasikan autentikasi terpadu klien Databricks, lihat:

Java

Untuk operasi tingkat akun, Anda harus terlebih dahulu menggunakan Databricks CLI untuk menjalankan perintah berikut, sebelum Anda menjalankan kode Java Anda. Perintah ini menginstruksikan Databricks CLI untuk menghasilkan dan menyimpan token OAuth yang diperlukan di jalur .databricks/token-cache.json dalam folder beranda pengguna Anda di komputer Anda:

databricks auth login --host <account-console-url> --account-id <account-id>

Ganti tempat penampung berikut:

  • Ganti <account-console-url> dengan nilai https://accounts.azuredatabricks.net. (Jangan atur ini ke nilai URL ruang kerja Azure Databricks Anda.)
  • Ganti <account-id> dengan nilai akun Azure Databricks Anda. Lihat Menemukan ID akun Anda.

Catatan

Jika Anda memiliki profil konfigurasi Azure Databricks yang sudah ada dengan host bidang dan account_id yang sudah ditetapkan, Anda dapat mengganti --host <account-console-url> --account-id <account-id> dengan --profile <profile-name>.

Setelah menjalankan auth login perintah, Anda diminta untuk menyimpan URL masuk akun dan ID akun sebagai profil konfigurasi Azure Databricks. Saat diminta, masukkan nama profil baru atau yang sudah ada di file Anda .databrickscfg . Profil yang ada dengan nama yang sama dalam file Anda .databrickscfg ditimpa.

Jika diminta, selesaikan instruksi di layar browser web Anda untuk menyelesaikan proses masuk. Kemudian gunakan kode Java yang mirip dengan salah satu cuplikan berikut:

Untuk autentikasi default:

import com.databricks.sdk.AccountClient;
// ...
AccountClient a = new AccountClient();
// ...

Untuk konfigurasi langsung (ganti retrieve tempat penampung dengan implementasi Anda sendiri untuk mengambil nilai dari konsol atau beberapa penyimpanan konfigurasi lainnya, seperti Azure KeyVault). Dalam hal ini, URL konsol akun Azure Databricks adalah https://accounts.azuredatabricks.net:

import com.databricks.sdk.AccountClient;
import com.databricks.sdk.core.DatabricksConfig;
// ...
DatabricksConfig cfg = new DatabricksConfig()
  .setHost(retrieveAccountConsoleUrl())
  .setAccountId(retrieveAccountId());
AccountClient a = new AccountClient(cfg);
// ...

Untuk operasi tingkat ruang kerja, Anda harus terlebih dahulu menggunakan Databricks CLI untuk menjalankan perintah berikut, sebelum Anda menjalankan kode Java Anda. Perintah ini menginstruksikan Databricks CLI untuk menghasilkan dan menyimpan token OAuth yang diperlukan di jalur .databricks/token-cache.json dalam folder beranda pengguna Anda di komputer Anda:

databricks auth login --host <worskpace-url>

Ganti tempat penampung <workspace-url> dengan URL target Azure Databricks per ruang kerja, misalnya https://adb-1234567890123456.7.azuredatabricks.net.

Catatan

Jika Anda memiliki profil konfigurasi Azure Databricks yang sudah ada dengan bidang yang host sudah ditetapkan, Anda dapat mengganti --host <workspace-url> dengan --profile <profile-name>.

Setelah menjalankan auth login perintah, Anda diminta untuk menyimpan URL ruang kerja sebagai profil konfigurasi Azure Databricks. Saat diminta, masukkan nama profil baru atau yang sudah ada di file Anda .databrickscfg . Profil yang ada dengan nama yang sama dalam file Anda .databrickscfg ditimpa.

Jika diminta, selesaikan instruksi di layar browser web Anda untuk menyelesaikan proses masuk. Kemudian gunakan kode Java yang mirip dengan salah satu cuplikan berikut:

Untuk autentikasi default:

import com.databricks.sdk.WorkspaceClient;
// ...
WorkspaceClient w = new WorkspaceClient();
// ...

Untuk konfigurasi langsung (ganti retrieve tempat penampung dengan implementasi Anda sendiri untuk mengambil nilai dari konsol atau beberapa penyimpanan konfigurasi lainnya, seperti Azure KeyVault). Dalam hal ini, host adalah URL per ruang kerja Azure Databricks, misalnya https://adb-1234567890123456.7.azuredatabricks.net:

import com.databricks.sdk.WorkspaceClient;
import com.databricks.sdk.core.DatabricksConfig;
// ...
DatabricksConfig cfg = new DatabricksConfig()
  .setHost(retrieveWorkspaceUrl())
WorkspaceClient w = new WorkspaceClient(cfg);
// ...

Untuk informasi selengkapnya tentang mengautentikasi dengan alat databricks dan SDK yang menggunakan Java dan yang menerapkan autentikasi terpadu klien Databricks, lihat:

Go

Untuk operasi tingkat akun, Anda harus terlebih dahulu menggunakan Databricks CLI untuk menjalankan perintah berikut, sebelum Anda menjalankan kode Go Anda. Perintah ini menginstruksikan Databricks CLI untuk menghasilkan dan menyimpan token OAuth yang diperlukan di jalur .databricks/token-cache.json dalam folder beranda pengguna Anda di komputer Anda:

databricks auth login --host <account-login-url> --account-id <account-id>

Ganti tempat penampung berikut:

  • Ganti <account-console-url> dengan nilai https://accounts.azuredatabricks.net. (Jangan atur ini ke nilai URL ruang kerja Azure Databricks Anda.)
  • Ganti <account-id> dengan nilai akun Azure Databricks Anda. Lihat Menemukan ID akun Anda.

Catatan

Jika Anda memiliki profil konfigurasi Azure Databricks yang sudah ada dengan host bidang dan account_id yang sudah ditetapkan, Anda dapat mengganti --host <account-console-url> --account-id <account-id> dengan --profile <profile-name>.

Setelah menjalankan auth login perintah, Anda diminta untuk menyimpan URL masuk akun dan ID akun sebagai profil konfigurasi Azure Databricks. Saat diminta, masukkan nama profil baru atau yang sudah ada di file Anda .databrickscfg . Profil yang ada dengan nama yang sama dalam file Anda .databrickscfg ditimpa.

Jika diminta, selesaikan instruksi di layar browser web Anda untuk menyelesaikan proses masuk. Kemudian gunakan kode Go yang mirip dengan salah satu cuplikan berikut:

Untuk autentikasi default:

import (
  "github.com/databricks/databricks-sdk-go"
)
// ...
a := databricks.Must(databricks.NewAccountClient())
// ...

Untuk konfigurasi langsung (ganti retrieve tempat penampung dengan implementasi Anda sendiri untuk mengambil nilai dari konsol atau beberapa penyimpanan konfigurasi lainnya, seperti Azure KeyVault). Dalam hal ini, URL konsol akun Azure Databricks adalah https://accounts.azuredatabricks.net:

import (
  "github.com/databricks/databricks-sdk-go"
)
// ...
a := databricks.Must(databricks.NewAccountClient(&databricks.Config{
  Host:      retrieveAccountConsoleUrl(),
  AccountId: retrieveAccountId(),
}))
// ...

Untuk operasi tingkat ruang kerja, Anda harus terlebih dahulu menggunakan Databricks CLI untuk menjalankan perintah berikut, sebelum Anda menjalankan kode Go Anda. Perintah ini menginstruksikan Databricks CLI untuk menghasilkan dan menyimpan token OAuth yang diperlukan di jalur .databricks/token-cache.json dalam folder beranda pengguna Anda di komputer Anda:

databricks auth login --host <worskpace-url>

Ganti tempat penampung <workspace-url> dengan URL target Azure Databricks per ruang kerja, misalnya https://adb-1234567890123456.7.azuredatabricks.net.

Catatan

Jika Anda memiliki profil konfigurasi Azure Databricks yang sudah ada dengan bidang yang host sudah ditetapkan, Anda dapat mengganti --host <workspace-url> dengan --profile <profile-name>.

Setelah menjalankan auth login perintah, Anda diminta untuk menyimpan URL ruang kerja sebagai profil konfigurasi Azure Databricks. Saat diminta, masukkan nama profil baru atau yang sudah ada di file Anda .databrickscfg . Profil yang ada dengan nama yang sama dalam file Anda .databrickscfg ditimpa.

Jika diminta, selesaikan instruksi di layar browser web Anda untuk menyelesaikan proses masuk. Kemudian gunakan kode Go yang mirip dengan salah satu cuplikan berikut:

Untuk autentikasi default:

import (
  "github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient())
// ...

Untuk konfigurasi langsung (ganti retrieve tempat penampung dengan implementasi Anda sendiri untuk mengambil nilai dari konsol atau beberapa penyimpanan konfigurasi lainnya, seperti Azure KeyVault). Dalam hal ini, host adalah URL per ruang kerja Azure Databricks, misalnya https://adb-1234567890123456.7.azuredatabricks.net:

import (
  "github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient(&databricks.Config{
  Host: retrieveWorkspaceUrl(),
}))
// ...

Untuk informasi selengkapnya tentang mengautentikasi dengan alat databricks dan SDK yang menggunakan Go dan yang mengimplementasikan autentikasi terpadu klien Databricks, lihat Mengautentikasi Databricks SDK for Go dengan akun atau ruang kerja Azure Databricks Anda.

Membuat dan menggunakan token akses secara manual untuk autentikasi pengguna-ke-mesin (U2M) OAuth

Alat Azure Databricks dan SDK yang mengimplementasikan standar autentikasi terpadu klien Databricks akan secara otomatis menghasilkan, menyegarkan, dan menggunakan token akses OAuth Azure Databricks atas nama Anda sesuai kebutuhan untuk autentikasi OAuth U2M.

Jika karena alasan tertentu Anda harus membuat, me-refresh, atau menggunakan token akses OAuth Azure Databricks secara manual untuk autentikasi OAuth U2M, ikuti instruksi di bagian ini.

Langkah 1: Hasilkan pemverifikasi kode OAuth dan pasangan tantangan kode

Untuk membuat dan menggunakan token akses secara manual untuk autentikasi OAuth U2M, Anda harus terlebih dahulu memiliki pemverifikasi kode OAuth dan tantangan kode OAuth yang berasal dari pemverifikasi kode. Anda menggunakan tantangan kode nanti di Langkah 2 untuk menghasilkan kode otorisasi OAuth. Anda menggunakan pemverifikasi kode dan kode otorisasi nanti di Langkah 3 untuk menghasilkan token akses OAuth.

Catatan

Meskipun secara teknis dimungkinkan untuk menggunakan string teks biasa yang tidak dikodekan untuk pemverifikasi kode dan tantangan kode, Databricks sangat mendorong mengikuti standar OAuth untuk menghasilkan pemverifikasi kode dan tantangan kode sebagai gantinya.

Secara khusus, pemverifikasi kode harus berupa string acak kriptografis A-Zmenggunakan karakter dari set , , a-z0-9, dan karakter -._~ tanda baca (tanda hubung, titik, garis bawah, dan kemiringan), antara 43 dan 128 karakter. Tantangan kode harus berupa string yang dikodekan BASE64-URL dari hash SHA256 dari pemverifikasi kode. Untuk informasi selengkapnya, lihat Permintaan Otorisasi.

Anda dapat menjalankan skrip Python berikut untuk menghasilkan pemverifikasi kode unik dan pasangan tantangan kode dengan cepat. Meskipun Anda dapat menggunakan kembali pasangan pemverifikasi kode dan tantangan kode yang dihasilkan ini beberapa kali, Databricks merekomendasikan agar Anda menghasilkan pemverifikasi kode baru dan pasangan tantangan kode setiap kali Anda membuat token akses secara manual untuk autentikasi OAuth U2M.

import uuid, hashlib, base64

# Generate a UUID.
uuid1 = uuid.uuid4()

# Convert the UUID to a string.
uuid_str1 = str(uuid1).upper()

# Create the code verifier.
code_verifier = uuid_str1 + "-" + uuid_str1

# Create the code challenge based on the code verifier.
code_challenge = base64.urlsafe_b64encode(hashlib.sha256(code_verifier.encode()).digest()).decode('utf-8')

# Remove all padding from the code challenge.
code_challenge = code_challenge.replace('=', '')

# Print the code verifier and the code challenge.
# Use these in your calls to manually generate
# access tokens for OAuth U2M authentication.
print(f"code_verifier:  {code_verifier}")
print(f"code_challenge: {code_challenge}")

Langkah 2: Buat kode otorisasi

Anda menggunakan kode otorisasi OAuth untuk menghasilkan token akses OAuth Azure Databricks. Kode otorisasi kedaluwarsa segera setelah Anda menggunakannya untuk menghasilkan token akses OAuth Azure Databricks. Cakupan kode otorisasi tergantung pada tingkat yang Anda hasilkan. Anda dapat membuat kode otorisasi di tingkat akun Azure Databricks atau tingkat ruang kerja, sebagai berikut:

Membuat kode otorisasi tingkat akun

  1. Sebagai admin akun, masuk ke konsol akun.

  2. Klik panah bawah di samping nama pengguna Anda di sudut kanan atas.

  3. Salin ID Akun Anda.

  4. Di bilah alamat browser web Anda, telusuri ke URL berikut. Hentian baris telah ditambahkan untuk keterbacaan. URL Anda tidak boleh berisi hentian baris ini.

    Di URL berikut, ganti yang berikut ini:

    • Ganti <account-id> dengan ID Akun yang Anda salin.
    • Ganti <redirect-url> dengan URL pengalihan ke komputer lokal Anda, misalnya http://localhost:8020.
    • Ganti <state> dengan beberapa string teks biasa yang dapat Anda gunakan untuk memverifikasi integritas kode otorisasi.
    • Ganti <code-challenge> dengan tantangan kode yang Anda buat di Langkah 1.
    https://accounts.azuredatabricks.net/oidc/accounts/<account-id>/v1/authorize
    ?client_id=databricks-cli
    &redirect_url=<redirect-url>
    &response_type=code
    &state=<state>
    &code_challenge=<code-challenge>
    &code_challenge_method=S256
    &scope=all-apis+offline_access
    
  5. Saat diminta, ikuti petunjuk di layar untuk masuk ke akun Azure Databricks Anda.

  6. Di bilah alamat browser web Anda, salin kode otorisasi. Kode otorisasi adalah string karakter lengkap antara code= dan & karakter dalam URL. Misalnya, kode otorisasi dalam URL berikut adalah dcod...7fe6:

    http://localhost:8020/?code=dcod...7fe6&state=<state>
    

    Anda harus memverifikasi integritas kode otorisasi ini dengan mengonfirmasi secara visual bahwa <state> nilai dalam URL respons ini cocok dengan state nilai yang Anda berikan di URL permintaan Anda. Jika nilainya berbeda, Anda tidak boleh menggunakan kode otorisasi ini, karena dapat disusupi.

  7. Lewati ke depan untuk Membuat token akses tingkat akun.

Membuat kode otorisasi tingkat ruang kerja

  1. Di bilah alamat browser web Anda, telusuri ke URL berikut. Hentian baris telah ditambahkan untuk keterbacaan. URL Anda tidak boleh berisi hentian baris ini.

    Di URL berikut, ganti yang berikut ini:

    • Ganti <databricks-instance> dengan nama instans ruang kerja Azure Databricks, misalnya adb-1234567890123456.7.azuredatabricks.net.
    • Ganti <redirect-url> dengan URL pengalihan ke komputer lokal Anda, misalnya http://localhost:8020.
    • Ganti <state> dengan beberapa string teks biasa yang dapat Anda gunakan untuk memverifikasi integritas kode otorisasi.
    • Ganti <code-challenge> dengan tantangan kode yang Anda buat di Langkah 1.
    https://<databricks-instance>/oidc/v1/authorize
    ?client_id=databricks-cli
    &redirect_uri=<redirect-url>
    &response_type=code
    &state=<state>
    &code_challenge=<code-challenge>
    &code_challenge_method=S256
    &scope=all-apis+offline_access
    
  2. Saat diminta, ikuti petunjuk di layar untuk masuk ke ruang kerja Azure Databricks Anda.

  3. Di bilah alamat browser web Anda, salin kode otorisasi. Kode otorisasi adalah string karakter lengkap antara code= dan & karakter dalam URL. Misalnya, kode otorisasi dalam URL berikut adalah dcod...7fe6:

    http://localhost:8020/?code=dcod...7fe6&state=<state>
    

    Anda harus memverifikasi integritas kode otorisasi ini dengan mengonfirmasi secara visual bahwa <state> nilai dalam URL respons ini cocok dengan state nilai yang Anda berikan di URL permintaan Anda. Jika nilainya berbeda, Anda tidak boleh menggunakan kode otorisasi ini, karena dapat disusupi.

Langkah 3: Gunakan kode otorisasi untuk menghasilkan token akses OAuth

Anda menggunakan kode otorisasi OAuth dari langkah sebelumnya untuk menghasilkan token akses OAuth Azure Databricks, sebagai berikut:

  • Untuk memanggil REST API tingkat akun dan tingkat ruang kerja dalam akun dan ruang kerja yang dapat diakses akun pengguna Azure Databricks Anda, gunakan kode otorisasi tingkat akun untuk menghasilkan token akses di tingkat akun.
  • Untuk memanggil REST API hanya dalam satu ruang kerja yang dapat diakses akun pengguna Anda, Anda dapat menggunakan kode otorisasi tingkat ruang kerja untuk menghasilkan token akses di tingkat ruang kerja hanya untuk ruang kerja tersebut.

Membuat token akses tingkat akun

  1. Gunakan klien seperti curl bersama dengan kode otorisasi tingkat akun untuk menghasilkan token akses OAuth tingkat akun. Dalam panggilan berikut curl , ganti tempat penampung berikut:

    • Ganti <account-id> dengan ID Akun dari Langkah 2.
    • Ganti <redirect-url> dengan URL pengalihan dari Langkah 2.
    • Ganti <code-verifier> dengan pemverifikasi kode yang Anda buat di Langkah 1.
    • Ganti <authorization-code> dengan kode otorisasi tingkat akun yang Anda buat di Langkah 2.
    curl --request POST \
    https://accounts.azuredatabricks.net/oidc/accounts/<account-id>/v1/token \
    --data "client_id=databricks-cli" \
    --data "grant_type=authorization_code" \
    --data "scope=all-apis offline_access" \
    --data "redirect_uri=<redirect-url>" \
    --data "code_verifier=<code-verifier>" \
    --data "code=<authorization-code>"
    
  2. Dalam respons, salin token akses OAuth tingkat akun. Token akses adalah string karakter lengkap dalam access_token objek. Misalnya, token akses dalam respons berikut adalah eyJr...Dkag:

    {
      "access_token": "eyJr...Dkag",
      "refresh_token": "doau...f26e",
      "scope": "all-apis offline_access",
      "token_type": "Bearer",
      "expires_in": 3600
    }
    

    Token akses ini kedaluwarsa dalam satu jam. Untuk menghasilkan token akses baru, ulangi prosedur ini dari Langkah 1.

  3. Lewati ke Langkah 4: Panggil REST API Databricks.

Membuat token akses tingkat ruang kerja

  1. Gunakan klien seperti curl bersama dengan kode otorisasi tingkat ruang kerja untuk menghasilkan token akses OAuth tingkat ruang kerja. Dalam panggilan berikut curl , ganti tempat penampung berikut:

    • Ganti <databricks-instance> dengan nama instans ruang kerja Azure Databricks, misalnya adb-1234567890123456.7.azuredatabricks.net.
    • Ganti <redirect-url> dengan URL pengalihan dari Langkah 2.
    • Ganti <code-verifier> dengan pemverifikasi kode yang Anda buat di Langkah 1.
    • Ganti <authorization-code> dengan kode otorisasi tingkat ruang kerja yang Anda buat di Langkah 2.
    curl --request POST \
    https://<databricks-instance>/oidc/v1/token \
    --data "client_id=databricks-cli" \
    --data "grant_type=authorization_code" \
    --data "scope=all-apis offline_access" \
    --data "redirect_uri=<redirect-url>" \
    --data "code_verifier=<code-verifier>" \
    --data "code=<authorization-code>"
    
  2. Dalam respons, salin token akses OAuth tingkat ruang kerja. Token akses adalah string karakter lengkap dalam access_token objek. Misalnya, token akses dalam respons berikut adalah eyJr...Dkag:

    {
      "access_token": "eyJr...Dkag",
      "refresh_token": "doau...f26e",
      "scope": "all-apis offline_access",
      "token_type": "Bearer",
      "expires_in": 3600
    }
    

    Token akses ini kedaluwarsa dalam satu jam. Untuk menghasilkan token akses baru, ulangi prosedur ini dari Langkah 1.

Langkah 4: Memanggil REST API Databricks

Anda menggunakan token akses OAuth tingkat akun atau tingkat ruang kerja untuk mengautentikasi ke REST API tingkat akun Azure Databricks dan REST API tingkat ruang kerja, tergantung pada cakupan token akses. Akun pengguna Azure Databricks Anda harus menjadi admin akun untuk memanggil REST API tingkat akun.

Contoh permintaan REST API tingkat akun

Contoh ini menggunakan curl bersama dengan Bearer autentikasi untuk mendapatkan daftar semua ruang kerja yang terkait dengan akun.

  • Ganti <oauth-access-token> dengan token akses OAuth tingkat akun.
  • Ganti <account-id> dengan ID akun Anda.
export OAUTH_TOKEN=<oauth-access-token>

curl --request GET --header "Authorization: Bearer $OAUTH_TOKEN" \
"https://accounts.azuredatabricks.net/api/2.0/accounts/<account-id>/workspaces"

Contoh permintaan REST API tingkat ruang kerja

Contoh ini menggunakan curl bersama dengan Bearer autentikasi untuk mencantumkan semua kluster yang tersedia di ruang kerja yang ditentukan.

  • Ganti <oauth-access-token> dengan token akses OAuth tingkat akun atau tingkat ruang kerja.
  • Ganti <databricks-instance> dengan nama instans ruang kerja Azure Databricks, misalnya adb-1234567890123456.7.azuredatabricks.net.
export OAUTH_TOKEN=<oauth-access-token>

curl --request GET --header "Authorization: Bearer $OAUTH_TOKEN" \
"https://<databricks-instance>/api/2.0/clusters/list"