Uwierzytelnianie jednostki usługi MS Entra
Uwierzytelnianie jednostki usługi MS Entra używa poświadczeń jednostki usługi MS Entra 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 MS Entra. 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.
Należy używać uwierzytelniania jednostki usługi MS Entra tylko w przypadkach, gdy musisz uwierzytelnić się w usłudze Azure Databricks i innych zasobach platformy Azure w tym samym czasie.
Aby użyć uwierzytelniania OAuth M2M zamiast uwierzytelniania jednostki usługi MS Entra, pomiń ten artykuł i zobacz Uwierzytelnianie dostępu do usługi Azure Databricks przy użyciu jednostki usługi przy użyciu protokołu OAuth (OAuth M2M).
Jednostki usługi MS Entra różnią się od tożsamości zarządzanych dla zasobów platformy Azure, które usługa Azure Databricks obsługuje również na potrzeby uwierzytelniania. Aby dowiedzieć się, jak używać tożsamości zarządzanych dla zasobów platformy Azure zamiast jednostek usługi MS Entra 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 uzyskać szczegółowe informacje na temat uwierzytelniania usługi Microsoft Entra w usłudze Databricks za pomocą usługi Azure DevOps, zobacz Uwierzytelnianie za pomocą usługi Azure DevOps w usłudze Databricks.
Aby skonfigurować uwierzytelnianie jednostki usługi MS Entra za pomocą usługi 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 MS Entra nie została jeszcze dodana do obszaru roboczego, określ zamiast tego identyfikator zasobu platformy Azure. W takim przypadku jednostka usługi MS Entra 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 MS Entra.
Identyfikator klienta jednostki usługi MS Entra.
Wpis tajny klienta jednostki usługi MS Entra.
Aby przeprowadzić uwierzytelnianie jednostki usługi MS Entra w usłudze Azure Databricks, zintegruj następujące elementy w kodzie na podstawie uczestniczących narzędzi lub zestawu SDK:
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_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ładhttps://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 MS Entra 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 nieHOST
adresem URL obszaru roboczego. W takim przypadku jednostka usługi MS Entra musi mieć co najmniej uprawnienia Współautor lub Właściciel w zasobie platformy Azure dla obszaru roboczego usługi Azure Databricks.
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_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 MS Entra 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 MS Entra musi mieć co najmniej uprawnienia Współautor lub Właściciel w zasobie platformy Azure dla obszaru roboczego usługi Azure Databricks.
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.
Uwaga
Uwierzytelnianie jednostki usługi MS Entra jest obsługiwane w następujących wersjach programu Databricks Connect:
- W przypadku języka Python usługa Databricks Connect dla środowiska Databricks Runtime 13.1 lub nowszego.
- W przypadku języka Scala usługa Databricks Connect dla środowiska Databricks Runtime 13.3 LTS lub nowszego.
W przypadku usługi Databricks Connect można wykonać jedną z następujących czynności:
- 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. Ustaw również zmiennącluster_id
środowiskową w profilu na adres URL obszaru roboczego, na przykładhttps://adb-1234567890123456.7.azuredatabricks.net
. - Ustaw zmienne środowiskowe dla operacji na poziomie obszaru roboczego usługi Azure Databricks zgodnie z opisem w sekcji "Środowisko" tego artykułu. Ustaw również zmienną
DATABRICKS_CLUSTER_ID
środowiskową na adres URL obszaru roboczego, na przykładhttps://adb-1234567890123456.7.azuredatabricks.net
.
Wartości w .databrickscfg
pliku zawsze mają pierwszeństwo przed zmiennymi środowiskowymi.
Aby zainicjować klienta usługi Databricks Connect przy użyciu tych zmiennych środowiskowych lub wartości w .databrickscfg
pliku, zobacz Konfiguracja obliczeń dla usługi Databricks Connect.
W przypadku rozszerzenia usługi Databricks dla programu Visual Studio Code wykonaj następujące czynności:
- 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. - W okienku Konfiguracja rozszerzenia usługi Databricks dla programu Visual Studio Code kliknij pozycję Konfiguruj usługę Databricks.
- 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śnijEnter
. - 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 Visual Studio Code.
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 MS Entra 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 MS Entra 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).
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 MS Entra 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 MS Entra 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:
- Konfigurowanie klienta usługi Databricks Connect dla języka Python
- Konfiguracja uwierzytelniania dla rozszerzenia usługi Databricks dla programu Visual Studio Code
- Uwierzytelnianie zestawu SDK usługi Databricks dla języka Python przy użyciu konta lub obszaru roboczego usługi Azure Databricks
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 MS Entra 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 MS Entra 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:
- Konfigurowanie klienta usługi Databricks Connect dla języka Scala (klient programu Databricks Connect dla języka Scala używa dołączonego zestawu SDK usługi Databricks dla języka Java na potrzeby uwierzytelniania)
- Uwierzytelnianie zestawu SDK usługi Databricks dla języka Java przy użyciu konta lub obszaru roboczego usługi Azure Databricks
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 MS Entra 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 MS Entra 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.