Поделиться через


Проверка подлинности управляемых удостоверений Azure

Проверка подлинности управляемых удостоверений Azure использует управляемые удостоверения для ресурсов Azure (ранее управляемых удостоверений службы (MSI)) для проверки подлинности с помощью Azure Databricks. Программные вызовы к учетной записи Azure Databricks и операциям рабочей области используют это управляемое удостоверение при работе с ресурсами Azure, поддерживающими управляемые удостоверения, такие как виртуальные машины Azure.

Примечание.

Управляемые удостоверения для ресурсов Azure отличаются от субъектов-служб Идентификатора Microsoft Entra, которые Azure Databricks также поддерживает для проверки подлинности. Сведения об использовании субъектов-служб Идентификатора Microsoft Entra для проверки подлинности Azure Databricks вместо управляемых удостоверений для ресурсов Azure см. в следующих статье:

Проверка подлинности управляемых удостоверений 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_AZURE_RESOURCE_ID вместе с идентификатором ресурса Azure для рабочей области Azure Databricks вместо DATABRICKS_HOST URL-адреса рабочей области. В этом случае целевое удостоверение должно иметь по крайней мере разрешения участника или владельца в ресурсе Azure для рабочей области Azure Databricks.

Профиль

Создайте или определите профиль конфигурации Azure Databricks со следующими полями в .databrickscfg файле. При создании профиля замените заполнители соответствующими значениями. Сведения об использовании профиля с инструментом или пакетом SDK см. в статье "Поддерживаемые типы проверки подлинности" с помощью инструмента Azure Databricks или пакета SDK или документации по средству или пакету 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 для каждой рабочей области, напримерhttps://adb-1234567890123456.7.azuredatabricks.net:

[<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.

Связь

Примечание.

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 для каждой рабочей области, напримерhttps://adb-1234567890123456.7.azuredatabricks.net:

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 для каждой рабочей области, напримерhttps://adb-1234567890123456.7.azuredatabricks.net:

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 или рабочей областью.