Проверка подлинности управляемых удостоверений Azure
Проверка подлинности управляемых удостоверений Azure использует управляемые удостоверения для ресурсов Azure (ранее управляемых удостоверений службы (MSI)) для проверки подлинности с помощью Azure Databricks. Программные вызовы к учетной записи Azure Databricks и операциям рабочей области используют это управляемое удостоверение при работе с ресурсами Azure, поддерживающими управляемые удостоверения, такие как виртуальные машины Azure.
- Сведения об управляемых удостоверениях см. в статье "Что такое управляемые удостоверения для ресурсов Azure?".
- Чтобы узнать, как создать управляемое удостоверение и предоставить ему разрешение на доступ к учетным записям и рабочим областям Azure Databricks, см. статью "Настройка и использование проверки подлинности управляемых удостоверений Azure для автоматизации Azure Databricks".
Примечание.
Управляемые удостоверения для ресурсов Azure отличаются от субъектов-служб Идентификатора Microsoft Entra, которые Azure Databricks также поддерживает для проверки подлинности. Сведения об использовании субъектов-служб Идентификатора Microsoft Entra для проверки подлинности Azure Databricks вместо управляемых удостоверений для ресурсов Azure см. в следующих статье:
- Проверка подлинности субъекта-службы MS Entra
- Проверка подлинности Azure CLI
- Управление субъектами-службами
- Подготовка субъекта-службы с помощью Terraform
- Получение маркеров идентификатора Microsoft Entra для субъектов-служб
- Вход Azure CLI с помощью субъекта-службы Идентификатора Microsoft Entra
- Имя входа PowerShell с субъектом-службой Идентификатора Microsoft Entra
Проверка подлинности управляемых удостоверений Azure поддерживается только между правильно настроенными ресурсами, поддерживающими управляемые удостоверения, такие как виртуальные машины Azure (виртуальные машины Azure) и учетные записи Azure Databricks и рабочие области.
Чтобы настроить проверку подлинности управляемых удостоверений Azure с помощью Azure Databricks, необходимо задать следующие связанные переменные среды, поля, .databrickscfg
поля Terraform или Config
поля на правильно поддерживаемой виртуальной машине Azure:
- Узел Azure Databricks.
- Для операций с учетной записью укажите
https://accounts.azuredatabricks.net
. - Для операций с рабочей областью укажите URL-адрес рабочей области, например
https://adb-1234567890123456.7.azuredatabricks.net
.
- Для операций с учетной записью укажите
- Для операций с учетной записью идентификатор учетной записи Azure Databricks.
- Идентификатор клиента управляемого удостоверения.
- Идентификатор клиента управляемого удостоверения.
- ИД ресурса Azure.
- Задайте для Azure значение true для управляемых удостоверений.
Чтобы выполнить проверку подлинности управляемых удостоверений Azure с помощью Azure Databricks, интегрируйте следующее в код на основе средства или пакета SDK:
Среда
Сведения об использовании переменных окружения для определенного типа проверки подлинности Azure Databricks с помощью средства или пакета SDK смотрите в статье авторизация доступа к ресурсам Azure Databricks или документацию для средства или пакета SDK. См. также переменные среды и поля для единой проверки подлинности клиента и методы по умолчанию для единой проверки подлинности клиента.
Для операций на уровне учетной записи задайте следующие переменные среды:
-
DATABRICKS_HOST
, установите значение URL-адреса консоли учетной записи Azure Databricks.https://accounts.azuredatabricks.net
DATABRICKS_ACCOUNT_ID
ARM_CLIENT_ID
-
ARM_USE_MSI
, задано значениеtrue
.
Для операций на уровне рабочей области задайте следующие переменные среды:
-
DATABRICKS_HOST
, установите значение URL-адреса azure Databricks ARM_CLIENT_ID
-
ARM_USE_MSI
, задано значениеtrue
.
Для операций на уровне рабочей области, если целевое удостоверение еще не добавлено в рабочую область, укажите DATABRICKS_AZURE_RESOURCE_ID
вместе с идентификатором ресурса Azure для рабочей области Azure Databricks вместо DATABRICKS_HOST
URL-адреса рабочей области. В этом случае целевое удостоверение должно иметь по крайней мере разрешения участника или владельца в ресурсе 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_client_id = <azure-managed-identity-application-id>
azure_use_msi = true
Для операций на уровне рабочей области задайте следующие значения в .databrickscfg
файле. В этом случае узел является URL-адресом Azure Databricks
[<some-unique-configuration-profile-name>]
host = <workspace-url>
azure_client_id = <azure-managed-identity-application-id>
azure_use_msi = true
Для операций на уровне рабочей области, если целевое удостоверение еще не добавлено в рабочую область, укажите azure_workspace_resource_id
вместе с идентификатором ресурса Azure для рабочей области Azure Databricks вместо host
URL-адреса рабочей области. В этом случае целевое удостоверение должно иметь по крайней мере разрешения участника или владельца в ресурсе Azure для рабочей области Azure Databricks.
CLI
Для интерфейса командной строки Databricks выполните одно из следующих действий:
- Задайте переменные среды, указанные в разделе "Среда".
- Задайте значения в файле, как указано в разделе "Профиль" этой
.databrickscfg
статьи.
Переменные среды всегда имеют приоритет над значениями в .databrickscfg
файле.
См. также проверку подлинности управляемых удостоверений Azure.
Connect
Примечание.
Databricks Connect использует пакет SDK Databricks для Python для проверки подлинности. Пакет SDK Databricks для Python еще не реализовал проверку подлинности управляемых удостоверений Azure.
VS Code
Примечание.
Расширение Databricks для Visual Studio Code пока не поддерживает проверку подлинности управляемых удостоверений Azure.
Terraform
Для операций на уровне учетной записи для проверки подлинности по умолчанию:
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_client_id = <retrieve-azure-client-id>
azure_use_msi = true
}
Для операций на уровне рабочей области для проверки подлинности по умолчанию:
provider "databricks" {
alias = "workspace"
}
Для прямой конфигурации (замените retrieve
заполнители собственной реализацией, чтобы получить значения из консоли или другого хранилища конфигурации, например HashiCorp Vault. См. также поставщик хранилища. В этом случае узел является URL-адресом Azure Databricks
provider "databricks" {
alias = "workspace"
host = <retrieve-workspace-url>
azure_client_id = <retrieve-azure-client-id>
azure_use_msi = true
}
Для операций на уровне рабочей области, если целевое удостоверение еще не добавлено в рабочую область, укажите azure_workspace_resource_id
вместе с идентификатором ресурса Azure для рабочей области Azure Databricks вместо host
URL-адреса рабочей области. В этом случае целевое удостоверение должно иметь по крайней мере разрешения участника или владельца в ресурсе Azure для рабочей области Azure Databricks.
Дополнительные сведения о проверке подлинности с помощью поставщика Databricks Terraform см. в разделе "Проверка подлинности".
Python
Примечание.
Пакет SDK Databricks для Python еще не реализовал проверку подлинности управляемых удостоверений Azure.
Java
Примечание.
Пакет SDK Databricks для Java еще не реализовал проверку подлинности управляемых удостоверений Azure.
Go
Для операций на уровне учетной записи для проверки подлинности по умолчанию:
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(),
AzureClientId: retrieveAzureClientId(),
AzureUseMSI: true,
}))
// ...
Для операций на уровне рабочей области для проверки подлинности по умолчанию:
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(),
AzureClientId: retrieveAzureClientId(),
AzureUseMSI: true,
}))
// ...
Для операций на уровне рабочей области, если целевое удостоверение еще не добавлено в рабочую область, укажите AzureResourceID
вместе с идентификатором ресурса Azure для рабочей области Azure Databricks вместо Host
URL-адреса рабочей области. В этом случае целевое удостоверение должно иметь по крайней мере разрешения участника или владельца в ресурсе Azure для рабочей области Azure Databricks.
Дополнительные сведения о проверке подлинности с помощью средств Databricks и пакетов SDK, использующих Go и реализующих единую проверку подлинности клиента Databricks, см. в статье "Проверка подлинности пакета SDK Databricks для Go" с учетной записью Azure Databricks или рабочей областью.