Bagikan melalui


Menggunakan perwakilan layanan untuk mengautentikasi dengan Azure Databricks

Artikel ini menjelaskan cara membuat perwakilan layanan Azure Databricks dan menggunakannya, atau perwakilan layanan terkelola ID Microsoft Entra (sebelumnya Azure Active Directory), untuk mengautentikasi ke entitas target.

Catatan

Anda harus menjadi admin akun Azure Databricks untuk mengelola kredensial OAuth Azure Databricks untuk perwakilan layanan.

Langkah 1: Buat perwakilan layanan ID Microsoft Entra di akun Azure Anda

Selesaikan langkah ini jika Anda ingin menautkan perwakilan layanan ID Microsoft Entra ke akun Azure Databricks, ruang kerja, atau keduanya. Jika tidak, lewati ke Langkah 2.

  1. Masuk ke portal Azure.

    Catatan

    Portal yang akan digunakan berbeda tergantung pada apakah aplikasi MICROSOFT Entra ID (sebelumnya Azure Active Directory) Anda berjalan di cloud publik Azure atau di cloud nasional atau berdaulat. Untuk informasi selengkapnya, lihat Cloud nasional.

  2. Jika Anda memiliki akses ke beberapa penyewa, langganan, atau direktori, klik ikon Direktori + langganan (direktori dengan filter) di menu atas untuk beralih ke direktori tempat Anda ingin memprovisikan perwakilan layanan.

  3. Di Cari sumber daya, layanan, dan dokumen, cari dan pilih ID Microsoft Entra.

  4. Klik + Tambahkan dan pilih Pendaftaran aplikasi.

  5. Untuk Nama, masukkan nama untuk aplikasi.

  6. Di bagian Jenis akun yang didukung, pilih Akun hanya dalam direktori organisasi ini (Penyewa tunggal).

  7. Klik Daftar.

  8. Pada halaman Gambaran Umum halaman aplikasi, di bagian Essentials, salin nilai-nilai berikut:

    • ID aplikasi (klien)
    • ID direktori (tenant)

    Gambaran umum aplikasi terdaftar Azure

  9. Untuk menghasilkan rahasia klien, di dalam Kelola, klik Sertifikat & rahasia.

    Catatan

    Anda menggunakan rahasia klien ini untuk menghasilkan token ID Microsoft Entra untuk mengautentikasi perwakilan layanan ID Microsoft Entra dengan Azure Databricks. Untuk menentukan apakah alat Azure Databricks atau SDK dapat menggunakan token ID Microsoft Entra, lihat dokumentasi alat atau SDK.

  10. Pada tab Rahasia klien, klik Rahasia klien baru.

    Rahasia klien baru

  11. Di panel Tambahkan rahasia klien, untuk Deskripsi, masukkan deskripsi untuk rahasia klien.

  12. Untuk Kedaluwarsa, pilih jangka waktu kedaluwarsa untuk rahasia klien, lalu klik Tambahkan.

  13. Salin dan simpan Nilai rahasia klien di tempat yang aman, karena rahasia klien ini adalah kata sandi untuk aplikasi Anda.

Langkah 2: Tambahkan perwakilan layanan ke akun Azure Databricks Anda

Langkah ini hanya berfungsi jika ruang kerja Azure Databricks target Anda diaktifkan untuk federasi identitas. Jika ruang kerja Anda tidak diaktifkan untuk federasi identitas, lewati ke Langkah 3.

  1. Di ruang kerja Azure Databricks Anda, klik nama pengguna Anda di bilah atas dan klik Kelola akun.

    Atau, buka konsol akun Azure Databricks Anda, di https://accounts.azuredatabricks.net.

  2. Masuk ke akun Azure Databricks Anda, jika diminta.

  3. Pada bilah samping, klik Manajemen pengguna.

  4. Klik tab Perwakilan layanan .

  5. Klik Tambahkan perwakilan layanan.

  6. Di bawah Manajemen, pilih Databricks managed atau Microsoft Entra ID managed.

  7. Jika Anda memilih ID Microsoft Entra terkelola, di bawah ID aplikasi Microsoft Entra, tempelkan nilai ID aplikasi (klien) dari Langkah 1.

  8. Masukkan Nama untuk perwakilan layanan.

  9. Klik Tambahkan.

  10. (Opsional) Tetapkan izin tingkat akun ke perwakilan layanan:

    1. Pada tab Perwakilan layanan, klik nama perwakilan layanan Anda.
    2. Pada tab Peran , alihkan untuk mengaktifkan atau menonaktifkan setiap peran target yang Anda inginkan untuk dimiliki perwakilan layanan ini.
    3. Pada tab Izin , berikan akses ke setiap pengguna Azure Databricks, perwakilan layanan, dan peran grup akun yang ingin Anda kelola dan gunakan perwakilan layanan ini. Lihat Mengelola peran pada perwakilan layanan.

Langkah 3: Tambahkan perwakilan layanan ke ruang kerja Azure Databricks Anda

Jika ruang kerja Anda diaktifkan untuk federasi identitas:

  1. Di ruang kerja Azure Databricks Anda, klik nama pengguna Anda di bilah atas dan klik Pengaturan.
  2. Klik tab Identitas dan akses .
  3. Di samping Perwakilan layanan, klik Kelola.
  4. Klik Tambahkan perwakilan layanan.
  5. Pilih perwakilan layanan Anda dari Langkah 2 dan klik Tambahkan.

Lewati ke Langkah 4.

Jika ruang kerja Anda tidak diaktifkan untuk federasi identitas:

  1. Di ruang kerja Azure Databricks Anda, klik nama pengguna Anda di bilah atas dan klik Pengaturan.
  2. Klik tab Identitas dan akses .
  3. Di samping Perwakilan layanan, klik Kelola.
  4. Klik Tambahkan perwakilan layanan.
  5. Klik Tambahkan baru.
  6. Di bawah Manajemen, pilih Databricks managed atau Microsoft Entra ID managed.
  7. Jika Anda memilih ID Microsoft Entra terkelola, di bawah ID aplikasi Microsoft Entra, tempelkan nilai ID aplikasi (klien) dari Langkah 1.
  8. Masukkan beberapa Nama Tampilan untuk perwakilan layanan baru dan klik Tambahkan.

Langkah 4: Menetapkan izin tingkat ruang kerja ke perwakilan layanan

  1. Jika konsol admin untuk ruang kerja Anda belum dibuka, klik nama pengguna Anda di bilah atas dan klik Pengaturan.
  2. Klik tab Identitas dan akses .
  3. Di samping Perwakilan layanan, klik Kelola.
  4. Klik nama perwakilan layanan Anda untuk membuka halaman pengaturannya.
  5. Pada tab Konfigurasi , centang kotak di samping setiap pemberian hak yang Anda inginkan untuk dimiliki perwakilan layanan Anda untuk ruang kerja ini, lalu klik Perbarui.
  6. Pada tab Izin , berikan akses ke setiap pengguna Azure Databricks, perwakilan layanan, dan grup yang ingin Anda kelola dan gunakan perwakilan layanan ini. Lihat Mengelola peran pada perwakilan layanan.

Langkah 5: Buat rahasia Azure Databricks OAuth untuk perwakilan layanan

Sebelum Anda dapat menggunakan OAuth untuk mengautentikasi ke Azure Databricks, Anda harus terlebih dahulu membuat rahasia OAuth, yang dapat digunakan untuk menghasilkan token akses OAuth. Perwakilan layanan dapat memiliki hingga lima rahasia OAuth.

Untuk membuat rahasia OAuth untuk perwakilan layanan dari konsol akun:

  1. Masuk ke konsol akun Azure Databricks, di https://accounts.azuredatabricks.net.
  2. Masuk ke akun Azure Databricks Anda, jika diminta.
  3. Pada bilah samping, klik Manajemen pengguna.
  4. Klik tab Perwakilan layanan .
  5. Klik nama perwakilan layanan.
  6. Di bagian Rahasia OAuth tab Informasi utama, klik Buat rahasia.
  7. Dalam dialog Buat rahasia, salin dan simpan nilai Rahasia di tempat yang aman, karena rahasia OAuth ini adalah kata sandi untuk perwakilan layanan.
  8. Klik Selesai.

Untuk membuat rahasia OAuth untuk perwakilan layanan dari ruang kerja:

  1. Sebagai admin ruang kerja, klik nama pengguna Anda di bilah atas dan klik Pengaturan.

  2. Klik tab Identitas dan akses .

  3. Di samping Perwakilan layanan, klik Kelola.

  4. Klik nama perwakilan layanan Anda untuk membuka halaman pengaturannya.

  5. Klik tab Rahasia .

  6. Di bawah Rahasia OAuth, klik Buat rahasia.

  7. Salin Rahasia dan ID Klien yang ditampilkan, lalu klik Selesai.

    Rahasia hanya akan terungkap sekali selama pembuatan. ID klien sama dengan ID aplikasi perwakilan layanan.

