Профили конфигурации Azure Databricks

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

Средства, пакеты SDK, скрипты и приложения могут ссылаться на профили конфигурации для проверки подлинности с помощью Azure Databricks. Все инструменты и пакеты SDK, реализующие единую проверку подлинности, поддерживают профили конфигурации.

Что такое профиль конфигурации?

Профиль конфигурации — это именованный раздел в .databrickscfg файле, который содержит следующее:

  • Учетные данные проверки подлинности, такие как маркеры или учетные данные субъекта-службы
  • URL-адрес рабочей среды или учетной записи Azure Databricks
  • Необязательные параметры, относящиеся к методу проверки подлинности

Создайте несколько профилей в одном .databrickscfg файле для управления подключениями к разным рабочим областям или средам, таким как разработка, промежуточное развертывание и рабочая среда.

Создание профиля конфигурации

Создайте профиль конфигурации с помощью интерфейса командной строки Databricks или вручную измените .databrickscfg файл.

Создание профиля с помощью интерфейса командной строки

Самый простой способ создать профиль конфигурации для интерактивной проверки подлинности пользователей — с помощью интерфейса командной строки Databricks:

databricks auth login --host <workspace-url>

Интерфейс командной строки открывает веб-браузер для завершения потока проверки подлинности. После входа интерфейс командной строки сохраняет учетные данные в качестве профиля конфигурации.

Создание профиля вручную

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

  1. Создайте файл с именем .databrickscfg в домашнем каталоге:

    • Unix, Linux, macOS:~/.databrickscfg
    • Windows: %USERPROFILE%\.databrickscfg
  2. Добавьте профиль со следующим форматом:

    [<profile-name>]
    <field-name> = <field-value>
    

    Замените заполнители:

    • <profile-name>: уникальное имя, например DEFAULT, DEVELOPMENTили PRODUCTION
    • <field-name> и <field-value>: поля проверки подлинности для метода проверки подлинности

Например, для проверки подлинности OAuth на компьютере (M2M) файл выглядит следующим образом:.databrickscfg

[DEFAULT]
host          = https://<workspace-url>
client_id     = <client-id>
client_secret = <client-secret>

Создание нескольких профилей

Определите несколько профилей в одном .databrickscfg файле для управления различными рабочими областями или средами. Каждый профиль должен иметь уникальное имя.

[DEFAULT]
host          = https://production-workspace-url
client_id     = <production-client-id>
client_secret = <production-client-secret>

[DEVELOPMENT]
host          = https://dev-workspace-url
client_id     = <dev-client-id>
client_secret = <dev-client-secret>

[STAGING]
host          = https://staging-workspace-url
client_id     = <staging-client-id>
client_secret = <staging-client-secret>

Объединение типов проверки подлинности

Определите несколько методов проверки подлинности в отдельных профилях в файле конфигурации. Это полезно, если вы хотите использовать разные учетные данные для различных рабочих процессов или инструментов. Например, для интерактивного использования можно использовать облачную проверку подлинности и учетные данные OAuth для автоматизации:

[DEFAULT]
host = https://<workspace-url>

[SERVICE_PRINCIPAL]
azure_workspace_resource_id = /subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Databricks/workspaces/<workspace-name>
azure_tenant_id             = <tenant-id>
azure_client_id             = <client-id>
azure_client_secret         = <client-secret>

Дополнительные сведения о типах проверки подлинности и их обязательных полях см. в статье Databricks unified authentication.

Использование профиля конфигурации

После создания профиля конфигурации, используйте его в ваших инструментах и коде. Если имя профиля не указано, средства Azure Databricks и пакеты SDK автоматически используют DEFAULT профиль.

Чтобы использовать профиль, отличный от DEFAULT, укажите его имя:

С помощью интерфейса командной строки Databricks:

databricks workspace list --profile DEVELOPMENT

Используя переменную окружения:

export DATABRICKS_CONFIG_PROFILE=DEVELOPMENT
databricks workspace list

С помощью пакета SDK для Python:

from databricks.sdk import WorkspaceClient

# Specify profile in code
w = WorkspaceClient(profile="DEVELOPMENT")

# Or use environment variable DATABRICKS_CONFIG_PROFILE

Лучшие практики

  • Используйте профиль DEFAULT для наиболее распространенной рабочей области, чтобы свести к минимуму необходимость указания имен профилей.
  • Используйте описательные имена профилей, например PRODUCTION, DEVELOPMENTили STAGING вместо универсальных имен.
  • Защитите .databrickscfg файл, задав разрешения на ограниченные файлы (доступные только для чтения пользователем).
  • Не фиксируйте .databrickscfg в систему управления версиями. Добавьте его в .gitignore файл.
  • Используйте учётные данные службы для рабочих нагрузок вместо личных токенов доступа.
  • Регулярно поворачивайте учетные данные и обновляйте профили соответствующим образом.

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

Если профиль не удается найти, проверьте следующее:

  • Файл .databrickscfg находится в домашнем каталоге.
  • Вы используете точное имя профиля.
  • Файл не называется .databrickscfg.txt или что-то подобное.

Если проверка подлинности завершается ошибкой, проверьте следующее:

  • Ваши учетные данные являются текущими и не истекли.
  • URL-адрес правильный host .
  • У вас есть необходимые разрешения для операций, которые вы пытаетесь выполнить.

Проверьте профили конфигурации с помощью интерфейса командной строки Databricks:

# Inspect a specific profile
databricks auth env --profile DEVELOPMENT

# List all profiles
databricks auth profiles

Дополнительные сведения см. в разделе "Тестирование профилей конфигурации".

Подробнее