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.
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.
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.
Di Cari sumber daya, layanan, dan dokumen, cari dan pilih ID Microsoft Entra.
Klik + Tambahkan dan pilih Pendaftaran aplikasi.
Untuk Nama, masukkan nama untuk aplikasi.
Di bagian Jenis akun yang didukung, pilih Akun hanya dalam direktori organisasi ini (Penyewa tunggal).
Klik Daftar.
Pada halaman Gambaran Umum halaman aplikasi, di bagian Essentials, salin nilai-nilai berikut:
- ID aplikasi (klien)
- ID direktori (tenant)
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.
Pada tab Rahasia klien, klik Rahasia klien baru.
Di panel Tambahkan rahasia klien, untuk Deskripsi, masukkan deskripsi untuk rahasia klien.
Untuk Kedaluwarsa, pilih jangka waktu kedaluwarsa untuk rahasia klien, lalu klik Tambahkan.
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.
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.
Masuk ke akun Azure Databricks Anda, jika diminta.
Pada bilah samping, klik Manajemen pengguna.
Klik tab Perwakilan layanan .
Klik Tambahkan perwakilan layanan.
Di bawah Manajemen, pilih Databricks managed atau Microsoft Entra ID managed.
Jika Anda memilih ID Microsoft Entra terkelola, di bawah ID aplikasi Microsoft Entra, tempelkan nilai ID aplikasi (klien) dari Langkah 1.
Masukkan Nama untuk perwakilan layanan.
Klik Tambahkan.
(Opsional) Tetapkan izin tingkat akun ke perwakilan layanan:
- Pada tab Perwakilan layanan, klik nama perwakilan layanan Anda.
- Pada tab Peran , alihkan untuk mengaktifkan atau menonaktifkan setiap peran target yang Anda inginkan untuk dimiliki perwakilan layanan ini.
- 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:
- Di ruang kerja Azure Databricks Anda, klik nama pengguna Anda di bilah atas dan klik Pengaturan.
- Klik tab Identitas dan akses .
- Di samping Perwakilan layanan, klik Kelola.
- Klik Tambahkan perwakilan layanan.
- Pilih perwakilan layanan Anda dari Langkah 2 dan klik Tambahkan.
Lewati ke Langkah 4.
Jika ruang kerja Anda tidak diaktifkan untuk federasi identitas:
- Di ruang kerja Azure Databricks Anda, klik nama pengguna Anda di bilah atas dan klik Pengaturan.
- Klik tab Identitas dan akses .
- Di samping Perwakilan layanan, klik Kelola.
- Klik Tambahkan perwakilan layanan.
- Klik Tambahkan baru.
- Di bawah Manajemen, pilih Databricks managed atau Microsoft Entra ID managed.
- Jika Anda memilih ID Microsoft Entra terkelola, di bawah ID aplikasi Microsoft Entra, tempelkan nilai ID aplikasi (klien) dari Langkah 1.
- Masukkan beberapa Nama Tampilan untuk perwakilan layanan baru dan klik Tambahkan.
Langkah 4: Menetapkan izin tingkat ruang kerja ke perwakilan layanan
- Jika konsol admin untuk ruang kerja Anda belum dibuka, klik nama pengguna Anda di bilah atas dan klik Pengaturan.
- Klik tab Identitas dan akses .
- Di samping Perwakilan layanan, klik Kelola.
- Klik nama perwakilan layanan Anda untuk membuka halaman pengaturannya.
- 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.
- 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:
- Masuk ke konsol akun Azure Databricks, di https://accounts.azuredatabricks.net.
- Masuk ke akun Azure Databricks Anda, jika diminta.
- Pada bilah samping, klik Manajemen pengguna.
- Klik tab Perwakilan layanan .
- Klik nama perwakilan layanan.
- Di bagian Rahasia OAuth tab Informasi utama, klik Buat rahasia.
- Dalam dialog Buat rahasia, salin dan simpan nilai Rahasia di tempat yang aman, karena rahasia OAuth ini adalah kata sandi untuk perwakilan layanan.
- Klik Selesai.
Untuk membuat rahasia OAuth untuk perwakilan layanan dari ruang kerja:
Sebagai admin ruang kerja, klik nama pengguna Anda di bilah atas dan klik Pengaturan.
Klik tab Identitas dan akses .
Di samping Perwakilan layanan, klik Kelola.
Klik nama perwakilan layanan Anda untuk membuka halaman pengaturannya.
Klik tab Rahasia .
Di bawah Rahasia OAuth, klik Buat rahasia.
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, misalnyahttps://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, misalnyahttps://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. Aturcluster_id
juga variabel lingkungan di profil Anda ke URL per ruang kerja Anda, misalnyahttps://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, misalnyahttps://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:
- Untuk Python, lihat Mengonfigurasi properti koneksi untuk Python.
- Untuk Scala, lihat Mengonfigurasi properti koneksi untuk Scala.
Kode VS
Untuk ekstensi Databricks untuk Visual Studio Code, lakukan hal berikut:
- Atur nilai dalam file Anda
.databrickscfg
untuk operasi tingkat ruang kerja Azure Databricks seperti yang ditentukan di bagian "Profil" artikel ini. - Di panel Konfigurasi ekstensi Databricks untuk Visual Studio Code, klik Konfigurasikan Databricks.
- Di Palet Perintah, untuk Host Databricks, masukkan URL per ruang kerja Anda, misalnya
https://adb-1234567890123456.7.azuredatabricks.net
, lalu tekanEnter
. - 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:
- Menyiapkan klien Databricks Connect untuk Python
- Mengautentikasi SDK Databricks untuk Python dengan akun atau ruang kerja Azure Databricks Anda
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:
- Siapkan klien Databricks Connect untuk Scala (klien Databricks Connect untuk Scala menggunakan Databricks SDK untuk Java yang disertakan untuk autentikasi)
- Mengautentikasi Databricks SDK for Java dengan akun atau ruang kerja Azure Databricks Anda
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:
- Untuk memanggil REST API tingkat akun dan tingkat ruang kerja dalam akun dan ruang kerja yang dapat diakses oleh perwakilan layanan terkelola Azure Databricks atau perwakilan layanan terkelola ID Microsoft Entra, buat token akses secara manual di tingkat akun.
- Untuk memanggil REST API hanya dalam satu ruang kerja yang dapat diakses oleh perwakilan layanan terkelola Azure Databricks atau perwakilan layanan terkelola ID Microsoft Entra, Anda dapat membuat token akses secara manual di tingkat ruang kerja hanya untuk ruang kerja tersebut.
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.
Sebagai admin akun, masuk ke konsol akun.
Klik panah bawah di samping nama pengguna Anda di sudut kanan atas.
Salin ID Akun Anda.
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
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. Cakupanall-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.
- Ganti
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.
Buat URL titik akhir token dengan mengganti
https://<databricks-instance>
dengan URL ruang kerja penyebaran Azure Databricks Anda:https://<databricks-instance>/oidc/v1/token
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 miripadb-1111111111111111.1.azuredatabricks.net
dengan .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:
- Perwakilan layanan
- Gambaran umum model identitas Databricks
- Informasi tambahan tentang autentikasi dan kontrol akses
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk