Mengotorisasi akses ke sumber daya Azure Databricks
Topik ini membahas pendekatan dasar untuk membuat panggilan Azure Databricks CLI atau REST API yang aman menggunakan kredensial akun Azure Databricks, seperti akun pengguna atau perwakilan layanan.
Otorisasi untuk Azure Databricks CLI dan API
Untuk mengakses sumber daya Azure Databricks dengan Databricks CLI atau REST API, klien harus mengotorisasi menggunakan akun Azure Databricks. Akun ini harus memiliki izin untuk mengakses sumber daya, yang dapat dikonfigurasi oleh administrator Azure Databricks atau akun pengguna Anda dengan hak istimewa adminstrator.
Ada dua jenis akun yang dapat Anda gunakan, tergantung pada cara Anda ingin mengakses sumber daya Azure Databricks Anda:
- Akun pengguna: Gunakan ini untuk memasukkan perintah Azure Databricks CLI atau panggilan REST API secara interaktif.
- Perwakilan layanan: Gunakan ini untuk mengotomatiskan perintah Azure Databricks CLI atau panggilan REST API tanpa interaksi manusia.
Setelah Anda memutuskan jenis akun Azure Databricks, Anda harus memperoleh token akses yang mewakili kredensial akun. Anda akan memberikan token akses ini saat mengakses sumber daya akun di skrip atau kode Anda, atau dalam sesi interaktif.
- Jika Anda menggunakan Azure Databricks, Anda juga dapat menggunakan perwakilan layanan MS Entra untuk mengotorisasi akses ke akun atau ruang kerja Azure Databricks Anda. Namun, Databricks merekomendasikan agar Anda menggunakan perwakilan layanan Databricks dengan otorisasi OAuth yang disediakan alih-alih otorisasi perwakilan layanan MS Entra. Ini karena otorisasi Databricks menggunakan token akses OAuth yang lebih kuat saat mengotorisasi hanya dengan Azure Databricks.
Untuk detail selengkapnya tentang menggunakan perwakilan layanan MS Entra untuk mengakses sumber daya Databricks, lihat Autentikasi perwakilan layanan MS Entra.
Memperoleh token akses
Kredensial akun Anda diwakili oleh token akses aman, yang Anda berikan secara langsung atau tidak langsung ke perintah CLI atau panggilan API.
Untuk menjalankan perintah Databricks CLI atau permintaan API dengan aman yang memerlukan akses resmi ke akun atau ruang kerja, Anda harus menyediakan token akses berdasarkan kredensial akun Azure Databricks yang valid.
Tabel berikut ini memperlihatkan metode otorisasi yang tersedia untuk akun Azure Databricks Anda.
metode otorisasi Azure Databricks
Karena alat dan SDK Azure Databricks berfungsi dengan satu atau beberapa metode otorisasi Azure Databricks yang didukung, Anda dapat memilih metode otorisasi terbaik untuk kasus penggunaan Anda. Untuk detailnya, lihat dokumentasi alat atau SDK di alat pengembangan lokal.
Pengguna Azure Databricks mungkin memerlukan akses ke sumber daya khusus Azure yang tidak dikelola langsung di bawah akun Databricks Anda. Metode untuk mengakses sumber daya tersebut juga disertakan dalam tabel ini. Untuk akses sumber daya Azure, Anda menggunakan identitas layanan terkelola Azure (MSI) atau ID MS Entra (tergantung skenario Anda) dan bukan kredensial akun Azure Databricks Anda.
Metode | Deskripsi | Gunakan huruf besar |
---|---|---|
Databricks OAuth untuk perwakilan layanan | Token OAuth berumur pendek untuk perwakilan layanan. | Skenario otorisasi tanpa pengawasan, seperti alur kerja yang sepenuhnya otomatis dan CI/CD. |
Databricks OAuth untuk para pengguna | Token OAuth berumur pendek untuk pengguna. | Skenario otorisasi yang dihadiri, di mana Anda menggunakan browser web atau metode interaktif lainnya untuk mengotorisasi dengan Databricks, saat diminta. |
Token Akses Pribadi (PATs) Databricks | Token berumur pendek atau berumur panjang untuk pengguna atau perwakilan layanan. | Hanya gunakan ini dalam kasus di mana alat target Anda tidak mendukung OAuth. |
otorisasi identitas layanan terkelola Azure | Token ID Microsoft Entra untuk identitas terkelola Azure. | Gunakan hanya dengan sumber daya Azure yang mendukung identitas terkelola, seperti komputer virtual Azure. |
otorisasi perwakilan layanan Microsoft Entra ID | Token ID Microsoft Entra untuk perwakilan layanan ID Microsoft Entra. | Gunakan hanya dengan sumber daya Azure yang mendukung token ID Microsoft Entra dan tidak mendukung identitas terkelola, seperti Azure DevOps. |
otorisasi Azure CLI | Token ID Microsoft Entra untuk pengguna atau perwakilan layanan MICROSOFT Entra ID. | Gunakan untuk mengotorisasi akses ke sumber daya Azure dan Azure Databricks menggunakan Azure CLI. |
otorisasi pengguna ID Microsoft Entra | Token ID Microsoft Entra untuk pengguna. | Gunakan hanya dengan sumber daya Azure yang hanya mendukung token ID Microsoft Entra. Databricks tidak menyarankan Anda membuat token ID Microsoft Entra untuk pengguna Azure Databricks secara manual. |
Opsi otorisasi apa yang harus saya pilih?
Azure Databricks menyediakan 2 opsi untuk otorisasi atau autentikasi dengan token akses:
- Token akses berbasis OAuth 2.0.
- Token akses pribadi (PATs).
Nota
Azure Databricks sangat menyarankan Anda menggunakan OAuth melalui PATs untuk otorisasi karena token OAuth secara otomatis di-refresh secara default dan tidak memerlukan manajemen langsung token akses, meningkatkan keamanan Anda terhadap pembajakan token dan akses yang tidak diinginkan.
Karena OAuth membuat dan mengelola token akses untuk Anda, Anda menyediakan URL titik akhir token OAuth, ID klien, dan rahasia yang Anda hasilkan dari ruang kerja Azure Databricks Anda alih-alih secara langsung menyediakan string token. Pilih PAT hanya saat Anda mengintegrasikan alat atau layanan pihak ketiga yang tidak didukung oleh autentikasi klien terpadu Azure Databricks atau tidak memiliki dukungan OAuth.
Bagaimana cara menggunakan OAuth untuk mengotorisasi akses ke sumber daya Azure Databricks?
Azure Databricks menyediakan autentikasi klien terpadu untuk membantu Anda melakukan otorisasi dengan menggunakan sekumpulan variabel lingkungan default yang dapat Anda atur ke nilai kredensial tertentu. Ini membantu Anda bekerja dengan lebih mudah dan aman karena variabel lingkungan ini khusus untuk lingkungan yang akan menjalankan perintah Azure Databricks CLI atau memanggil API Azure Databricks.
- Untuk otorisasi akun pengguna, bagian autentikasi Azure Databricks OAuth—pembuatan dan pengelolaan token akses—ditangani untuk Anda dengan autentikasi terpadu klien Databricks, selama alat dan SDK menerapkan standarnya. Jika tidak, Anda dapat membuat pemverifikasi kode OAuth dan pasangan tantangan secara manual untuk digunakan langsung dalam perintah Azure Databricks CLI dan permintaan API Anda. Lihat Langkah 1: Membuat pemverifikasi kode OAuth dan pasangan tantangan kode.
- Untuk otorisasi perwakilan layanan, Azure Databricks OAuth mengharuskan pemanggil memberikan kredensial klien bersama dengan URL titik akhir token tempat permintaan dapat diotorisasi. (Ini ditangani untuk Anda jika Anda menggunakan alat dan SDK Azure Databricks yang mendukung autentikasi klien terpadu Databricks.) Kredensial mencakup ID klien unik dan rahasia klien. Klien, yang merupakan perwakilan layanan Databricks yang akan menjalankan kode Anda, harus ditetapkan ke ruang kerja Databricks. Setelah Anda menetapkan perwakilan layanan ke ruang kerja yang akan diaksesnya, Anda diberikan ID klien dan rahasia klien yang akan Anda tetapkan dengan variabel lingkungan tertentu.
Variabel lingkungan ini adalah:
Variabel lingkungan | Deskripsi |
---|---|
DATABRICKS_HOST |
Variabel lingkungan ini diatur ke URL konsol akun Azure Databricks Anda (http://accounts.cloud.databricks.com ) atau URL ruang kerja Azure Databricks Anda (https://{workspace-id}.cloud.databricks.com ). Pilih jenis URL host berdasarkan jenis operasi yang akan Anda lakukan dalam kode Anda. Secara khusus, jika Anda menggunakan perintah CLI tingkat akun Azure Databricks atau permintaan REST API, atur variabel ini ke URL akun Azure Databricks Anda. Jika Anda menggunakan perintah CLI tingkat ruang kerja Azure Databricks atau permintaan REST API, gunakan URL ruang kerja Azure Databricks Anda. |
DATABRICKS_ACCOUNT_ID |
Digunakan untuk operasi akun Azure Databricks. Ini adalah ID akun Azure Databricks Anda. Untuk mendapatkannya, lihat Menemukan ID akun Anda. |
DATABRICKS_CLIENT_ID |
(Hanya OAuth perwakilan layanan) ID klien yang diberikan kepada Anda saat membuat perwakilan layanan Anda. |
DATABRICKS_CLIENT_SECRET |
(Hanya OAuth principal layanan) Kata sandi klien yang Anda buat saat membuat principal layanan Anda. |
Anda dapat mengaturnya secara langsung, atau melalui penggunaan profil konfigurasi Databricks (.databrickscfg
) di komputer klien Anda.
Untuk menggunakan token akses OAuth, ruang kerja Atau administrator akun Azure Databricks Anda harus memberi akun pengguna atau perwakilan CAN USE
layanan Anda hak istimewa untuk fitur akun dan ruang kerja yang akan diakses kode Anda.
Untuk detail selengkapnya tentang mengonfigurasi otorisasi OAuth untuk klien Anda dan meninjau opsi otorisasi khusus penyedia cloud, lihat Autentikasi klien terpadu.
Autentikasi untuk layanan dan alat pihak ketiga
Jika Anda menulis kode yang mengakses layanan, alat, atau SDK pihak ketiga, Anda harus menggunakan mekanisme autentikasi dan otorisasi yang disediakan oleh pihak ketiga. Namun, jika Anda harus memberikan alat pihak ketiga, SDK, atau akses layanan ke akun Azure Databricks atau sumber daya ruang kerja Anda, Databricks memberikan dukungan berikut:
Penyedia Databricks Terraform: Alat ini dapat mengakses API Azure Databricks dari Terraform atas nama Anda, menggunakan akun pengguna Azure Databricks Anda. Untuk detail selengkapnya, lihat Memprovisikan perwakilan layanan dengan menggunakan Terraform.
Penyedia Git seperti GitHub, GitLab, dan Bitbucket dapat mengakses API Azure Databricks menggunakan perwakilan layanan Databricks. Untuk detail selengkapnya, lihat Perwakilan layanan untuk CI/CD.
Jenkins dapat mengakses API Azure Databricks menggunakan perwakilan layanan Databricks. Untuk detail selengkapnya, lihat CI/CD dengan Jenkins di Azure Databricks.
Azure DevOps dapat mengakses API Azure Databricks menggunakan prinsipal layanan berbasis ID MS Entra. Untuk detail selengkapnya, lihat Mengautentikasi dengan Azure DevOps di Databricks.
Profil konfigurasi Azure Databricks
Profil konfigurasi Azure Databricks berisi pengaturan dan informasi lain yang diperlukan Azure Databricks untuk mengotorisasi akses. Profil konfigurasi Azure Databricks disimpan dalam file klien lokal untuk alat, SDK, skrip, dan aplikasi Anda untuk digunakan. File profil konfigurasi standar diberi nama .databrickscfg
.
Untuk informasi selengkapnya, lihat Profil konfigurasi Azure Databricks.