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


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

Примечание.

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

В этой статье описывается настройка проверки подлинности между интерфейсом командной строки Databricks и учетными записями и рабочими областями Azure Databricks. См. сведения о интерфейсе командной строки Databricks?.

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

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

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

Примечание.

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

В следующих разделах содержатся сведения о настройке проверки подлинности между интерфейсом командной строки Databricks и Azure Databricks:

Проверка подлинности маркера личного доступа Azure Databricks

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

Примечание.

Для проверки подлинности с помощью учетной записи Azure Databricks нельзя использовать проверку подлинности с помощью учетной записи Azure Databricks, так как команды уровня учетной записи Azure Databricks не используют личные маркеры доступа Azure Databricks для проверки подлинности. Для проверки подлинности с помощью учетной записи Azure Databricks рекомендуется использовать один из следующих типов проверки подлинности.

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

  1. В рабочей области Azure Databricks щелкните имя пользователя Azure Databricks в верхней строке и выберите "Параметры " в раскрывающемся списке.
  2. Щелкните "Разработчик".
  3. Рядом с маркерами доступа нажмите кнопку "Управление".
  4. Щелкните Generate new token (Создание нового маркера).
  5. (Необязательно) Введите комментарий, который поможет определить этот маркер в будущем и изменить время существования маркера по умолчанию в течение 90 дней. Чтобы создать маркер без времени существования (не рекомендуется), оставьте поле время существования (дни) пустым (пустым).
  6. Щелкните Создать.
  7. Скопируйте отображаемый маркер в безопасное расположение и нажмите кнопку "Готово".

Примечание.

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

Если вы не можете создавать или использовать маркеры в рабочей области, это может быть связано с тем, что администратор рабочей области отключил маркеры или не предоставил вам разрешение на создание или использование маркеров. Обратитесь к администратору рабочей области или следующему:

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

Примечание.

Следующая процедура создает профиль конфигурации Azure Databricks с именем DEFAULT. Если у вас уже есть DEFAULT профиль конфигурации, который вы хотите использовать, пропустите эту процедуру. В противном случае эта процедура перезаписывает существующий DEFAULT профиль конфигурации. Чтобы просмотреть имена и узлы существующих профилей конфигурации, выполните команду databricks auth profiles.

Чтобы создать профиль конфигурации с именем, отличным DEFAULTот имени, добавьте --profile <configuration-profile-name> или -p <configuration-profile-name> в конец следующей databricks configure команды, заменив <configuration-profile-name> его именем нового профиля конфигурации.

  1. Используйте интерфейс командной строки Databricks, чтобы выполнить следующую команду:

    databricks configure
    
  2. В поле запроса Databricks Host введите URL-адрес Azure Databricks для каждой рабочей области, напримерhttps://adb-1234567890123456.7.azuredatabricks.net.

  3. В поле запроса персональный маркер доступа введите личный маркер доступа Azure Databricks для рабочей области.

    После ввода личного маркера доступа Azure Databricks в файл добавляется .databrickscfg соответствующий профиль конфигурации. Если интерфейс командной строки Databricks не может найти этот файл в своем расположении по умолчанию, он сначала создает этот файл, а затем добавляет этот профиль конфигурации в новый файл. Расположение по умолчанию для этого файла находится в папке (дома пользователя) в ~ Unix, Linux или macOS или %USERPROFILE% вашей (домашней) папке в Windows.

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

Проверка подлинности на компьютере (M2M) OAuth

Вместо проверки подлинности с помощью Azure Databricks с помощью проверки подлинности личного маркера доступа Azure Databricks можно использовать проверку подлинности OAuth. OAuth предоставляет маркеры с более быстрым временем истечения срока действия, чем личные маркеры доступа Azure Databricks, и предлагает более эффективное недопустимое и области сеанса на стороне сервера. Так как срок действия маркеров доступа OAuth истекает менее чем за час, это снижает риск, связанный с случайной проверкой маркеров в систему управления версиями. См. также проверку подлинности OAuth на компьютере (M2M).

Чтобы настроить и использовать проверку подлинности OAuth M2M, сделайте следующее:

  1. Выполните инструкции по настройке проверки подлинности OAuth M2M. См. сведения о проверке подлинности на компьютере (M2M) OAuth

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

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

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

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

    Примечание.

    Расположение по умолчанию для .databrickscfg файла находится в домашнем каталоге пользователя. Это для ~ Linux и macOS, а %USERPROFILE% также для Windows.

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

    Совет

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

Проверка подлинности пользователей и компьютеров OAuth (U2M)

Вместо проверки подлинности с помощью Azure Databricks с помощью проверки подлинности маркера можно использовать проверку подлинности OAuth. OAuth предоставляет маркеры с более быстрым временем истечения срока действия, чем личные маркеры доступа Azure Databricks, и предлагает более эффективное недопустимое и области сеанса на стороне сервера. Так как срок действия маркеров доступа OAuth истекает менее чем за час, это снижает риск, связанный с случайной проверкой маркеров в систему управления версиями. См. также проверку подлинности OAuth на компьютере (U2M).

Чтобы настроить и использовать проверку подлинности OAuth U2M, сделайте следующее:

  1. Перед вызовом команд уровня учетной записи Azure Databricks необходимо локально инициировать управление маркерами OAuth, выполнив следующую команду. Эта команда должна выполняться отдельно для каждой учетной записи, для которой требуется выполнить команды. Если вы не хотите вызывать операции на уровне учетной записи, перейдите к шагу 5.

    В следующей команде замените следующие заполнители:

    databricks auth login --host <account-console-url> --account-id <account-id>
    
  2. Интерфейс командной строки Databricks предлагает сохранить URL-адрес консоли учетной записи и идентификатор учетной записи локально в качестве профиля конфигурации Azure Databricks. Нажмите, Enter чтобы принять предлагаемое имя профиля, или введите имя нового или существующего профиля. Любой существующий профиль с тем же именем перезаписан с помощью этого URL-адреса консоли учетной записи и идентификатора учетной записи.

    Чтобы получить список существующих профилей, в отдельном терминале или командной строке выполните команду databricks auth profiles. Чтобы просмотреть существующие параметры конкретного профиля, выполните команду databricks auth env --profile <profile-name>.

  3. В веб-браузере выполните инструкции на экране, чтобы войти в учетную запись Azure Databricks.

  4. Чтобы просмотреть текущее значение маркера OAuth и следующую метку времени окончания срока действия, выполните команду databricks auth token --host <account-console-url> --account-id <account-id>.

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

    В следующей команде замените <workspace-url> URL-адрес Azure Databricks для каждой рабочей области, напримерhttps://adb-1234567890123456.7.azuredatabricks.net.

    databricks auth login --host <workspace-url>
    
  6. Интерфейс командной строки Databricks предлагает сохранить URL-адрес рабочей области локально в качестве профиля конфигурации Azure Databricks. Нажмите, Enter чтобы принять предлагаемое имя профиля, или введите имя нового или существующего профиля. Любой существующий профиль с тем же именем перезаписан с помощью этого URL-адреса рабочей области.

    Чтобы получить список существующих профилей, в отдельном терминале или командной строке выполните команду databricks auth profiles. Чтобы просмотреть существующие параметры конкретного профиля, выполните команду databricks auth env --profile <profile-name>.

  7. В веб-браузере выполните инструкции на экране, чтобы войти в рабочую область Azure Databricks.

  8. Чтобы просмотреть текущее значение маркера OAuth и следующую метку времени окончания срока действия, выполните команду databricks auth token --host <workspace-url>.

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

    Совет

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

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

Для проверки подлинности управляемых удостоверений Azure используются управляемые удостоверения для ресурсов Azure (ранее управляемые удостоверения службы (MSI)). См. статью Что такое управляемые удостоверения для ресурсов 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
    

    Для команд уровня рабочей области, если целевое удостоверение еще не добавлено в рабочую область, укажите azure_workspace_resource_id вместе с идентификатором ресурса Azure вместо host URL-адреса рабочей области. В этом случае целевое удостоверение должно иметь по крайней мере разрешения участника или владельца ресурса Azure.

    Примечание.

    Расположение по умолчанию для .databrickscfg файла находится в домашнем каталоге пользователя. Это для ~ Linux и macOS, а %USERPROFILE% также для Windows.

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

    Совет

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

Проверка подлинности субъекта-службы идентификатора Microsoft Entra

Для проверки подлинности субъекта-службы идентификатора 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>
    

    Для команд уровня рабочей области, если целевой субъект-служба Microsoft Entra ID еще не добавлена в рабочую область, а затем host укажите azure_workspace_resource_id вместе с идентификатором ресурса Azure вместо URL-адреса рабочей области. В этом случае целевой субъект-служба Идентификатора Microsoft Entra должна иметь по крайней мере разрешения участника или владельца ресурса Azure.

    Примечание.

    Расположение по умолчанию для .databrickscfg файла находится в домашнем каталоге пользователя. Это для ~ Linux и macOS, а %USERPROFILE% также для Windows.

  2. Используйте интерфейс командной строки --profile Databricks или -p параметр, за которым следует имя профиля конфигурации, в рамках вызова команды CLI Databricks, например 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 с учетной записью пользователя Azure Databricks.

  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>
    

    Примечание.

    Расположение по умолчанию для .databrickscfg файла находится в домашнем каталоге пользователя. Это для ~ Linux и macOS, а %USERPROFILE% также для Windows.

  4. Используйте интерфейс командной строки --profile Databricks или -p параметр, за которым следует имя профиля конфигурации, в рамках вызова команды CLI Databricks, например 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 находит необходимые параметры, он останавливает поиск в других местах. Например:

  • Интерфейс командной строки Databricks требует значения личного маркера доступа Azure Databricks. Задана DATABRICKS_TOKEN переменная среды, а .databrickscfg файл также содержит несколько личных маркеров доступа. В этом примере интерфейс командной строки Databricks использует значение переменной DATABRICKS_TOKEN среды и не ищет .databrickscfg файл.
  • Для databricks bundle deploy -e development команды требуется значение личного маркера доступа Azure Databricks. Переменная DATABRICKS_TOKEN среды не задана, а .databrickscfg файл содержит несколько личных маркеров доступа. Файл параметров пакета проекта содержит объявление среды, которое ссылается development на его profile поле профиля конфигурации с именем DEV. В этом примере интерфейс командной строки Databricks выполняет поиск .databrickscfg файла для профиля с именем DEV и использует значение поля этого профиля token .
  • Для databricks bundle run -e development hello-job команды требуется значение личного маркера доступа Azure Databricks. Переменная DATABRICKS_TOKEN среды не задана, а .databrickscfg файл содержит несколько личных маркеров доступа. Файл параметров пакета проекта содержит development объявление среды, которое ссылается на его host поле с определенным URL-адресом рабочей области Azure Databricks. В этом примере интерфейс командной строки Databricks выполняет поиск по профилям конфигурации в .databrickscfg файле для профиля, содержащего host поле с соответствующим URL-адресом рабочей области. Интерфейс командной строки Databricks находит соответствующее host поле, а затем использует значение поля этого профиля token .