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