Bagikan melalui


Mengautentikasi akses ke sumber daya Azure Databricks

Untuk mengakses sumber daya Azure Databricks dengan Databricks CLI atau REST API, klien harus mengautentikasi menggunakan akun Azure Databricks dengan otorisasi yang diperlukan untuk mengakses sumber daya. Untuk menjalankan perintah Databricks CLI dengan aman atau memanggil permintaan Databricks API yang memerlukan akses resmi ke akun atau ruang kerja, Anda harus memberikan token akses berdasarkan kredensial akun Azure Databricks yang valid. Artikel ini membahas opsi autentikasi untuk memberikan kredensial tersebut dan mengotorisasi akses ke ruang kerja atau akun Azure Databricks.

Tabel berikut ini memperlihatkan metode autentikasi yang tersedia untuk akun Azure Databricks Anda.

Metode autentikasi Azure Databricks

Karena alat dan SDK Azure Databricks berfungsi dengan satu atau beberapa metode autentikasi Azure Databricks yang didukung, Anda dapat memilih metode autentikasi terbaik untuk kasus penggunaan Anda. Untuk detailnya, lihat alat atau dokumentasi SDK dalam Alat pengembang dan panduan.

Metode Deskripsi Gunakan huruf besar
OAuth untuk perwakilan layanan (OAuth M2M) Token OAuth berumur pendek untuk perwakilan layanan. Skenario autentikasi tanpa pengawas, seperti alur kerja yang sepenuhnya otomatis dan CI/CD.
OAuth untuk pengguna (OAuth U2M) Token OAuth berumur pendek untuk pengguna. Skenario autentikasi yang dihadiri, tempat Anda menggunakan browser web untuk mengautentikasi dengan Azure Databricks secara real time, saat diminta.
Token akses pribadi (PAT) Token berumur pendek atau berumur panjang untuk pengguna atau perwakilan layanan. Skenario di mana alat target Anda tidak mendukung OAuth.
Autentikasi identitas terkelola Azure Token ID Microsoft Entra untuk identitas terkelola Azure. Gunakan hanya dengan sumber daya Azure yang mendukung identitas terkelola, seperti komputer virtual Azure.
Autentikasi perwakilan layanan ID Microsoft Entra 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.
Autentikasi Azure CLI Token ID Microsoft Entra untuk pengguna atau perwakilan layanan MICROSOFT Entra ID. Gunakan untuk mengautentikasi akses ke sumber daya Azure dan Azure Databricks menggunakan Azure CLI.
Autentikasi 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.

Pendekatan autentikasi apa yang harus saya pilih?

Anda memiliki dua opsi untuk mengautentikasi perintah Databricks CLI atau panggilan API untuk akses ke sumber daya Azure Databricks Anda:

  • Gunakan akun pengguna Azure Databricks (disebut autentikasi "pengguna ke komputer", atau U2M). Pilih ini hanya saat Anda menjalankan perintah Azure Databricks CLI dari lingkungan klien lokal Anda atau memanggil permintaan API Azure Databricks dari kode yang Anda miliki dan jalankan secara eksklusif.
  • Gunakan perwakilan layanan Azure Databricks (disebut autentikasi "mesin-ke-mesin", atau M2M). Pilih ini jika orang lain akan menjalankan kode Anda (terutama dalam kasus aplikasi), atau jika Anda membangun otomatisasi yang akan memanggil perintah Azure Databricks CLI atau permintaan API.
  1. Jika Anda menggunakan Azure Databricks, Anda juga dapat menggunakan perwakilan layanan MS Entra untuk mengautentikasi akses ke akun atau ruang kerja Azure Databricks Anda. Namun, Databricks merekomendasikan agar Anda menggunakan perwakilan layanan Databricks dengan autentikasi OAuth yang disediakan melalui autentikasi perwakilan layanan MS Entra. Ini karena autentikasi Databricks menggunakan token akses OAuth yang lebih kuat saat mengautentikasi hanya dengan Azure Databricks.

Untuk detail selengkapnya tentang menggunakan perwakilan layanan MS Entra untuk mengakses sumber daya Databricks, lihat Autentikasi perwakilan layanan MS Entra.

Anda juga harus memiliki token akses yang ditautkan ke akun yang akan Anda gunakan untuk memanggil API Databricks. Token ini dapat berupa token akses OAuth 2.0 atau token akses pribadi (PAT). Namun, 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 sendiri. PATs mengekspos risiko token berumur panjang yang memberikan peluang keluar jika mereka tidak diaudit dan diputar atau dicabut secara teratur, atau jika string token dan kata sandi tidak dikelola dengan aman untuk lingkungan pengembangan Anda.

Bagaimana cara menggunakan OAuth untuk mengautentikasi dengan Azure Databricks?

Azure Databricks menyediakan autentikasi klien terpadu untuk membantu Anda melakukan autentikasi 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 autentikasi akun pengguna (pengguna ke komputer), Azure Databricks OAuth 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 autentikasi perwakilan layanan (mesin-ke-mesin), 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:

  • 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: (M2M OAuth saja) ID klien yang Anda tetapkan saat membuat perwakilan layanan Anda.
  • DATABRICKS_CLIENT_SECRET: (M2M OAuth saja) Rahasia klien yang Anda buat saat membuat perwakilan 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:

Profil konfigurasi Azure Databricks

Profil konfigurasi Azure Databricks berisi pengaturan dan informasi lain yang perlu diautentikasi Azure Databricks. 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.