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


Проверка подлинности с помощью личных маркеров доступа Azure Databricks

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

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

Внимание

Databricks рекомендует использовать OAuth вместо PATs для проверки подлинности и авторизации клиента учетной записи пользователя из-за улучшенной безопасности OAuth. Сведения об использовании OAuth для проверки подлинности клиента с учетной записью пользователя Databricks см. в статье "Проверка подлинности доступа к Azure Databricks с помощью учетной записи пользователя с помощью OAuth (OAuth U2M) (для проверки подлинности учетной записи пользователя).

Обычная проверка подлинности (не на основе токенов) с использованием имени пользователя и пароля Azure Databricks, закончилась 10 июля 2024 г.

Чтобы автоматизировать функциональные возможности уровня учетной записи Azure Databricks, нельзя использовать личные маркеры доступа Azure Databricks. Вместо этого необходимо использовать маркеры идентификатора Microsoft Entra администраторов учетных записей 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 для субъектов-служб

Субъект-служба может создавать для себя личные маркеры доступа Databricks следующим образом:

В этой процедуре предполагается, что вы используете проверку подлинности OAuth на компьютере (M2M) или проверку подлинности субъекта-службы Идентификатора Майкрософт для настройки интерфейса командной строки Databricks для проверки подлинности субъекта-службы для создания собственных маркеров доступа Azure Databricks. См. проверку подлинности субъекта-службы OAuth на компьютере (M2M) или проверку подлинности субъекта-службы идентификатора Microsoft Entra.

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

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

    databricks tokens create --comment <comment> --lifetime-seconds <lifetime-seconds> -p <profile-name>
    
    • --comment: замените <comment> значимым комментарием о назначении маркера доступа. --comment Если параметр не указан, то никаких комментариев не создается.
    • --lifetime-seconds: замените <lifetime-seconds> число секунд, в течение которых маркер доступа действителен. Например, 1 день составляет 86400 секунд. --lifetime-seconds Если параметр не указан, маркер доступа не истекает (не рекомендуется).
    • --profile-name: замените <profile-name> именем профиля конфигурации Azure Databricks, содержащего сведения о проверке подлинности для субъекта-службы и целевой рабочей области. -p Если параметр не указан, интерфейс командной строки Databricks попытается найти и использовать профиль конфигурации с именемDEFAULT.
  2. В ответе скопируйте значение token_value, которое является маркером доступа для субъекта-службы.

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

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

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

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

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

Среда

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

Установите указанные ниже переменные среды.

Профиль

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

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

[<some-unique-configuration-profile-name>]
host  = <workspace-url>
token = <token>

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

Примечание.

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

Чтобы проверить DEFAULT наличие профиля конфигурации и просмотреть параметры этого профиля, если он существует, используйте интерфейс командной строки Databricks для выполнения команды databricks auth env --profile DEFAULT.

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

  1. Используйте интерфейс командной строки Databricks для создания профиля конфигурации Azure Databricks с именемDEFAULT, использующего проверку подлинности маркера личного доступа Azure Databricks. Для этого выполните следующую команду:

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

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

CLI

Для интерфейса командной databricks configure строки Databricks выполните команду. В запросах введите следующие параметры:

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

Connect

Примечание.

Проверка подлинности маркера личного доступа Azure Databricks поддерживается в следующих версиях Databricks Connect:

  • Для Python Databricks Connect для Databricks Runtime 13.3 LTS и выше.
  • Для Scala Databricks Connect для Databricks Runtime 13.3 LTS и более поздних версий.

Для Databricks Connect можно использовать интерфейс командной строки Databricks для задания значений в .databrickscfg файле для операций на уровне рабочей области Azure Databricks, как указано в разделе "Профиль" этой статьи, как показано ниже.

Примечание.

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

Чтобы проверить DEFAULT наличие профиля конфигурации и просмотреть параметры этого профиля, если он существует, используйте интерфейс командной строки Databricks для выполнения команды databricks auth env --profile DEFAULT.

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

  1. Используйте интерфейс командной строки Databricks для создания профиля конфигурации Azure Databricks с именемDEFAULT, использующего проверку подлинности маркера личного доступа Azure Databricks. Для этого выполните следующую команду:

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

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

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

Использование REST API Azure Databricks для выдачи личных маркеров доступа

Azure Databricks предоставляет конечную точку /api/2.0/token/create REST для выдачи PAT. Дополнительные сведения о API см. в статье "Создание маркера пользователя".

Необходимо указать определенные значения REST API. В следующем примере задайте следующие значения:

  • Замените <databricks-instance> URL-адрес рабочей области Databricks. Например, dbc-abcd1234-5678.cloud.databricks.com.
  • Замените <your-existing-access-token> существующий допустимый PAT (строка), имеющий разрешения на создание новых маркеров.

Укажите значения для этих параметров:

  • comment: описание нового маркера.
  • lifetime_seconds: время существования маркера в секундах.
curl -X POST https://<databricks-instance>/api/2.0/token/create \
-H "Authorization: Bearer <your-existing-access-token>" \
-H "Content-Type: application/json" \
-d '{
  "comment": "New PAT using DB API",
  "lifetime_seconds": <lifetime-of-pat-in-seconds>
}'

Флаг -d предоставляет полезные данные JSON для запроса.

В случае успешного выполнения это приводит к полезным данным ответа, аналогичным следующим:

{
  "access_token": "<your-newly-issued-pat>",
  "token_type": "Bearer",
  "expires_in": <the-duration-of-the-new-pat>
}

Укажите новый маркер из ответа в заголовке авторизации последующих вызовов REST API Databricks. Например:

# This example uses a simple GET. For POST or other REST verbs, you may need to provide additional parameters.
curl -X GET "https://<databricks-instance>/api/2.0/<path-to-endpoint>" \
     -H "Authorization: Bearer <your-new-pat>"
import requests

headers = {
    'Authorization': 'Bearer <your-new-pat>'
}
# This example is for an HTTP GET operation.
response = requests.get('https://<databricks-instance>/api/2.0/<path-to-endpoint>', headers=headers)