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.
- Aby uzyskać informacje o tożsamościach zarządzanych, zobacz Co to są tożsamości zarządzane dla zasobów platformy Azure?.
- Aby dowiedzieć się, jak utworzyć tożsamość zarządzaną i przyznać jej uprawnienia dostępu do kont i obszarów roboczych usługi Azure Databricks, zobacz Konfigurowanie i używanie uwierzytelniania tożsamości zarządzanych platformy Azure na potrzeby automatyzacji usługi Azure Databricks.
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 jednostki usługi MS Entra
- Uwierzytelnianie interfejsu wiersza polecenia platformy Azure
- Zarzadzanie jednostkami usługi
- Aprowizuj jednostkę usługi przy użyciu narzędzia Terraform
- Uzyskiwanie tokenów identyfikatora entra firmy Microsoft dla jednostek usługi
- Logowanie interfejsu wiersza polecenia platformy Azure przy użyciu jednostki usługi Microsoft Entra ID
- Logowanie do programu PowerShell przy użyciu jednostki usługi Microsoft Entra ID
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 określ wartość
- 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ładhttps://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.