Uwierzytelnianie jednostki usługi Microsoft Entra ID

Uwierzytelnianie jednostki usługi Microsoft Entra ID używa poświadczeń jednostki usługi Microsoft Entra ID do uwierzytelniania. Aby utworzyć jednostki usługi dla usługi Azure Databricks i zarządzać nimi, zobacz:

Uwaga

Usługa Databricks zaleca użycie uwierzytelniania maszyny do maszyny OAuth (M2M) w większości scenariuszy zamiast uwierzytelniania jednostki usługi Microsoft Entra ID. Dzieje się tak, ponieważ uwierzytelnianie OAuth M2M korzysta z tokenów dostępu OAuth usługi Azure Databricks, które są wykazują większą niezawodność tylko podczas uwierzytelniania w usłudze Azure Databricks.

Uwierzytelnianie jednostki usługi Microsoft Entra ID należy stosować tylko w przypadkach, gdy konieczne jest jednoczesne uwierzytelnienie się w usłudze Azure Databricks i innych zasobach platformy Azure, wymagające tokenów identyfikatora Microsoft Entra ID.

Aby użyć uwierzytelniania OAuth M2M zamiast uwierzytelniania jednostki usługi Microsoft Entra ID, pomiń ten artykuł i zobacz Uwierzytelnianie maszyny do komputera OAuth (M2M).

Jednostki usługi Microsoft Entra ID różnią się od tożsamości zarządzanych dla zasobów platformy Azure, które usługa Azure Databricks obsługuje również do uwierzytelniania. Aby dowiedzieć się, jak używać tożsamości zarządzanych dla zasobów platformy Azure zamiast jednostek usługi Microsoft Entra ID na potrzeby uwierzytelniania usługi Azure Databricks, zobacz Konfigurowanie i używanie uwierzytelniania tożsamości zarządzanych platformy Azure na potrzeby automatyzacji usługi Azure Databricks.

Aby skonfigurować uwierzytelnianie jednostki usługi Microsoft Entra ID w usłudze Azure Databricks, należy ustawić następujące skojarzone zmienne środowiskowe, .databrickscfg pola, pola programu Terraform lub Config pola:

  • Host usługi Azure Databricks.

    • W przypadku operacji konta określ wartość https://accounts.azuredatabricks.net.

    • W przypadku operacji obszaru roboczego określ adres URL dla każdego obszaru roboczego, na przykład https://adb-1234567890123456.7.azuredatabricks.net.

      Jeśli jednostka usługi Microsoft Entra ID nie została jeszcze dodana do obszaru roboczego, określ zamiast tego identyfikator zasobu platformy Azure. W takim przypadku jednostka usługi Microsoft Entra ID musi mieć co najmniej uprawnienia Współautor lub Właściciel w zasobie platformy Azure.

  • W przypadku operacji konta identyfikator konta usługi Azure Databricks.

  • Identyfikator zasobu platformy Azure.

  • Identyfikator dzierżawy jednostki usługi Microsoft Entra ID.

  • Identyfikator klienta jednostki usługi Microsoft Entra ID.

  • Wpis tajny klienta jednostki usługi Microsoft Entra ID.

Aby przeprowadzić uwierzytelnianie jednostki usługi Microsoft Entra ID w usłudze Azure Databricks, zintegruj następujące elementy w kodzie na podstawie uczestniczących narzędzi lub zestawu SDK:

Środowisko

Aby użyć zmiennych środowiskowych dla określonego typu uwierzytelniania usługi Azure Databricks za pomocą narzędzia lub zestawu SDK, zobacz Obsługiwane typy uwierzytelniania za pomocą narzędzia lub zestawu SDK usługi Azure Databricks albo dokumentacji narzędzia lub zestawu SDK. Zobacz również Zmienne środowiskowe i pola dla ujednoliconego uwierzytelniania klienta oraz Domyślna kolejność oceny dla ujednoliconych metod uwierzytelniania i poświadczeń klienta.

