Mengautentikasi dengan identitas terkelola Azure

Autentikasi identitas terkelola Azure menggunakan identitas terkelola untuk sumber daya Azure 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 prinsipal layanan Microsoft Entra ID, yang juga didukung Azure Databricks untuk otentikasi. 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 konfigurasi berikut menggunakan salah satu metode yang didukung pada Azure VM yang didukung dengan benar:

  • Host untuk 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 untuk menggunakan identitas terkelola menjadi 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 dan prioritas metode Autentikasi.

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 Azure Databricks per ruang kerja Anda, misalnya https://adb-1234567890123456.7.azuredatabricks.net.
  • ARM_CLIENT_ID
  • ARM_USE_MSI, atur ke true.

Databricks merekomendasikan penggunaan DATABRICKS_HOST dan secara eksplisit menetapkan identitas ke ruang kerja. Atau, gunakan DATABRICKS_AZURE_RESOURCE_ID dengan ID sumber daya Azure. Pendekatan ini memerlukan izin Kontributor atau Pemilik pada sumber daya Azure, atau peran kustom dengan izin Azure Databricks tertentu.

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 dan prioritas metode Autentikasi.

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 untuk setiap 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

Databricks merekomendasikan penggunaan host dan secara eksplisit menetapkan identitas ke ruang kerja. Atau, gunakan azure_workspace_resource_id dengan ID sumber daya Azure. Pendekatan ini memerlukan izin Kontributor atau Pemilik pada sumber daya Azure, atau peran kustom dengan izin Azure Databricks tertentu.

antarmuka baris perintah (CLI)

Untuk Databricks CLI, lakukan salah satu hal berikut ini:

  • Atur variabel lingkungan seperti yang ditentukan pada tab Lingkungan .
  • Atur nilai dalam file Anda .databrickscfg seperti yang ditentukan pada tab Profil .

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.

Visual Studio Code

Catatan

Ekstensi Databricks untuk Visual Studio Code belum mendukung autentikasi identitas terkelola Azure.

Terraform

Untuk operasi di tingkat akun, untuk autentikasi bawaan:

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, 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 untuk setiap 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
}

Databricks merekomendasikan penggunaan host dan secara eksplisit menetapkan identitas ke ruang kerja. Atau, gunakan azure_workspace_resource_id dengan ID sumber daya Azure. Pendekatan ini memerlukan izin Kontributor atau Pemilik pada sumber daya Azure, atau peran kustom dengan izin Azure Databricks tertentu.

Untuk informasi selengkapnya tentang mengautentikasi dengan penyedia Databricks Terraform, lihat Autentikasi.

Phyton

Catatan

Databricks SDK untuk Python belum menerapkan autentikasi identitas terkelola Azure.

Java

Catatan

Databricks SDK untuk Java belum menerapkan autentikasi identitas terkelola Azure.

Pergi

Untuk operasi di tingkat akun, untuk autentikasi bawaan:

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, 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 untuk setiap 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,
}))
// ...

Databricks merekomendasikan penggunaan Host dan secara eksplisit menetapkan identitas ke ruang kerja. Atau, gunakan AzureResourceID dengan ID sumber daya Azure. Pendekatan ini memerlukan izin Kontributor atau Pemilik pada sumber daya Azure, atau peran kustom dengan izin Azure Databricks tertentu.

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.