Bagikan melalui


Autentikasi perwakilan layanan MS Entra

Autentikasi perwakilan layanan MS Entra dilakukan dengan menggunakan identitas perwakilan layanan MS Entra. Untuk membuat dan mengelola perwakilan layanan untuk Azure Databricks, lihat:

Catatan

Databricks merekomendasikan agar Anda menggunakan autentikasi mesin-ke-mesin (M2M) OAuth dalam sebagian besar skenario alih-alih autentikasi perwakilan layanan MS 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 MS Entra jika Anda harus mengautentikasi dengan Azure Databricks dan sumber daya Azure lainnya secara bersamaan.

Untuk menggunakan autentikasi M2M OAuth alih-alih autentikasi perwakilan layanan MS Entra, lewati artikel ini dan lihat Otorisasi akses tanpa pengawasan ke sumber daya Azure Databricks dengan perwakilan layanan menggunakan OAuth.

Perwakilan layanan MS 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 MS Entra untuk autentikasi Azure Databricks, lihat Menyiapkan dan menggunakan autentikasi identitas terkelola Azure untuk otomatisasi Azure Databricks.

Untuk detail tentang autentikasi Microsoft Entra ke Databricks dengan Azure DevOps secara khusus, lihat Mengautentikasi dengan Azure DevOps di Databricks.

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

  • 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 MS Entra belum ditambahkan ke ruang kerja, tentukan ID sumber daya Azure sebagai gantinya. Dalam hal ini, perwakilan layanan MS 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 perwakilan layanan MS Entra.

  • ID klien perwakilan layanan MS Entra.

  • Rahasia klien dari perwakilan layanan MS Entra.

Untuk melakukan autentikasi perwakilan layanan MS Entra dengan Azure Databricks, integrasikan hal berikut dalam kode Anda, berdasarkan alat atau SDK yang berpartisipasi:

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

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

    Untuk operasi tingkat ruang kerja, jika perwakilan layanan MS 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 MS Entra harus memiliki setidaknya izin Kontributor atau Pemilik pada sumber daya Azure untuk ruang kerja Azure Databricks.

Buat atau identifikasi profil konfigurasi Azure Databricks dengan bidang berikut dalam file Anda.databrickscfg. Jika Anda membuat profil, ganti penampung nilai dengan nilai yang sesuai. 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_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 .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_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 MS 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 MS Entra harus memiliki setidaknya izin Kontributor atau Pemilik pada sumber daya Azure untuk ruang kerja Azure Databricks.

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 perwakilan layanan MICROSOFT Entra ID.

Catatan

Autentikasi perwakilan layanan MS 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 .databrickscfg Anda untuk Azure Databricks operasi tingkat ruang kerja seperti yang ditentukan di bagian "Profil" artikel ini. Atur juga variabel lingkungan cluster_id di profil Anda ke URL per ruang kerja, misalnya https://adb-1234567890123456.7.azuredatabricks.net.
  • Atur variabel lingkungan untuk Azure Databricks operasi tingkat ruang kerja seperti yang ditentukan di bagian "Lingkungan" artikel ini. Atur juga variabel lingkungan DATABRICKS_CLUSTER_ID ke URL per ruang kerja Anda, misalnya https://adb-1234567890123456.7.azuredatabricks.net.

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

Untuk menginisialisasi klien Databricks Connect dengan variabel atau nilai lingkungan ini dalam file .databrickscfg Anda, lihat konfigurasi komputasi untuk Databricks Connect.

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

  1. Atur nilai dalam file .databrickscfg Anda untuk Azure Databricks operasi tingkat ruang kerja seperti yang ditentukan di bagian "Profil" artikel ini.
  2. Di panel Konfigurasi ekstensi Databricks untuk Visual Studio Code, klik Konfigurasikan Databricks.
  3. Di Palet
  4. Dalam Palet Perintah, pilih nama profil target Anda dari daftar untuk URL Anda.

Untuk detail selengkapnya, lihat Menyiapkan otorisasi untuk ekstensi Databricks untuk Visual Studio Code.

Untuk operasi tingkat akun, untuk autentikasi default:

provider "databricks" {
  alias = "accounts"
}

Untuk konfigurasi langsung (ganti penampung retrieve 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 penampung retrieve 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 MS 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 MS 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.

Untuk operasi tingkat akun, untuk autentikasi default:

from databricks.sdk import AccountClient

a = AccountClient()
# ...

Untuk konfigurasi langsung (ganti placeholder retrieve 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 placeholder retrieve 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 MS 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 MS 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:

Untuk operasi tingkat akun, untuk autentikasi default:

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

Untuk konfigurasi langsung (ganti placeholder retrieve 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 placeholder retrieve 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 MS 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 MS 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:

Untuk operasi tingkat akun, untuk autentikasi default:

import (
  "github.com/databricks/databricks-sdk-go"
)
// ...
a := databricks.Must(databricks.NewAccountClient())
// ...

Untuk konfigurasi langsung (ganti placeholder retrieve 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 placeholder retrieve 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 MS 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 MS 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.