Bagikan melalui


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.

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 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, 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 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 nilai URL konsol akun Azure Databricks Anda, https://accounts.azuredatabricks.net.
  • DATABRICKS_ACCOUNT_ID
  • ARM_CLIENT_ID
  • ARM_USE_MSI, atur ke true.

Untuk operasi tingkat ruang kerja, atur variabel lingkungan berikut:

  • DATABRICKS_HOST, atur ke nilai URL per ruang kerja Azure Databricks Anda, misalnya https://adb-1234567890123456.7.azuredatabricks.net.
  • ARM_CLIENT_ID
  • ARM_USE_MSI, atur ke true.

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 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>
azure_client_id = <azure-managed-identity-application-id>
azure_use_msi   = true

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>
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 Anda .databrickscfg seperti yang ditentukan di bagian "Profil" artikel ini.

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

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 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>
  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 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>
  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 konfigurasi langsung (ganti retrieve tempat penampung dengan implementasi Anda sendiri untuk mengambil nilai dari konsol atau beberapa 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"
)
// ...
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 konfigurasi langsung (ganti retrieve tempat penampung dengan implementasi Anda sendiri untuk mengambil nilai dari konsol atau beberapa 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"
)
// ...
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.