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ł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 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:
- 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 Połączenie przy użyciu tych zmiennych środowiskowych lub wartości w .databrickscfg
pliku, zobacz jedną z następujących opcji:
- W przypadku języka Python zobacz Konfigurowanie właściwości połączenia dla języka Python.
- W przypadku języka Scala zobacz Konfigurowanie właściwości połączenia dla języka Scala.
Vs Code
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śnij klawiszEnter
. - 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:
- Konfigurowanie klienta usługi Databricks Połączenie dla języka Python
- Konfiguracja uwierzytelniania dla rozszerzenia usługi Databricks dla programu VS Code
- Uwierzytelnianie zestawu SDK usługi Databricks dla języka Python przy użyciu konta lub obszaru roboczego usługi Azure Databricks
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:
- Konfigurowanie klienta usługi Databricks Połączenie dla języka Scala (klient usługi Databricks Połączenie 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
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.
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla