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

Примечание.

Эта информация относится к Интерфейсу командной строки Databricks версии 0.205 и выше. Интерфейс командной строки Databricks находится в общедоступной предварительной версии.

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

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

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

Чтобы просмотреть доступные группы команд CLI, выполните команду databricks -h. Список соответствующих операций REST API см. в разделе REST API Databricks.

Сведения о том, как осуществить аутентификацию Microsoft Entra в Databricks с использованием Azure DevOps, см. в разделе Аутентификация с Azure DevOps на Azure Databricks.

OAuth аутентификация "машина-машина" (M2M)

Проверка подлинности на компьютере (M2M) с помощью OAuth позволяет службам, сценариям или приложениям получать доступ к ресурсам Databricks без интерактивного входа пользователя. Вместо того чтобы полагаться на личные токены доступа (PATs) или учетные данные пользователя, M2M-аутентификация использует служебный принципал и поток учетных данных клиента OAuth для запроса и управления токенами.

Чтобы настроить и использовать проверку подлинности OAuth M2M, выполните приведенные ниже действия.

  1. Выполните действия по настройке проверки подлинности OAuth M2M. См. Authorize доступ субъекта-службы к Azure Databricks с помощью OAuth.

  2. Создайте профиль Azure Databricks configuration со следующими полями в файле .databrickscfg.

    Для команд уровня учетной записи

    [<some-unique-configuration-profile-name>]
    host          = <account-console-url>
    account_id    = <account-id>
    client_id     = <service-principal-client-id>
    client_secret = <service-principal-oauth-secret>
    

    Команды уровня рабочей области

    [<some-unique-configuration-profile-name>]
    host          = <workspace-url>
    client_id     = <service-principal-client-id>
    client_secret = <service-principal-oauth-secret>
    

Чтобы использовать профиль, передайте его с флагом --profile или -p в командах CLI. Например:

databricks account groups list -p <profile-name>

Нажмите клавишу TAB после --profile или -p чтобы отобразить список доступных профилей.

Аутентификация OAuth по схеме пользователь - машина (U2M)

При проверке подлинности OAuth пользователь-машина (U2M) вы входите в систему в интерактивном режиме, а интерфейс командной строки управляет короткими токенами от вашего лица. Срок действия токенов OAuth истекает менее чем через час, что снижает риск их случайного раскрытия. См. Авторизация доступа пользователей к Azure Databricks с помощью OAuth.

Чтобы войти в систему:

Для команд уровня учетной записи

databricks auth login --host <account-console-url> --account-id <account-id>

Команды уровня рабочей области

databricks auth login --host <workspace-url>

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

Чтобы использовать профиль, передайте его с флагом --profile или -p в командах CLI. Например:

databricks clusters list -p <profile-name>

Нажмите клавишу TAB после --profile или -p чтобы отобразить список доступных профилей.

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

Azure управляемые удостоверения аутентификация с использованием управляемых удостоверений для ресурсов Azure (ранее Управляемые удостоверения службы (MSI)). См. раздел Что такое управляемые удостоверения для ресурсов Azure?. См. также Аутентификация с помощью управляемых удостоверений в Azure.

Чтобы создать управляемое удостоверение, назначаемое пользователем Azure, сделайте следующее:

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

  2. На виртуальной машине Azure создайте или определите профиль Azure Databricks configuration со следующими полями в файле .databrickscfg. Если вы создаёте профиль, замените заполнители на соответствующие значения.

    Для команд уровня учетной записи задайте следующие значения в .databrickscfg файле:

    [<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 файле:

    [<some-unique-configuration-profile-name>]
    host            = <workspace-url>
    azure_client_id = <azure-managed-identity-application-id>
    azure_use_msi   = true
    

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

  3. На виртуальной машине Azure используйте параметр --profile или -p, а затем укажите имя профиля конфигурации для задания профиля, который Databricks будет использовать, например, databricks account groups list -p <configuration-profile-name> или databricks clusters list -p <configuration-profile-name>.

    Подсказка

    Вы можете нажать Tab, после --profile или -p, чтобы отобразить список существующих доступных профилей конфигурации и выбрать один из них, вместо того чтобы вводить имя профиля конфигурации вручную.

Проверка подлинности учетной записи служб Microsoft Entra ID

Microsoft Entra ID субъект-служба аутентификация использует учетные данные субъекта-службы Microsoft Entra ID для проверки подлинности. Сведения о создании субъектов-служб и управлении ими для Azure Databricks см. в статье Service principals. См. также Аутентификация с использованием служебных принципалов Microsoft Entra.

Чтобы настроить и использовать аутентификацию принципала службы Microsoft Entra ID, необходимо установить Аутентификация с Azure CLI на локальный компьютер. Кроме того, необходимо выполнить следующие действия.

  1. Создайте или определите профиль конфигурации Azure Databricks со следующими полями в вашем файле . Если вы создаёте профиль, замените заполнители на соответствующие значения.

    Для команд уровня учетной записи задайте следующие значения в .databrickscfg файле:

    [<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 файле:

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

    Databricks рекомендует использовать host и явно назначить учётную запись службы Microsoft Entra ID для рабочей области. Кроме того, используйте azure_workspace_resource_id с идентификатором ресурса Azure. Для этого подхода требуются разрешения участника или владельца ресурса Azure или настраиваемая роль с определенными разрешениями Azure Databricks.

  2. Используйте Databricks CLI с опцией --profile или -p, после которых укажите имя вашего конфигурационного профиля, в составе команды Databricks CLI, например databricks account groups list -p <configuration-profile-name> или databricks clusters list -p <configuration-profile-name>.

    Подсказка

    Вы можете нажать Tab, после --profile или -p, чтобы отобразить список существующих доступных профилей конфигурации и выбрать один из них, вместо того чтобы вводить имя профиля конфигурации вручную.

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

С помощью Azure CLI производится аутентификация подключенного пользователя. См. также Аутентификация в Azure CLI.

Чтобы настроить проверку подлинности Azure CLI, выполните следующие действия.

  1. Установите Azure CLI локально.

  2. Используйте Azure CLI для входа в Azure Databricks, выполнив команду az login. См. Вход с помощью Azure CLI.

  3. Создайте или определите профиль конфигурации Azure Databricks со следующими полями в вашем файле . Если вы создаёте профиль, замените заполнители на соответствующие значения.

    Для команд уровня учетной записи задайте следующие значения в .databrickscfg файле:

    [<some-unique-configuration-profile-name>]
    host       = <account-console-url>
    account_id = <account-id>
    

    Для команд уровня рабочей области задайте следующие значения в .databrickscfg файле:

    [<some-unique-configuration-profile-name>]
    host = <workspace-url>
    
  4. Используйте Databricks CLI с опцией --profile или -p, после которых укажите имя вашего конфигурационного профиля, в составе команды Databricks CLI, например databricks account groups list -p <configuration-profile-name> или databricks clusters list -p <configuration-profile-name>.

    Подсказка

    Вы можете нажать Tab, после --profile или -p, чтобы отобразить список существующих доступных профилей конфигурации и выбрать один из них, вместо того чтобы вводить имя профиля конфигурации вручную.

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

Когда CLI Databricks проходит аутентификацию в рабочей области или учетной записи Azure Databricks, он ищет необходимые настройки в следующем порядке:

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

Как только интерфейс командной строки находит необходимый параметр, он перестает выполнять поиск в других расположениях.

Примеры.

  • Если задана переменная среды, интерфейс командной DATABRICKS_TOKEN строки использует её, даже если в .databrickscfg существует несколько токенов.
  • Если не задан DATABRICKS_TOKEN, а пакетная среда ссылается на имя профиля, например, профиля devDEV, интерфейс командной строки использует учетные данные из этого профиля в .databrickscfg.
  • Если DATABRICKS_TOKEN не задан, а среда пакета указывает значение host, то интерфейс командной строки ищет профиль в .databrickscfg с соответствующим host и использует его token.

Авторизация токеном личного доступа (устаревшая версия)

Это важно

По возможности Azure Databricks рекомендует использовать OAuth вместо PATs для проверки подлинности учетной записи пользователя, так как OAuth обеспечивает более надежную безопасность. Рассмотрим следующие методы проверки подлинности:

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

Чтобы создать личный маркер доступа, выполните действия, описанные в разделе "Создание личных маркеров доступа для пользователей рабочей области".