Bagikan melalui


Autentikasi perwakilan layanan ID Microsoft Entra

Autentikasi perwakilan layanan ID Microsoft Entra menggunakan kredensial perwakilan layanan ID Microsoft Entra untuk mengautentikasi. Untuk membuat dan mengelola perwakilan layanan untuk Azure Databricks, lihat:

Catatan

Databricks merekomendasikan agar Anda menggunakan autentikasi OAuth machine-to-machine (M2M) di sebagian besar skenario alih-alih autentikasi perwakilan layanan ID Microsoft Entra. Ini karena autentikasi OAuth M2M menggunakan token akses OAuth Azure Databricks yang lebih kuat saat mengautentikasi hanya dengan Azure Databricks.

Anda hanya boleh menggunakan autentikasi perwakilan layanan ID Microsoft Entra dalam kasus di mana Anda perlu mengautentikasi dengan Azure Databricks dan sumber daya Azure lainnya secara bersamaan, yang memerlukan token ID Microsoft Entra.

Untuk menggunakan autentikasi M2M OAuth alih-alih autentikasi perwakilan layanan MICROSOFT Entra ID, lewati artikel ini dan lihat Menggunakan perwakilan layanan untuk mengautentikasi dengan Azure Databricks.

Perwakilan layanan ID Microsoft Entra berbeda dari identitas terkelola untuk sumber daya Azure, yang juga didukung Azure Databricks untuk autentikasi. Untuk mempelajari cara menggunakan identitas terkelola untuk sumber daya Azure alih-alih perwakilan layanan ID Microsoft Entra untuk autentikasi Azure Databricks, lihat Menyiapkan dan menggunakan autentikasi identitas terkelola Azure untuk otomatisasi Azure Databricks.

Untuk mengonfigurasi autentikasi perwakilan layanan MICROSOFT Entra ID dengan Azure Databricks, Anda harus mengatur variabel lingkungan, bidang, .databrickscfg bidang Terraform, atau Config bidang terkait berikut:

  • 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.

      Jika perwakilan layanan ID Microsoft Entra belum ditambahkan ke ruang kerja, tentukan ID sumber daya Azure sebagai gantinya. Dalam hal ini, perwakilan layanan ID Microsoft Entra harus memiliki setidaknya izin Kontributor atau Pemilik pada sumber daya Azure.

  • Untuk operasi akun, ID akun Azure Databricks.

  • ID sumber daya Azure.

  • ID penyewa dari perwakilan layanan ID Microsoft Entra.

  • ID klien perwakilan layanan ID Microsoft Entra.

  • Rahasia klien perwakilan layanan ID Microsoft Entra.

Untuk melakukan autentikasi perwakilan layanan ID Microsoft Entra 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_TENANT_ID
  • ARM_CLIENT_ID
  • ARM_CLIENT_SECRET

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_TENANT_ID
  • ARM_CLIENT_ID
  • ARM_CLIENT_SECRET

Untuk operasi tingkat ruang kerja, jika perwakilan layanan ID Microsoft Entra belum ditambahkan ke ruang kerja, maka tentukan DATABRICKS_AZURE_RESOURCE_ID bersama dengan ID sumber daya Azure untuk ruang kerja Azure Databricks, alih-alih HOST bersama dengan URL ruang kerja. Dalam hal ini, perwakilan layanan ID Microsoft Entra 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_tenant_id     = <azure-service-principal-tenant-id>
azure_client_id     = <azure-service-principal-application-id>
azure_client_secret = <azure-service-principal-client-secret>

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_tenant_id     = <azure-service-principal-tenant-id>
azure_client_id     = <azure-service-principal-application-id>
azure_client_secret = <azure-service-principal-client-secret>

Untuk operasi tingkat ruang kerja, jika perwakilan layanan ID Microsoft Entra belum ditambahkan ke ruang kerja, maka 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, perwakilan layanan ID Microsoft Entra 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 perwakilan layanan MICROSOFT Entra ID.

Sambungkan

Catatan

Autentikasi perwakilan layanan ID Microsoft Entra didukung pada versi Databricks Connect berikut:

  • Untuk Python, Databricks Connect untuk Databricks Runtime 13.1 ke atas.
  • Untuk Scala, Databricks Connect untuk Databricks Runtime 13.3 LTS ke atas.

Untuk Databricks Connect, Anda bisa melakukan salah satu hal berikut ini:

  • Atur nilai dalam file Anda .databrickscfg untuk operasi tingkat ruang kerja Azure Databricks seperti yang ditentukan di bagian "Profil" artikel ini. Atur cluster_id juga variabel lingkungan di profil Anda ke URL per ruang kerja Anda, misalnya https://adb-1234567890123456.7.azuredatabricks.net.
  • Atur variabel lingkungan untuk operasi tingkat ruang kerja Azure Databricks seperti yang ditentukan di bagian "Lingkungan" artikel ini. Atur DATABRICKS_CLUSTER_ID juga variabel lingkungan ke URL per ruang kerja Anda, misalnya https://adb-1234567890123456.7.azuredatabricks.net.

Nilai dalam file Anda .databrickscfg selalu diutamakan daripada variabel lingkungan.

Untuk menginisialisasi klien Databricks Connect dengan variabel atau nilai lingkungan ini dalam file Anda .databrickscfg , lihat salah satu hal berikut ini:

Kode VS

Untuk ekstensi Databricks untuk Visual Studio Code, lakukan hal berikut:

  1. Atur nilai dalam file Anda .databrickscfg untuk operasi tingkat ruang kerja Azure Databricks seperti yang ditentukan di bagian "Profil" artikel ini.
  2. Di panel Konfigurasi ekstensi Databricks untuk Visual Studio Code, klik Konfigurasikan Databricks.
  3. Di Palet Perintah, untuk Host Databricks, masukkan URL per ruang kerja Anda, misalnya https://adb-1234567890123456.7.azuredatabricks.net, lalu tekan Enter.
  4. Di Palet Perintah, pilih nama profil target Anda dalam daftar untuk URL Anda.

Untuk detail selengkapnya, lihat Penyiapan autentikasi untuk ekstensi Databricks untuk Visual Studio Code.

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_tenant_id     = <retrieve-azure-tenant-id>
  azure_client_id     = <retrieve-azure-client-id>
  azure_client_secret = <retrieve-azure-client-secret>
}

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_tenant_id     = <retrieve-azure-tenant-id>
  azure_client_id     = <retrieve-azure-client-id>
  azure_client_secret = <retrieve-azure-client-secret>
}

Untuk operasi tingkat ruang kerja, jika perwakilan layanan ID Microsoft Entra belum ditambahkan ke ruang kerja, maka 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, perwakilan layanan ID Microsoft Entra 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

Untuk operasi tingkat akun, untuk autentikasi default:

from databricks.sdk import AccountClient

a = AccountClient()
# ...

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:

from databricks.sdk import AccountClient

a = AccountClient(
  host                = retrieve_account_console_url(),
  account_id          = retrieve_account_id(),
  azure_tenant_id     = retrieve_azure_tenant_id(),
  azure_client_id     = retrieve_azure_client_id(),
  azure_client_secret = retrieve_azure_client_secret()
)
# ...

Untuk operasi tingkat ruang kerja, untuk autentikasi default:

from databricks.sdk import WorkspaceClient

w = WorkspaceClient()
# ...

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:

from databricks.sdk import WorkspaceClient

w = WorkspaceClient(
  host                = retrieve_workspace_url(),
  azure_tenant_id     = retrieve_azure_tenant_id(),
  azure_client_id     = retrieve_azure_client_id(),
  azure_client_secret = retrieve_azure_client_secret()
)
# ...

Untuk operasi tingkat ruang kerja, jika perwakilan layanan ID Microsoft Entra belum ditambahkan ke ruang kerja, maka 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, perwakilan layanan ID Microsoft Entra 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 Python dan yang mengimplementasikan autentikasi terpadu klien Databricks, lihat:

Java

Untuk operasi tingkat akun, untuk autentikasi default:

import com.databricks.sdk.AccountClient;
// ...
AccountClient a = new AccountClient();
// ...

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 com.databricks.sdk.AccountClient;
import com.databricks.sdk.core.DatabricksConfig;
// ...
DatabricksConfig cfg = new DatabricksConfig()
  .setHost(retrieveAccountConsoleUrl())
  .setAccountId(retrieveAccountId())
  .setAzureTenantId(retrieveAzureTenantId())
  .setAzureClientId(retrieveAzureClientId())
  .setAzureClientSecret(retrieveAzureClientSecret())
AccountClient a = new AccountClient(cfg);
// ...

Untuk operasi tingkat ruang kerja, untuk autentikasi default:

import com.databricks.sdk.WorkspaceClient;
// ...
WorkspaceClient w = new WorkspaceClient();
// ...

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 com.databricks.sdk.WorkspaceClient;
import com.databricks.sdk.core.DatabricksConfig;
// ...
DatabricksConfig cfg = new DatabricksConfig()
  .setHost(retrieveWorkspaceUrl())
  .setAzureTenantId(retrieveAzureTenantId())
  .setAzureClientId(retrieveAzureClientId())
  .setAzureClientSecret(retrieveAzureClientSecret())
WorkspaceClient w = new WorkspaceClient(cfg);
// ...

Untuk operasi tingkat ruang kerja, jika perwakilan layanan ID Microsoft Entra belum ditambahkan ke ruang kerja, maka tentukan setAzureWorkspaceResourceId bersama dengan ID sumber daya Azure untuk ruang kerja Azure Databricks, alih-alih setHost bersama dengan URL ruang kerja. Dalam hal ini, perwakilan layanan ID Microsoft Entra 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 Java dan yang menerapkan autentikasi terpadu klien Databricks, lihat:

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(),
  AzureTenantId:     retrieveAzureTenantId(),
  AzureClientId:     retrieveAzureClientId(),
  AzureClientSecret: retrieveAzureClientSecret(),
}))
// ...

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(),
  AzureTenantId:     retrieveAzureTenantId(),
  AzureClientId:     retrieveAzureClientId(),
  AzureClientSecret: retrieveAzureClientSecret(),
}))
// ...

Untuk operasi tingkat ruang kerja, jika perwakilan layanan ID Microsoft Entra belum ditambahkan ke ruang kerja, maka tentukan AzureWorkspaceResourceId bersama dengan ID sumber daya Azure untuk ruang kerja Azure Databricks, alih-alih Host bersama dengan URL ruang kerja. Dalam hal ini, perwakilan layanan ID Microsoft Entra 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.