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


Унифицированная проверка подлинности клиента Databricks

Клиент Databricks централизует настройку и автоматизацию проверки подлинности в Azure Databricks как часть авторизации OAuth. Он позволяет настроить проверку подлинности Databricks один раз, а затем использовать эту конфигурацию в нескольких средствах Databricks и пакетах SDK без дальнейших изменений конфигурации проверки подлинности.

Участвующие средства и пакеты SDK

К участию в средствах Databricks и пакетах SDK относятся:

Все участвующие средства и пакеты SDK принимают специальные переменные среды и профили конфигурации Azure Databricks для проверки подлинности. Поставщик Databricks Terraform и пакеты SDK Databricks для Python, Java и Go также принимают прямую конфигурацию параметров проверки подлинности в коде. Дополнительные сведения см. в разделе "Локальные средства разработки " для документации по инструменту или пакету SDK.

Методы по умолчанию для единой проверки подлинности клиента

Каждый раз, когда средство или пакет SDK должны авторизовать доступ к Azure Databricks, он пытается выполнить следующие типы проверки подлинности в следующем порядке по умолчанию. Когда средство или пакет SDK успешно выполняет проверку подлинности, оно прекращает пытаться использовать остальные методы аутентификации. Чтобы принудительно выполнить авторизацию SDK с использованием определенного типа авторизации, установите значение в поле типа авторизации Databricks API.

  1. Аутентификация с помощью персональных токенов доступа Azure Databricks
  2. Авторизовать непрерывный доступ к ресурсам Azure Databricks с использованием принципала службы через OAuth
  3. авторизовать интерактивный доступ к ресурсам Azure Databricks с помощью учетной записи пользователя с помощью OAuth
  4. Идентификация управляемых идентичностей Azure
  5. Проверка подлинности учетной записи службы MS Entra
  6. Проверка подлинности Azure CLI

Для каждого типа проверки подлинности, который пытается участвующий инструмент или пакет SDK, средство или пакет SDK пытается найти учетные данные проверки подлинности в следующих расположениях в следующем порядке. Когда средство или пакет SDK успешно находит учетные данные проверки подлинности, которые можно использовать, средство или пакет SDK перестает пытаться находить учетные данные проверки подлинности в оставшихся местах.

  1. Поля API, связанные с Config учетными данными (для SDK). Сведения о настройке Config полей см. в справочной документации по пакету SDK.
  2. Переменные среды, связанные с учетными данными.
  3. Поля, связанные с учетными данными, в профиле конфигурации в файле DEFAULT.databrickscfg. Сведения о настройке полей профиля конфигурации см. в разделе (/dev-tools/auth/config-profiles.md).
  4. Соответствующие учетные данные для проверки подлинности, которые кэшируются с помощью Azure CLI. Смотрите аутентификацию Azure CLI.

Чтобы обеспечить максимальную переносимость кода, Databricks рекомендует создать настраиваемый профиль конфигурации в .databrickscfg файле, добавить необходимые поля для целевого типа проверки подлинности Databricks в пользовательский профиль конфигурации, а затем задать DATABRICKS_CONFIG_PROFILE переменную среды в имя пользовательского профиля конфигурации.

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

В следующих таблицах перечислены имена и описания поддерживаемых переменных среды и полей для унифицированной проверки подлинности клиента Databricks. В следующих таблицах:

  • переменная среды, где применимо, — это имя переменной среды.
  • .databrickscfg поле, в котором применимо, — это имя поля в файле профилей конфигурации Azure Databricks. Чтобы настроить поля .databrickscfg, см. профили конфигурации Azure Databricks .
  • Поле Terraform, если применимо, — это название поля в конфигурации Databricks Terraform. Информацию о настройке полей Databricks Terraform см. в разделе Проверка подлинности документации по поставщику Databricks Terraform.
  • Config поле — это имя поля в Config API для указанного SDK.

Общие переменные среды узла, токена и идентификатора учетной записи

Общее имя Описание Переменная среды .databrickscfg поле Terraform ПолеConfig
Узел Azure Databricks (Строка) URL-адрес узла Azure Databricks для конечной точки рабочей области Azure Databricks или конечной точки учетных записей Azure Databricks. DATABRICKS_HOST host host (Python),
setHost (Java),
Host (Вперёд)
Токен Azure Databricks (Строка) Личный маркер доступа Azure Databricks или маркер идентификатора Microsoft Entra. DATABRICKS_TOKEN token token (Python),
setToken (Java),
Token (Вперёд)
Идентификатор учетной записи Azure Databricks (Строка) Идентификатор учетной записи Azure Databricks для конечной точки учетной записи Azure Databricks. Действует только в том случае, если для узла Azure Databricks также задано значение https://accounts.azuredatabricks.net. DATABRICKS_ACCOUNT_ID account_id account_id (Python),
setAccountID (Java),
AccountID (Вперёд)

Переменные и поля среды, относящиеся к Azure

Общее имя Описание Переменная среды .databrickscfg поле Terraform ПолеConfig
Идентификатор клиента Azure (Строка) Идентификатор приложения субъекта-службы Microsoft Entra ID. Используйте аутентификацию управляемых идентификаторов Azure и аутентификацию учетной записи службы Microsoft Entra ID. ARM_CLIENT_ID azure_client_id azure_client_id (Python),
setAzureClientID (Java),
AzureClientID (Вперёд)
Секрет клиента Azure (Строка) Клиентский секрет служебного принципала Microsoft Entra ID. Используйте аутентификацию с использованием принципала службы Microsoft Entra ID. ARM_CLIENT_SECRET azure_client_secret azure_client_secret (Python),
setAzureClientSecret (Java),
AzureClientSecret (Вперёд)
Идентификатор клиента (Строка) Идентификатор клиента управляемого субъекта-службы Azure Databricks или управляемого субъекта-службы Microsoft Entra ID. Используйте аутентификацию OAuth M2M. DATABRICKS_CLIENT_ID client_id client_id (Python),
setClientId (Java),
ClientId (Вперёд)
Секрет клиента (Строка) Секрет клиента управляемого сервисного принципала Azure Databricks или управляемого сервисного принципала Microsoft Entra ID. Используйте аутентификацию OAuth M2M. DATABRICKS_CLIENT_SECRET client_secret client_secret (Python),
setClientSecret (Java),
ClientSecret (Вперёд)
Среда Azure (Строка) Тип среды Azure. По умолчанию — PUBLIC. ARM_ENVIRONMENT azure_environment azure_environment (Python),
setAzureEnvironment (Java),
AzureEnvironment (Вперёд)
Идентификатор клиента Azure (Строка) Идентификатор клиента субъекта-службы Microsoft Entra ID. ARM_TENANT_ID azure_tenant_id azure_tenant_id (Python),
setAzureTenantID (Java),
AzureTenantID (Вперёд)
Использование MSI в Azure (Логический) True, чтобы использовать поток проверки подлинности без пароля управляемого удостоверения службы Azure для субъектов-служб. Требуется также задать идентификатор ресурса Azure. ARM_USE_MSI azure_use_msi AzureUseMSI (Вперёд)
Идентификатор ресурса Azure (Строка) Идентификатор Azure Resource Manager для рабочей области Azure Databricks. DATABRICKS_AZURE_RESOURCE_ID azure_workspace_resource_id azure_workspace_resource_id (Python),
setAzureResourceID (Java),
AzureResourceID (Вперёд)

специфичные для .databrickscfg переменные среды и поля

Используйте эти переменные среды или поля для указания параметров, отличных .databrickscfgот по умолчанию. См. также профили конфигурации Azure Databricks.

Общее имя Описание Переменная среды Поле Terraform ПолеConfig
.databrickscfg Путь к файлу (Строка) Путь, отличный от по умолчанию, к
Файл .databrickscfg.
DATABRICKS_CONFIG_FILE config_file config_file (Python),
setConfigFile (Java),
ConfigFile (Вперёд)
.databrickscfg Профиль по умолчанию (Строка) Используемый по умолчанию именованный профиль, отличный от DEFAULT. DATABRICKS_CONFIG_PROFILE profile profile (Python),
setProfile (Java),
Profile (Вперёд)

Поле типа проверки подлинности

Используйте эту переменную среды или поле, чтобы заставить пакет SDK применять определенный тип проверки подлинности в Databricks.

Общее имя Описание Переменная среды Поле Terraform ПолеConfig
Тип проверки подлинности Databricks (Строка) Если в среде доступны несколько атрибутов проверки подлинности, используйте тип проверки подлинности, указанный этим аргументом. DATABRICKS_AUTH_TYPE auth_type auth_type (Python)
setAuthType (Java)
AuthType (Вперёд)

Поддерживаемые значения типов проверки подлинности в Databricks включают: