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 tożsamości Microsoft Entra dla usługodawców
- 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 natrue
.
Dla działań na poziomie obszaru roboczegoustaw następujące zmienne środowiskowe:
-
DATABRICKS_HOST
ustaw wartość adresu URL usługi Azure Databricks adresu URL obszaru roboczego, na przykładhttps://adb-1234567890123456.7.azuredatabricks.net
. ARM_CLIENT_ID
-
ARM_USE_MSI
ustaw natrue
.
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 kontaustaw następujące wartości w pliku .databrickscfg
. 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 roboczegoustaw następujące wartości w pliku .databrickscfg
. 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
.databrickscfg
zgodnie z opisem w sekcji "Profil" tego artykułu.
Zmienne środowiskowe zawsze mają pierwszeństwo przed wartościami w pliku .databrickscfg
.
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 symbole zastępcze retrieve
własną implementacją, aby pobrać wartości z konsoli lub innego magazynu konfiguracji, takiego jak HashiCorp Vault). Zobacz także Vault Provider. 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 symbole zastępcze retrieve
własną implementacją, aby pobierać wartości z konsoli lub innego magazynu konfiguracji, takiego jak HashiCorp Vault; zobacz również Vault Provider). 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 symbole zastępcze retrieve
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 symbole zastępcze retrieve
własną implementacją, aby pobrać wartości np. z konsoli lub innego sklepu 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.