Проверка подлинности субъекта-службы MS Entra
субъект-служба MS Entra аутентификации использует credentials субъекта-службы MS Entra для проверки подлинности. Сведения о создании субъектов-служб и управлении ими для Azure Databricks см. в статье:
Примечание.
Databricks рекомендует использовать проверку подлинности OAuth на компьютере (M2M) в большинстве сценариев вместо проверки подлинности субъекта-службы MS Entra. Это связано с тем, что проверка подлинности M2M OAuth использует маркеры доступа OAuth Azure Databricks, более надежные при проверке подлинности только в Azure Databricks.
Следует использовать только аутентификацию с помощью MS Entra service principal в случаях, where когда необходимо авторизоваться одновременно через Azure Databricks и другие ресурсы Azure.
Чтобы использовать проверку подлинности OAuth M2M вместо проверки подлинности субъекта-службы MS Entra, пропустите эту статью и ознакомьтесь с проверкой подлинности доступа к Azure Databricks с помощью субъекта-службы OAuth (OAuth M2M).
Субъекты-службы MS Entra отличаются от управляемых удостоверений для ресурсов Azure, которые Azure Databricks также поддерживает для проверки подлинности. Сведения о том, как использовать управляемые удостоверения Azure для ресурсов вместо субъектов-служб MS Entra для аутентификации в Azure Databricks, см. в разделах иSet, а также об аутентификации управляемыми удостоверениями Azure для автоматизации Azure Databricks см..
Дополнительные сведения о проверке подлинности Microsoft Entra в Databricks с помощью Azure DevOps см. в статье "Аутентификация с помощью Azure DevOps в Databricks".
Чтобы настроить проверку подлинности субъекта-службы MS Entra с помощью Azure Databricks, необходимо set следующие связанные переменные среды, .databrickscfg
поля, поля Terraform или поля Config
:
Узел Azure Databricks.
Для операций с учетной записью укажите
https://accounts.azuredatabricks.net
.Для операций с рабочей областью укажите URL-адрес рабочей области, например
https://adb-1234567890123456.7.azuredatabricks.net
.Если субъект-служба MS Entra еще не добавлена в рабочую область, укажите вместо него идентификатор ресурса Azure. В этом случае субъект-служба MS Entra должна иметь по крайней мере разрешения участника или владельца ресурса Azure.
Для операций с учетной записью идентификатор учетной записи Azure Databricks.
ИД ресурса Azure.
Идентификатор клиента субъекта-службы MS Entra.
Идентификатор клиента субъекта-службы MS Entra.
Секрет клиента субъекта-службы MS Entra.
Чтобы выполнить проверку подлинности субъекта-службы MS Entra с помощью Azure Databricks, интегрируйте в код следующие компоненты на основе средства или пакета SDK:
Сведения об использовании переменных среды для определенного типа проверки подлинности Azure Databricks с помощью средства или пакета SDK см. в документации по проверке подлинности к ресурсам Azure Databricks или пакету SDK. См. также переменные среды и поля для единой проверки подлинности клиента и методы по умолчанию для единой проверки подлинности клиента.
Для операций на уровне учетной записиset следующие переменные среды:
Присвойте
DATABRICKS_HOST
, set значению URL-адреса консоли учетной записи Azure Databricks,https://accounts.azuredatabricks.net
.DATABRICKS_ACCOUNT_ID
ARM_TENANT_ID
ARM_CLIENT_ID
ARM_CLIENT_SECRET
Для операций на уровне рабочей области set следующие переменные среды:
-
DATABRICKS_HOST
set значение URL-адреса Azure Databricks для вашего рабочего пространства, напримерhttps://adb-1234567890123456.7.azuredatabricks.net
. ARM_TENANT_ID
ARM_CLIENT_ID
ARM_CLIENT_SECRET
Для операций на уровне рабочей области, если субъект-служба MS Entra еще не добавлена в рабочую область, укажите
DATABRICKS_AZURE_RESOURCE_ID
вместе с идентификатором ресурса Azure для рабочей области Azure Databricks вместоHOST
URL-адреса рабочей области. В этом случае субъект-служба MS Entra должна иметь по крайней мере разрешения участника или владельца ресурса Azure для рабочей области Azure Databricks.
Создайте или определите профиль конфигурации Azure Databricks со следующими полями в .databrickscfg
файле. Если вы создаёте профиль, замените заполнители подходящим values. Чтобы использовать профиль с инструментом или пакетом SDK, ознакомьтесь с документацией по проверке подлинности к ресурсам Azure Databricks или документации по средству или пакету SDK. См. также переменные среды и поля для единой проверки подлинности клиента и методы по умолчанию для единой проверки подлинности клиента.
Для операций на уровне учетной записиset приведенные ниже values в файле .databrickscfg
. В этом случае URL-адрес консоли учетной записи Azure Databricks: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>
Для операций на уровне рабочей области set приведенные ниже values в файле .databrickscfg
. В этом случае узел является URL-адресом Azure Databricks 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>
Для операций на уровне рабочей области, если субъект-служба MS Entra еще не добавлена в рабочую область, укажите azure_workspace_resource_id
вместе с идентификатором ресурса Azure для рабочей области Azure Databricks вместо host
URL-адреса рабочей области. В этом случае субъект-служба MS Entra должна иметь по крайней мере разрешения участника или владельца ресурса Azure для рабочей области Azure Databricks.
Для интерфейса командной строки Databricks выполните одно из следующих действий:
- Set переменные среды, указанные в разделе "Среда" этой статьи.
-
Set
values в файле
.databrickscfg
, как указано в разделе "Профиль" этой статьи.
Переменные среды всегда имеют приоритет над values в файле .databrickscfg
.
См. также проверку подлинности субъекта-службы идентификатора Microsoft Entra.
Примечание.
Проверка подлинности субъекта-службы MS Entra поддерживается в следующих версиях Databricks Connect:
- Для Python Databricks Connect для Databricks Runtime 13.1 и более поздних версий.
- Для Scala Databricks Connect для Databricks Runtime 13.3 LTS и более поздних версий.
Для Databricks Connect можно выполнить одно из следующих действий:
-
Set
values в вашем файле
.databrickscfg
для операций на уровне рабочей области Azure Databricks , как указано в разделе “Профиль” этой статьи. Кроме того, настройте переменную среды setcluster_id
в вашем профиле на URL-адрес для рабочей области, напримерhttps://adb-1234567890123456.7.azuredatabricks.net
. -
Set переменные среды для операций уровня рабочей области Azure Databricks , как указано в разделе "Среда". Кроме того, set переменную среды
DATABRICKS_CLUSTER_ID
URL-адресрабочей области, напримерhttps://adb-1234567890123456.7.azuredatabricks.net
.
Values в файле .databrickscfg
всегда имеет приоритет над переменными среды.
Чтобы инициализировать клиент Databricks Connect с помощью этих переменных среды или values в файле .databrickscfg
, см. конфигурацию вычислений для Databricks Connect.
Для расширения Databricks для Visual Studio Code сделайте следующее:
-
Set
values в вашем файле
.databrickscfg
для операций на уровне рабочей области Azure Databricks , как указано в разделе «Профиль» этой статьи. - В области конфигурации расширения Databricks для Visual Studio Code нажмите кнопку "Настройка Databricks".
- В палитре команд для узла Databricks введите URL-адрес рабочей области, например
https://adb-1234567890123456.7.azuredatabricks.net
, и нажмите клавишуEnter
. - В командной палитре , в секции list укажите имя целевого профиля для вашего URL-адреса select.
Дополнительные сведения см. в разделе "Настройка проверки подлинности" расширения Databricks для Visual Studio Code.
Для операций на уровне учетной записи для проверки подлинности по умолчанию:
provider "databricks" {
alias = "accounts"
}
Для прямой конфигурации (замените заполнители retrieve
собственной реализацией, чтобы получить values из консоли или другого хранилища конфигурации, например HashiCorp Vault. См. также Vault Provider). В этом случае URL-адрес консоли учетной записи Azure Databricks: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>
}
Для операций на уровне рабочей области для проверки подлинности по умолчанию:
provider "databricks" {
alias = "workspace"
}
Для прямой конфигурации (замените заполнители retrieve
собственной реализацией, чтобы получить values из консоли или другого хранилища конфигурации, например хранилища HashiCorp Vault . См. также провайдер хранилища ). В этом случае узел является URL-адресом Azure Databricks 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>
}
Для операций на уровне рабочей области, если субъект-служба MS Entra еще не добавлена в рабочую область, укажите azure_workspace_resource_id
вместе с идентификатором ресурса Azure для рабочей области Azure Databricks вместо host
URL-адреса рабочей области. В этом случае субъект-служба MS Entra должна иметь по крайней мере разрешения участника или владельца ресурса Azure для рабочей области Azure Databricks.
Дополнительные сведения о проверке подлинности с помощью поставщика Databricks Terraform см. в разделе "Проверка подлинности".
Для операций на уровне учетной записи для проверки подлинности по умолчанию:
from databricks.sdk import AccountClient
a = AccountClient()
# ...
Для прямой настройки (замените заполнители retrieve
собственной реализацией для извлечения values из консоли или другого хранилища конфигурации, например, Azure KeyVault). В этом случае URL-адрес консоли учетной записи Azure Databricks: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()
)
# ...
Для операций на уровне рабочей области для проверки подлинности по умолчанию:
from databricks.sdk import WorkspaceClient
w = WorkspaceClient()
# ...
Для прямой конфигурации (замените заполнители retrieve
собственной реализацией, чтобы получить values из консоли или другого хранилища конфигурации, например Azure KeyVault). В этом случае узел является URL-адресом Azure Databricks 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()
)
# ...
Для операций на уровне рабочей области, если субъект-служба MS Entra еще не добавлена в рабочую область, укажите azure_workspace_resource_id
вместе с идентификатором ресурса Azure для рабочей области Azure Databricks вместо host
URL-адреса рабочей области. В этом случае субъект-служба MS Entra должна иметь по крайней мере разрешения участника или владельца ресурса Azure для рабочей области Azure Databricks.
Дополнительные сведения о проверке подлинности с помощью средств Databricks и пакетов SDK, использующих Python и реализующих единую проверку подлинности клиента Databricks, см. в следующем разделе:
- Set Настройка клиента Databricks Connect для Python
- Настройка проверки подлинности для расширения Databricks для Visual Studio Code
- Проверка подлинности пакета SDK Databricks для Python с помощью учетной записи Или рабочей области Azure Databricks
Для операций на уровне учетной записи для проверки подлинности по умолчанию:
import com.databricks.sdk.AccountClient;
// ...
AccountClient a = new AccountClient();
// ...
Для прямой настройки (замените заполнители retrieve
на вашу собственную реализацию, чтобы извлечь values из консоли или другого хранилища конфигурации, например, Azure KeyVault). В этом случае URL-адрес консоли учетной записи Azure Databricks: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);
// ...
Для операций на уровне рабочей области для проверки подлинности по умолчанию:
import com.databricks.sdk.WorkspaceClient;
// ...
WorkspaceClient w = new WorkspaceClient();
// ...
Для непосредственной конфигурации (замените заполнители retrieve
на собственную реализацию, чтобы извлечь values из консоли или другого хранилища конфигурации, например Azure KeyVault). В этом случае узел является URL-адресом Azure Databricks 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);
// ...
Для операций на уровне рабочей области, если субъект-служба MS Entra еще не добавлена в рабочую область, укажите setAzureWorkspaceResourceId
вместе с идентификатором ресурса Azure для рабочей области Azure Databricks вместо setHost
URL-адреса рабочей области. В этом случае субъект-служба MS Entra должна иметь по крайней мере разрешения участника или владельца ресурса Azure для рабочей области Azure Databricks.
Дополнительные сведения о проверке подлинности с помощью средств Databricks и пакетов SDK, использующих Java и реализующих единую проверку подлинности клиента Databricks, см. в следующем разделе:
- Настройка клиентаSet Databricks Connect для Scala (клиент Databricks Connect для Scala использует включенный SDK Databricks для Java для проверки подлинности)
- Проверка подлинности пакета SDK Databricks для Java с помощью учетной записи Или рабочей области Azure Databricks
Для операций на уровне учетной записи для проверки подлинности по умолчанию:
import (
"github.com/databricks/databricks-sdk-go"
)
// ...
a := databricks.Must(databricks.NewAccountClient())
// ...
Для прямой конфигурации (замените заполнители retrieve
собственной реализацией, чтобы получить values из консоли или другого хранилища конфигурации, например Azure KeyVault). В этом случае URL-адрес консоли учетной записи Azure Databricks: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(),
}))
// ...
Для операций на уровне рабочей области для проверки подлинности по умолчанию:
import (
"github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient())
// ...
Для прямой конфигурации (замените заполнители retrieve
собственной реализацией, чтобы получить values из консоли или другого хранилища конфигурации, например Azure KeyVault). В этом случае узел является URL-адресом Azure Databricks 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(),
}))
// ...
Для операций на уровне рабочей области, если субъект-служба MS Entra еще не добавлена в рабочую область, укажите AzureWorkspaceResourceId
вместе с идентификатором ресурса Azure для рабочей области Azure Databricks вместо Host
URL-адреса рабочей области. В этом случае субъект-служба MS Entra должна иметь по крайней мере разрешения участника или владельца ресурса Azure для рабочей области Azure Databricks.
Дополнительные сведения о проверке подлинности с помощью средств Databricks и пакетов SDK, использующих Go и реализующих единую проверку подлинности клиента Databricks, см. в статье "Проверка подлинности пакета SDK Databricks для Go" с учетной записью Azure Databricks или рабочей областью.