Проверка подлинности субъекта-службы MS Entra
аутентификация через учетную запись службы MS Entra использует учетные данные учетной записи службы MS Entra. Сведения о создании субъектов-служб и управлении ими для Azure Databricks см. в статье:
Примечание.
Databricks рекомендует использовать проверку подлинности OAuth на компьютере (M2M) в большинстве сценариев вместо проверки подлинности субъекта-службы MS Entra. Это связано с тем, что проверка подлинности M2M OAuth использует маркеры доступа OAuth Azure Databricks, более надежные при проверке подлинности только в Azure Databricks.
Вы должны использовать проверку подлинности субъекта-службы MS Entra только в тех случаях, когда необходимо выполнить проверку подлинности с помощью 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 в 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.
ИД ресурса 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
, задайте значение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
файле. При создании профиля замените заполнители соответствующими значениями. Чтобы использовать профиль с инструментом или 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
[<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 выполните одно из следующих действий:
- Задайте переменные среды, указанные в разделе "Среда".
- Задайте значения в файле
.databrickscfg
, как указано в разделе "Профиль" этой статьи.
Переменные среды всегда имеют приоритет над значениями в файле .databrickscfg
.
См. также проверку подлинности субъекта-службы идентификатора Microsoft Entra.
Примечание.
Проверка подлинности субъекта-службы 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 введите URL-адрес рабочей области, например
https://adb-1234567890123456.7.azuredatabricks.net
, и нажмите клавишуEnter
. - Впалитры команд
выберите имя целевого профиля в списке url-адреса.
Дополнительные сведения см. в разделе Настройка авторизации для расширения Databricks для Visual Studio Code.
Для операций на уровне учетной записи для проверки подлинности по умолчанию:
provider "databricks" {
alias = "accounts"
}
Для прямой конфигурации (замените заполнители retrieve
собственной реализацией, чтобы получить значения из консоли или другого хранилища конфигурации, например HashiCorp Vault. См. также поставщик хранилища). В этом случае 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. См. также поставщик хранилища). В этом случае узел является URL-адресом Azure Databricks
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
собственной реализацией, чтобы получить значения из консоли или другого хранилища конфигурации, например 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
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, см. в следующем разделе:
- настройка клиента 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
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, см. в следующем разделе:
- настройка клиента 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
собственной реализацией, чтобы получить значения из консоли или другого хранилища конфигурации, например 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
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 или рабочей областью.