Catatan

Untuk memungkinkan perwakilan layanan menggunakan kluster atau gudang SQL, Anda harus memberikan akses utama layanan kepada mereka. Lihat Izin komputasi atau Mengelola gudang SQL.

Selesaikan mengonfigurasi autentikasi M2M OAuth

Untuk menyelesaikan konfigurasi autentikasi M2M OAuth, Anda harus mengatur variabel lingkungan, 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.
  • ID klien perwakilan layanan.
  • Rahasia perwakilan layanan.

Untuk melakukan autentikasi M2M OAuth, integrasikan hal berikut dalam kode Anda, berdasarkan alat atau SDK yang berpartisipasi:

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 URL konsol akun Azure Databricks, https://accounts.azuredatabricks.net.
  • DATABRICKS_ACCOUNT_ID
  • DATABRICKS_CLIENT_ID
  • DATABRICKS_CLIENT_SECRET

Untuk operasi tingkat ruang kerja, atur variabel lingkungan berikut:

  • DATABRICKS_HOST, atur ke URL per ruang kerja Azure Databricks, misalnya https://adb-1234567890123456.7.azuredatabricks.net.
  • DATABRICKS_CLIENT_ID
  • DATABRICKS_CLIENT_SECRET

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>
client_id     = <service-principal-client-id>
client_secret = <service-principal-secret>

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>
client_id     = <service-principal-client-id>
client_secret = <service-principal-secret>

CLI

Untuk Databricks CLI, lakukan salah satu hal berikut ini:

  • Atur variabel lingkungan seperti yang ditentukan di bagian "Lingkungan" artikel ini.
  • Atur nilai dalam file Anda .databrickscfg seperti yang ditentukan di bagian "Profil" artikel ini.

Variabel lingkungan selalu diutamakan daripada nilai dalam file Anda .databrickscfg .

Lihat juga autentikasi mesin-ke-mesin (M2M) OAuth.

Sambungkan

Catatan

Autentikasi M2M OAuth didukung pada versi Databricks Connect berikut:

  • Untuk Python, Databricks Connect untuk Databricks Runtime 14.0 ke atas.
  • Untuk Scala, Databricks Connect untuk Databricks Runtime 13.3 LTS ke atas. Databricks SDK untuk Java yang disertakan dengan Databricks Connect untuk Databricks Runtime 13.3 LTS ke atas harus ditingkatkan ke Databricks SDK untuk Java 0.17.0 atau lebih tinggi.

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. Atur nilai dalam file Anda .databrickscfg untuk operasi tingkat ruang kerja Azure Databricks seperti yang ditentukan di bagian "Profil" artikel ini.
  2. Di panel Konfigurasi ekstensi Databricks untuk Visual Studio Code, klik Konfigurasikan Databricks.
  3. Di Palet Perintah, untuk Host Databricks, masukkan URL per ruang kerja Anda, misalnya https://adb-1234567890123456.7.azuredatabricks.net, lalu tekan Enter.
  4. Di Palet Perintah, pilih nama profil target Anda dalam daftar untuk URL Anda.

Untuk detail selengkapnya, lihat Penyiapan autentikasi untuk ekstensi Databricks untuk Visual Studio Code.

Terraform

Untuk operasi tingkat akun, untuk autentikasi default:

provider "databricks" {
  alias = "accounts"
}

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

provider "databricks" {
  alias         = "accounts"
  host          = <retrieve-account-console-url>
  account_id    = <retrieve-account-id>
  client_id     = <retrieve-client-id>
  client_secret = <retrieve-client-secret>
}

Untuk operasi tingkat ruang kerja, untuk autentikasi default:

provider "databricks" {
  alias = "workspace"
}

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

provider "databricks" {
  alias         = "workspace"
  host          = <retrieve-workspace-url>
  client_id     = <retrieve-client-id>
  client_secret = <retrieve-client-secret>
}

Untuk informasi selengkapnya tentang mengautentikasi dengan penyedia Databricks Terraform, lihat Autentikasi.

Python

Untuk operasi tingkat akun, gunakan yang berikut ini untuk autentikasi default:

from databricks.sdk import AccountClient

a = AccountClient()
# ...

Untuk konfigurasi langsung, gunakan hal berikut, mengganti retrieve tempat penampung dengan implementasi Anda sendiri, untuk mengambil nilai dari konsol atau 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          = retrieve_account_console_url(),
  account_id    = retrieve_account_id(),
  client_id     = retrieve_client_id(),
  client_secret = retrieve_client_secret()
)
# ...