W przypadku operacji na poziomie konta ustaw następujące zmienne środowiskowe:

  • DATABRICKS_HOST, ustaw wartość adresu URL konsoli konta usługi Azure Databricks, https://accounts.azuredatabricks.net.
  • DATABRICKS_ACCOUNT_ID
  • ARM_TENANT_ID
  • ARM_CLIENT_ID
  • ARM_CLIENT_SECRET

W przypadku operacji na poziomie obszaru roboczego ustaw następujące zmienne środowiskowe:

  • DATABRICKS_HOST, ustaw wartość adresu URL usługi Azure Databricks na obszar roboczy, na przykład https://adb-1234567890123456.7.azuredatabricks.net.
  • ARM_TENANT_ID
  • ARM_CLIENT_ID
  • ARM_CLIENT_SECRET

W przypadku operacji na poziomie obszaru roboczego, jeśli jednostka usługi Microsoft Entra ID nie została jeszcze dodana do obszaru roboczego, określ DATABRICKS_AZURE_RESOURCE_ID razem z identyfikatorem zasobu platformy Azure dla obszaru roboczego usługi Azure Databricks, a nie HOST adresem URL obszaru roboczego. W takim przypadku jednostka usługi Microsoft Entra ID musi mieć co najmniej uprawnienia Współautor lub Właściciel w zasobie platformy Azure dla obszaru roboczego usługi Azure Databricks.

Profil

Utwórz lub zidentyfikuj profil konfiguracji usługi Azure Databricks z następującymi polami w .databrickscfg pliku. Jeśli utworzysz profil, zastąp symbole zastępcze odpowiednimi wartościami. Aby użyć profilu z narzędziem lub zestawem SDK, zobacz Obsługiwane typy uwierzytelniania według narzędzia lub zestawu SDK usługi Azure Databricks albo dokumentacji narzędzia lub zestawu SDK. Zobacz również Zmienne środowiskowe i pola dla ujednoliconego uwierzytelniania klienta oraz Domyślna kolejność oceny dla ujednoliconych metod uwierzytelniania i poświadczeń klienta.

W przypadku operacji na poziomie konta ustaw następujące wartości w .databrickscfg pliku. W takim przypadku adres URL konsoli konta usługi Azure Databricks to 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>

W przypadku operacji na poziomie obszaru roboczego ustaw następujące wartości w .databrickscfg pliku. W takim przypadku hostem jest adres URL usługi Azure Databricks dla obszaru roboczego, na przykład 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>

W przypadku operacji na poziomie obszaru roboczego, jeśli jednostka usługi Microsoft Entra ID nie została jeszcze dodana do obszaru roboczego, określ azure_workspace_resource_id razem z identyfikatorem zasobu platformy Azure dla obszaru roboczego usługi Azure Databricks, a nie host adresem URL obszaru roboczego. W takim przypadku jednostka usługi Microsoft Entra ID musi mieć co najmniej uprawnienia Współautor lub Właściciel w zasobie platformy Azure dla obszaru roboczego usługi Azure Databricks.

Cli

W przypadku interfejsu wiersza polecenia usługi Databricks wykonaj jedną z następujących czynności:

  • Ustaw zmienne środowiskowe zgodnie z opisem w sekcji "Środowisko" tego artykułu.
  • Ustaw wartości w pliku zgodnie z opisem w .databrickscfg sekcji "Profil" tego artykułu.

Zmienne środowiskowe zawsze mają pierwszeństwo przed wartościami w .databrickscfg pliku.

Zobacz też Uwierzytelnianie jednostki usługi Microsoft Entra ID.

Połącz

Uwaga

Uwierzytelnianie jednostki usługi Microsoft Entra ID jest obsługiwane w następujących wersjach usługi Databricks Połączenie:

  • W przypadku języka Python usługa Databricks Połączenie dla środowiska Databricks Runtime 13.1 lub nowszego.
  • W przypadku języka Scala usługa Databricks Połączenie dla środowiska Databricks Runtime 13.3 LTS lub nowszego.

W przypadku Połączenie usługi Databricks można wykonać jedną z następujących czynności:

Wartości w .databrickscfg pliku zawsze mają pierwszeństwo przed zmiennymi środowiskowymi.

Aby zainicjować klienta usługi Databricks Połączenie przy użyciu tych zmiennych środowiskowych lub wartości w .databrickscfg pliku, zobacz jedną z następujących opcji:

Vs Code

W przypadku rozszerzenia usługi Databricks dla programu Visual Studio Code wykonaj następujące czynności:

  1. Ustaw wartości w .databrickscfg pliku dla operacji na poziomie obszaru roboczego usługi Azure Databricks zgodnie z opisem w sekcji "Profil" tego artykułu.
  2. W okienku Konfiguracja rozszerzenia usługi Databricks dla programu Visual Studio Code kliknij pozycję Konfiguruj usługę Databricks.
  3. W palecie poleceń w polu Host usługi Databricks wprowadź adres URL obszaru roboczego, na przykład https://adb-1234567890123456.7.azuredatabricks.net, a następnie naciśnij klawisz Enter.
  4. W palecie poleceń wybierz nazwę profilu docelowego na liście adresu URL.

Aby uzyskać więcej informacji, zobacz Konfigurowanie uwierzytelniania dla rozszerzenia usługi Databricks dla programu VS Code.

Terraform

W przypadku operacji na poziomie konta dla uwierzytelniania domyślnego:

provider "databricks" {
  alias = "accounts"
}

W przypadku konfiguracji bezpośredniej (zastąp retrieve symbole zastępcze własną implementacją, aby pobrać wartości z konsoli lub innego magazynu konfiguracji, takiego jak HashiCorp Vault. Zobacz też Dostawca magazynu). W takim przypadku adres URL konsoli konta usługi Azure Databricks to 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>
}

W przypadku operacji na poziomie obszaru roboczego dla uwierzytelniania domyślnego:

provider "databricks" {
  alias = "workspace"
}

W przypadku konfiguracji bezpośredniej (zastąp retrieve symbole zastępcze własną implementacją, aby pobrać wartości z konsoli lub innego magazynu konfiguracji, takiego jak HashiCorp Vault. Zobacz też Dostawca magazynu). W takim przypadku hostem jest adres URL usługi Azure Databricks dla obszaru roboczego, na przykład 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>
}

W przypadku operacji na poziomie obszaru roboczego, jeśli jednostka usługi Microsoft Entra ID nie została jeszcze dodana do obszaru roboczego, określ azure_workspace_resource_id razem z identyfikatorem zasobu platformy Azure dla obszaru roboczego usługi Azure Databricks, a nie host adresem URL obszaru roboczego. W takim przypadku jednostka usługi Microsoft Entra ID musi mieć co najmniej uprawnienia Współautor lub Właściciel w zasobie platformy Azure dla obszaru roboczego usługi Azure Databricks.

Aby uzyskać więcej informacji na temat uwierzytelniania za pomocą dostawcy narzędzia Terraform usługi Databricks, zobacz Authentication (Uwierzytelnianie).

Python

W przypadku operacji na poziomie konta dla uwierzytelniania domyślnego:

from databricks.sdk import AccountClient

a = AccountClient()
# ...

W przypadku konfiguracji bezpośredniej (zastąp retrieve symbole zastępcze własną implementacją, aby pobrać wartości z konsoli lub innego magazynu konfiguracji, takiego jak Azure KeyVault). W takim przypadku adres URL konsoli konta usługi Azure Databricks to 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()
)
# ...

W przypadku operacji na poziomie obszaru roboczego dla uwierzytelniania domyślnego:

from databricks.sdk import WorkspaceClient

w = WorkspaceClient()
# ...

W przypadku konfiguracji bezpośredniej (zastąp retrieve symbole zastępcze własną implementacją, aby pobrać wartości z konsoli lub innego magazynu konfiguracji, takiego jak Azure KeyVault). W takim przypadku hostem jest adres URL usługi Azure Databricks dla obszaru roboczego, na przykład 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()
)
# ...

W przypadku operacji na poziomie obszaru roboczego, jeśli jednostka usługi Microsoft Entra ID nie została jeszcze dodana do obszaru roboczego, określ azure_workspace_resource_id razem z identyfikatorem zasobu platformy Azure dla obszaru roboczego usługi Azure Databricks, a nie host adresem URL obszaru roboczego. W takim przypadku jednostka usługi Microsoft Entra ID musi mieć co najmniej uprawnienia Współautor lub Właściciel w zasobie platformy Azure dla obszaru roboczego usługi Azure Databricks.

Aby uzyskać więcej informacji na temat uwierzytelniania za pomocą narzędzi i zestawów SDK usługi Databricks korzystających z języka Python i implementujących ujednolicone uwierzytelnianie klienta usługi Databricks, zobacz:

Java

W przypadku operacji na poziomie konta dla uwierzytelniania domyślnego:

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

W przypadku konfiguracji bezpośredniej (zastąp retrieve symbole zastępcze własną implementacją, aby pobrać wartości z konsoli lub innego magazynu konfiguracji, takiego jak Azure KeyVault). W takim przypadku adres URL konsoli konta usługi Azure Databricks to 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);
// ...

W przypadku operacji na poziomie obszaru roboczego dla uwierzytelniania domyślnego:

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

W przypadku konfiguracji bezpośredniej (zastąp retrieve symbole zastępcze własną implementacją, aby pobrać wartości z konsoli lub innego magazynu konfiguracji, takiego jak Azure KeyVault). W takim przypadku hostem jest adres URL usługi Azure Databricks dla obszaru roboczego, na przykład 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);
// ...

W przypadku operacji na poziomie obszaru roboczego, jeśli jednostka usługi Microsoft Entra ID nie została jeszcze dodana do obszaru roboczego, określ setAzureWorkspaceResourceId razem z identyfikatorem zasobu platformy Azure dla obszaru roboczego usługi Azure Databricks, a nie setHost adresem URL obszaru roboczego. W takim przypadku jednostka usługi Microsoft Entra ID musi mieć co najmniej uprawnienia Współautor lub Właściciel w zasobie platformy Azure dla obszaru roboczego usługi Azure Databricks.

Aby uzyskać więcej informacji na temat uwierzytelniania za pomocą narzędzi i zestawów SDK usługi Databricks korzystających z języka Java oraz implementujących ujednolicone uwierzytelnianie klienta usługi Databricks, zobacz:

Go

W przypadku operacji na poziomie konta dla uwierzytelniania domyślnego:

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

W przypadku konfiguracji bezpośredniej (zastąp retrieve symbole zastępcze własną implementacją, aby pobrać wartości z konsoli lub innego magazynu konfiguracji, takiego jak Azure KeyVault). W takim przypadku adres URL konsoli konta usługi Azure Databricks to 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(),
}))
// ...

W przypadku operacji na poziomie obszaru roboczego dla uwierzytelniania domyślnego:

import (
  "github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient())
// ...

W przypadku konfiguracji bezpośredniej (zastąp retrieve symbole zastępcze własną implementacją, aby pobrać wartości z konsoli lub innego magazynu konfiguracji, takiego jak Azure KeyVault). W takim przypadku hostem jest adres URL usługi Azure Databricks dla obszaru roboczego, na przykład 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(),
}))
// ...

W przypadku operacji na poziomie obszaru roboczego, jeśli jednostka usługi Microsoft Entra ID nie została jeszcze dodana do obszaru roboczego, określ AzureWorkspaceResourceId razem z identyfikatorem zasobu platformy Azure dla obszaru roboczego usługi Azure Databricks, a nie Host adresem URL obszaru roboczego. W takim przypadku jednostka usługi Microsoft Entra ID musi mieć co najmniej uprawnienia Współautor lub Właściciel w zasobie platformy Azure dla obszaru roboczego usługi Azure Databricks.

Aby uzyskać więcej informacji na temat uwierzytelniania za pomocą narzędzi i zestawów SDK usługi Databricks korzystających z języka Go i implementujących ujednolicone uwierzytelnianie klienta usługi Databricks, zobacz Uwierzytelnianie zestawu SDK usługi Databricks dla języka Go przy użyciu konta lub obszaru roboczego usługi Azure Databricks.