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


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

Примечание.

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

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

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

Перед выполнением команд ИНТЕРФЕЙСА командной строки Azure 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. См Авторизация доступа сервисного принципала к Azure Databricks с помощью OAuth.

  2. Создайте профиль конфигурации Azure Databricks со следующими полями в .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 помощью команд CLI или -p флага. Например:

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 помощью команд CLI или -p флага. Например:

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 со следующими полями в .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 используйте CLI Databricks для указания профиля конфигурации, используя параметр --profile или -p и следуя за именем вашего профиля. Например, вы можете использовать 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 см. в разделе "Субъекты-службы". См. также аутентификацию с использованием служебных принципалов Microsoft Entra.

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

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

    Для команд уровня учетной записи задайте следующие значения в .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. В качестве альтернативы используйте 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.

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

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

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

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

    Для команд уровня учетной записи задайте следующие значения в .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, чтобы отобразить список существующих доступных профилей конфигурации и выбрать один из них, вместо того чтобы вводить имя профиля конфигурации вручную.

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

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

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

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

Примеры.

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

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

Это важно

Базовая проверка подлинности с помощью имени пользователя и пароля Azure Databricks достигла срока действия 10 июля 2024 г. Чтобы выполнить проверку подлинности с помощью учетной записи Azure Databricks, используйте один из следующих методов проверки подлинности:

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

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