Untuk operasi tingkat ruang kerja, khususnya 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 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          = retrieve_workspace_url(),
  client_id     = retrieve_client_id(),
  client_secret = retrieve_client_secret()
)
# ...

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

Catatan

Ekstensi Databricks untuk Visual Studio Code menggunakan Python tetapi belum menerapkan autentikasi M2M OAuth.

Java

Untuk operasi tingkat ruang kerja, 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 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())
  .setClientId(retrieveClientId())
  .setClientSecret(retrieveClientSecret());
WorkspaceClient w = new WorkspaceClient(cfg);
// ...

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

Go

Untuk operasi tingkat akun, 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 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"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient(&databricks.Config{
  Host:         retrieveAccountConsoleUrl(),
  AccountId:    retrieveAccountId(),
  ClientId:     retrieveClientId(),
  ClientSecret: retrieveClientSecret(),
}))
// ...

Untuk operasi tingkat ruang kerja, 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 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"
)
// ...
a := databricks.Must(databricks.NewAccountClient(&databricks.Config{
  Host:         retrieveWorkspaceUrl(),
  ClientId:     retrieveClientId(),
  ClientSecret: retrieveClientSecret(),
}))
// ...

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 M2M OAuth

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

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

Langkah 1: Membuat perwakilan layanan dan rahasia OAuth

Jika Anda belum memiliki perwakilan layanan terkelola Azure Databricks atau perwakilan layanan terkelola ID Microsoft Entra dan rahasia Azure Databricks OAuth yang sesuai, buat dengan menyelesaikan Langkah 1-5 di awal artikel ini.

Langkah 2: Buat token akses secara manual

Gunakan ID klien perwakilan layanan terkelola Azure Databricks atau perwakilan layanan terkelola Microsoft Entra ID dan rahasia Azure Databricks OAuth untuk meminta token akses OAuth Azure Databricks untuk mengautentikasi ke REST API tingkat akun dan REST API tingkat ruang kerja. Token akan kedaluwarsa dalam satu jam. Anda harus meminta token akses OAuth Azure Databricks baru setelah kedaluwarsa. Cakupan token akses OAuth tergantung pada tingkat tempat Anda membuat token. Anda dapat membuat token di tingkat akun atau tingkat ruang kerja, sebagai berikut:

Membuat token akses tingkat akun secara manual

Token akses OAuth Azure Databricks yang dibuat dari tingkat akun dapat digunakan terhadap API REST Databricks di akun dan di ruang kerja mana pun perwakilan layanan terkelola Azure Databricks atau perwakilan layanan terkelola ID Microsoft Entra telah ditetapkan.

  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. Buat URL titik akhir token dengan mengganti <my-account-id> di URL berikut dengan ID akun yang Anda salin.

    https://accounts.azuredatabricks.net/oidc/accounts/<my-account-id>/v1/token
    
  5. Gunakan klien seperti curl untuk meminta token akses OAuth Azure Databricks dengan URL titik akhir token, ID klien (yang juga dikenal sebagai ID aplikasi) dari perwakilan layanan terkelola Azure Databricks atau perwakilan layanan terkelola ID Microsoft Entra, dan rahasia OAuth Azure Databricks yang Anda buat untuk perwakilan layanan terkelola Azure Databricks atau perwakilan layanan terkelola ID Microsoft Entra. Cakupan all-apis meminta token akses OAuth Azure Databricks yang dapat digunakan untuk mengakses semua API REST Databricks yang telah diberikan akses ke perwakilan layanan terkelola Azure Databricks atau perwakilan layanan terkelola ID Microsoft Entra.

    • Ganti <token-endpoint-URL> dengan URL titik akhir token dari atas.
    • Ganti <client-id> dengan ID klien perwakilan layanan terkelola Azure Databricks atau perwakilan layanan terkelola MICROSOFT Entra ID, yang juga dikenal sebagai ID aplikasi.
    • Ganti <client-secret> dengan rahasia OAuth Azure Databricks yang Anda buat untuk perwakilan layanan terkelola Azure Databricks atau perwakilan layanan terkelola ID Microsoft Entra.
    export CLIENT_ID=<client-id>
    export CLIENT_SECRET=<client-secret>
    
    curl --request POST \
    --url <token-endpoint-URL> \
    --user "$CLIENT_ID:$CLIENT_SECRET" \
    --data 'grant_type=client_credentials&scope=all-apis'
    

    Ini menghasilkan respons yang mirip dengan:

    {
      "access_token": "eyJraWQiOiJkYTA4ZTVjZ…",
      "scope": "all-apis",
      "token_type": "Bearer",
      "expires_in": 3600
    }
    

    access_token Salin dari respons.

    Token akses OAuth Azure Databricks akan kedaluwarsa dalam satu jam. Anda harus membuat token akses OAuth Azure Databricks baru secara manual setelah kedaluwarsa.

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

