Udostępnij za pośrednictwem


Uwierzytelnianie tożsamości zarządzanych platformy Azure

Uwierzytelnianie tożsamości zarządzanych platformy Azure używa tożsamości zarządzanych dla zasobów platformy Azure (wcześniej tożsamości usługi zarządzanej (MSI)) do uwierzytelniania za pomocą usługi Azure Databricks. Programowe wywołania konta i obszaru roboczego usługi Azure Databricks używają tej tożsamości zarządzanej podczas pracy z zasobami platformy Azure obsługującymi tożsamości zarządzane, takie jak maszyny wirtualne platformy Azure.

Uwaga

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

Uwierzytelnianie tożsamości zarządzanych platformy Azure jest obsługiwane tylko między prawidłowo skonfigurowanymi zasobami, które obsługują tożsamości zarządzane, takie jak maszyny wirtualne platformy Azure) i konta i obszary robocze usługi Azure Databricks.

Aby skonfigurować uwierzytelnianie tożsamości zarządzanych platformy Azure za pomocą usługi Azure Databricks, należy ustawić następujące skojarzone zmienne środowiskowe, .databrickscfg pola, pola programu Terraform lub Config pola na prawidłowo obsługiwanej maszynie wirtualnej platformy Azure:

  • 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.
  • W przypadku operacji konta identyfikator konta usługi Azure Databricks.
  • Identyfikator dzierżawy tożsamości zarządzanej.
  • Identyfikator klienta tożsamości zarządzanej.
  • Identyfikator zasobu platformy Azure.
  • Ustaw wartość true dla tożsamości zarządzanych za pomocą platformy Azure.

Aby przeprowadzić uwierzytelnianie tożsamości zarządzanych platformy Azure za pomocą usługi 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 Uwierzytelnianie dostępu do zasobów usługi Azure Databricks lub dokumentacji narzędzia lub zestawu SDK. Zobacz również Zmienne środowiskowe i pola dla ujednoliconego uwierzytelniania klienta oraz domyślne metody ujednoliconego uwierzytelniania 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_CLIENT_ID
  • ARM_USE_MSI, ustaw wartość true.

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_CLIENT_ID
  • ARM_USE_MSI, ustaw wartość true.

W przypadku operacji na poziomie obszaru roboczego, jeśli tożsamość docelowa 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 DATABRICKS_HOST adresem URL obszaru roboczego. W takim przypadku tożsamość docelowa 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 za pomocą narzędzia lub zestawu SDK, zobacz Uwierzytelnianie dostępu do zasobów usługi Azure Databricks lub dokumentacji narzędzia lub zestawu SDK. Zobacz również Zmienne środowiskowe i pola dla ujednoliconego uwierzytelniania klienta oraz domyślne metody ujednoliconego uwierzytelniania 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_client_id = <azure-managed-identity-application-id>
azure_use_msi   = true

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

W przypadku operacji na poziomie obszaru roboczego, jeśli tożsamość docelowa 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 tożsamość docelowa 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 również Uwierzytelnianie tożsamości zarządzanych platformy Azure.

Połącz

Uwaga

Usługa Databricks Connect korzysta z zestawu SDK usługi Databricks dla języka Python na potrzeby uwierzytelniania. Zestaw SDK usługi Databricks dla języka Python nie zaimplementował jeszcze uwierzytelniania tożsamości zarządzanych platformy Azure.

VS Code

Uwaga

Rozszerzenie usługi Databricks dla programu Visual Studio Code nie obsługuje jeszcze uwierzytelniania tożsamości zarządzanych platformy Azure.

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_client_id = <retrieve-azure-client-id>
  azure_use_msi   = true
}

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_client_id = <retrieve-azure-client-id>
  azure_use_msi   = true
}

W przypadku operacji na poziomie obszaru roboczego, jeśli tożsamość docelowa 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 tożsamość docelowa 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

Uwaga

Zestaw SDK usługi Databricks dla języka Python nie zaimplementował jeszcze uwierzytelniania tożsamości zarządzanych platformy Azure.

Java

Uwaga

Zestaw SDK usługi Databricks dla języka Java nie zaimplementował jeszcze uwierzytelniania tożsamości zarządzanych platformy Azure.

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(),
  AzureClientId: retrieveAzureClientId(),
  AzureUseMSI:   true,
}))
// ...

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(),
  AzureClientId: retrieveAzureClientId(),
  AzureUseMSI:   true,
}))
// ...

W przypadku operacji na poziomie obszaru roboczego, jeśli tożsamość docelowa nie została jeszcze dodana do obszaru roboczego, określ AzureResourceID razem z identyfikatorem zasobu platformy Azure dla obszaru roboczego usługi Azure Databricks, a nie Host adresem URL obszaru roboczego. W takim przypadku tożsamość docelowa 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.