Autentikasi identitas terkelola Azure
Autentikasi identitas terkelola Azure menggunakan identitas terkelola untuk sumber daya Azure (sebelumnya Managed Service Identities (MSI)) untuk mengautentikasi dengan Azure Databricks. Panggilan terprogram ke akun Azure Databricks dan operasi ruang kerja menggunakan identitas terkelola ini saat bekerja dengan sumber daya Azure yang mendukung identitas terkelola, seperti Azure VM.
- Untuk informasi tentang identitas terkelola, lihat Apa itu identitas terkelola untuk sumber daya Azure?.
- Untuk mempelajari cara membuat identitas terkelola dan memberinya izin untuk mengakses akun dan ruang kerja Azure Databricks, lihat Menyiapkan dan menggunakan autentikasi identitas terkelola Azure untuk otomatisasi Azure Databricks.
Catatan
Identitas terkelola untuk sumber daya Azure berbeda dari perwakilan layanan MICROSOFT Entra ID, yang juga didukung Azure Databricks untuk autentikasi. Untuk mempelajari cara menggunakan perwakilan layanan ID Microsoft Entra untuk autentikasi Azure Databricks alih-alih identitas terkelola untuk sumber daya Azure, lihat:
- Autentikasi perwakilan layanan MS Entra
- Autentikasi Azure CLI
- Mengelola perwakilan layanan
- Memprovisikan perwakilan layanan dengan menggunakan Terraform
- Mendapatkan token ID Microsoft Entra untuk perwakilan layanan
- Masuk Azure CLI dengan perwakilan layanan ID Microsoft Entra
- Masuk PowerShell dengan perwakilan layanan ID Microsoft Entra
Autentikasi identitas terkelola Azure hanya didukung antara sumber daya yang dikonfigurasi dengan benar yang mendukung identitas terkelola–seperti komputer virtual Azure (Azure VM)–dan akun dan ruang kerja Azure Databricks.
Untuk mengonfigurasi autentikasi identitas terkelola Azure dengan Azure Databricks, Anda harus mengatur variabel lingkungan terkait, bidang, .databrickscfg
bidang Terraform, atau Config
bidang terkait pada Azure VM yang didukung dengan benar:
- Host Azure Databricks.
- Untuk operasi akun, tentukan
https://accounts.azuredatabricks.net
. - Untuk operasi ruang kerja, tentukan URL per ruang kerja, misalnya
https://adb-1234567890123456.7.azuredatabricks.net
.
- Untuk operasi akun, tentukan
- Untuk operasi akun, ID akun Azure Databricks.
- ID klien identitas terkelola.
- ID klien identitas terkelola.
- ID sumber daya Azure.
- Atur Azure gunakan identitas terkelola ke true.
Untuk melakukan autentikasi identitas terkelola Azure dengan Azure Databricks, 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 Mengotorisasi akses ke sumber daya Azure Databricks atau dokumentasi alat atau SDK. Lihat juga Variabel dan bidang lingkungan untuk autentikasi terpadu klien dan metode Default untuk 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
ARM_CLIENT_ID
-
ARM_USE_MSI
, atur ketrue
.
Untuk operasi tingkat ruang kerja, atur variabel lingkungan berikut:
-
DATABRICKS_HOST
, atur ke nilai URL Azure Databricks per ruang kerja Anda, misalnyahttps://adb-1234567890123456.7.azuredatabricks.net
. ARM_CLIENT_ID
-
ARM_USE_MSI
, atur ketrue
.
Untuk operasi tingkat ruang kerja, jika identitas target belum ditambahkan ke ruang kerja, tentukan DATABRICKS_AZURE_RESOURCE_ID
bersama dengan ID sumber daya Azure untuk ruang kerja Azure Databricks, alih-alih DATABRICKS_HOST
bersama dengan URL ruang kerja. Dalam hal ini, identitas target harus memiliki setidaknya izin Kontributor atau Pemilik pada sumber daya Azure untuk ruang kerja Azure Databricks.
Profil
Buat atau identifikasi profil konfigurasi Azure Databricks dengan bidang berikut dalam file Anda.databrickscfg
. Jika Anda membuat profil, ganti placeholder dengan nilai yang relevan. Untuk menggunakan profil dengan alat atau SDK, lihat Mengotorisasi akses ke sumber daya Azure Databricks atau dokumentasi alat atau SDK. Lihat juga Variabel dan bidang lingkungan untuk autentikasi terpadu klien dan metode Default untuk autentikasi terpadu klien.
Untuk operasi tingkat akun , tetapkan nilai berikut dalam file .databrickscfg
Anda. 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>
azure_client_id = <azure-managed-identity-application-id>
azure_use_msi = true
Untuk operasi tingkat ruang kerja , atur nilai berikut dalam file .databrickscfg
Anda. 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>
azure_client_id = <azure-managed-identity-application-id>
azure_use_msi = true
Untuk operasi tingkat ruang kerja, jika identitas target belum ditambahkan ke ruang kerja, tentukan azure_workspace_resource_id
bersama dengan ID sumber daya Azure untuk ruang kerja Azure Databricks, alih-alih host
bersama dengan URL ruang kerja. Dalam hal ini, identitas target harus memiliki setidaknya izin Kontributor atau Pemilik pada sumber daya Azure untuk ruang kerja Azure Databricks.
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
.databrickscfg
Anda seperti yang ditentukan di bagian "Profil" artikel ini.
Variabel lingkungan selalu diutamakan daripada nilai dalam file .databrickscfg
Anda.
Lihat juga autentikasi identitas terkelola Azure.
Sambungkan
Catatan
Databricks Connect bergantung pada Databricks SDK untuk Python untuk autentikasi. Databricks SDK untuk Python belum menerapkan autentikasi identitas terkelola Azure.
Kode VS
Catatan
Ekstensi Databricks untuk Visual Studio Code belum mendukung autentikasi identitas terkelola Azure.
Terraform
Untuk operasi tingkat akun, untuk autentikasi default:
provider "databricks" {
alias = "accounts"
}
Untuk konfigurasi langsung (ganti tempat penampung retrieve
dengan implementasi Anda sendiri untuk mengambil nilai dari konsol atau 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>
azure_client_id = <retrieve-azure-client-id>
azure_use_msi = true
}
Untuk operasi tingkat ruang kerja, untuk autentikasi default:
provider "databricks" {
alias = "workspace"
}
Untuk konfigurasi langsung (ganti tempat penampung retrieve
dengan implementasi Anda sendiri untuk mengambil nilai dari konsol atau 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>
azure_client_id = <retrieve-azure-client-id>
azure_use_msi = true
}
Untuk operasi tingkat ruang kerja, jika identitas target belum ditambahkan ke ruang kerja, tentukan azure_workspace_resource_id
bersama dengan ID sumber daya Azure untuk ruang kerja Azure Databricks, alih-alih host
bersama dengan URL ruang kerja. Dalam hal ini, identitas target harus memiliki setidaknya izin Kontributor atau Pemilik pada sumber daya Azure untuk ruang kerja Azure Databricks.
Untuk informasi selengkapnya tentang mengautentikasi dengan penyedia Databricks Terraform, lihat Autentikasi.
Python
Catatan
Databricks SDK untuk Python belum menerapkan autentikasi identitas terkelola Azure.
Java
Catatan
Databricks SDK untuk Java belum menerapkan autentikasi identitas terkelola Azure.
Go
Untuk operasi tingkat akun, untuk autentikasi default:
import (
"github.com/databricks/databricks-sdk-go"
)
// ...
a := databricks.Must(databricks.NewAccountClient())
// ...
Untuk pengaturan konfigurasi langsung, silakan ganti placeholder retrieve
dengan implementasi Anda sendiri untuk mengambil nilai dari konsol atau sumber konfigurasi lain, 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(),
AzureClientId: retrieveAzureClientId(),
AzureUseMSI: true,
}))
// ...
Untuk operasi tingkat ruang kerja, untuk autentikasi default:
import (
"github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient())
// ...
Untuk pengaturan konfigurasi langsung, silakan ganti placeholder retrieve
dengan implementasi Anda sendiri untuk mengambil nilai dari konsol atau sumber konfigurasi lain, 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(),
AzureClientId: retrieveAzureClientId(),
AzureUseMSI: true,
}))
// ...
Untuk operasi tingkat ruang kerja, jika identitas target belum ditambahkan ke ruang kerja, tentukan AzureResourceID
bersama dengan ID sumber daya Azure untuk ruang kerja Azure Databricks, alih-alih Host
bersama dengan URL ruang kerja. Dalam hal ini, identitas target harus memiliki setidaknya izin Kontributor atau Pemilik pada sumber daya Azure untuk ruang kerja Azure Databricks.
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.