Membuat token akses tingkat ruang kerja secara manual

Token akses OAuth Azure Databricks yang dibuat dari tingkat ruang kerja hanya dapat mengakses REST API di ruang kerja tersebut, bahkan jika perwakilan layanan terkelola Azure Databricks atau perwakilan layanan terkelola ID Microsoft Entra adalah admin akun atau merupakan anggota ruang kerja lainnya.

  1. Buat URL titik akhir token dengan mengganti https://<databricks-instance> dengan URL ruang kerja penyebaran Azure Databricks Anda:

    https://<databricks-instance>/oidc/v1/token
    
  2. Gunakan klien seperti curl untuk meminta token akses OAuth Azure Databricks dengan URL titik akhir token, ID klien (juga dikenal sebagai ID aplikasi) dari perwakilan layanan terkelola Azure Databricks atau perwakilan layanan terkelola ID Microsoft Entra, dan rahasia Azure Databricks OAuth yang Anda buat untuk perwakilan layanan terkelola Azure Databricks atau perwakilan layanan terkelola Microsoft Entra ID. all-apis Cakupan meminta token akses OAuth Azure Databricks yang dapat digunakan untuk mengakses semua API REST Databricks tempat perwakilan layanan terkelola Azure Databricks atau perwakilan layanan terkelola ID Microsoft Entra telah diberikan akses ke dalam ruang kerja tempat Anda meminta token.

    • Ganti <token-endpoint-URL> dengan URL titik akhir token dari atas.

    • Ganti <client-id> dengan ID klien perwakilan layanan terkelola Azure Databricks atau perwakilan layanan terkelola MICROSOFT Entra ID, yang juga dikenal sebagai ID aplikasi.

    • Ganti <client-secret> dengan rahasia OAuth Azure Databricks yang Anda buat untuk perwakilan layanan terkelola Azure Databricks atau perwakilan layanan terkelola ID Microsoft Entra.

      export CLIENT_ID=<client-id>
      export CLIENT_SECRET=<client-secret>
      
      curl --request POST \
      --url <token-endpoint-URL> \
      --user "$CLIENT_ID:$CLIENT_SECRET" \
      --data 'grant_type=client_credentials&scope=all-apis'
      

      Ini menghasilkan respons yang mirip dengan:

      {
        "access_token": "eyJraWQiOiJkYTA4ZTVjZ…",
        "scope": "all-apis",
        "token_type": "Bearer",
        "expires_in": 3600
      }
      

      access_token Salin dari respons.

Langkah 3: Memanggil REST API Databricks

Sekarang Anda dapat menggunakan token akses OAuth Azure Databricks untuk mengautentikasi ke REST API tingkat akun Azure Databricks dan REST API tingkat ruang kerja. Perwakilan layanan terkelola Azure Databricks atau perwakilan layanan terkelola ID Microsoft Entra harus menjadi admin akun untuk memanggil REST API tingkat akun.

Anda dapat menyertakan token di header dengan menggunakan autentikasi Bearer. Anda dapat menggunakan pendekatan ini dengan curl atau klien apa pun yang Anda bangun.

Contoh permintaan REST API tingkat akun

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

  • Ganti <oauth-access-token> dengan token akses OAuth Azure Databricks untuk perwakilan layanan terkelola Azure Databricks atau perwakilan layanan terkelola ID Microsoft Entra.
  • 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 autentikasi Bearer untuk mencantumkan semua kluster yang tersedia di ruang kerja yang ditentukan.

  • Ganti <oauth-access-token> dengan token akses OAuth Azure Databricks untuk perwakilan layanan terkelola Azure Databricks atau perwakilan layanan terkelola ID Microsoft Entra.

  • Ganti <workspace-URL> dengan URL ruang kerja dasar Anda, yang memiliki formulir yang mirip adb-1111111111111111.1.azuredatabricks.netdengan .

    export OAUTH_TOKEN=<oauth-access-token>
    
    curl --request GET --header "Authorization: Bearer $OAUTH_TOKEN" \
    'https://<workspace-URL>/api/2.0/clusters/list'
    

Sumber Daya Tambahan: