Проверка подлинности с помощью личных маркеров доступа Azure Databricks
Маркеры личного доступа Azure Databricks используются для проверки подлинности доступа к ресурсам и API на уровне рабочей области Azure Databricks. Многие механизмы хранения для credentials и связанных сведений, таких как переменные среды и профили конфигурации 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, сделайте следующее:
- В рабочей области Azure Databricks щелкните ваше имя пользователя Azure Databricks в верхней строке, а затем selectНастройки в раскрывающемся списке.
- Щелкните "Разработчик".
- Рядом с маркерами доступа нажмите кнопку "Управление".
- Щелкните Generate новый маркер.
- (Необязательно) Введите комментарий, который поможет определить этот маркер в будущем и изменить время существования маркера по умолчанию в течение 90 дней. Чтобы создать маркер без времени существования (не рекомендуется), оставьте поле время существования (дни) пустым (пустым).
- Щелкните Generate.
- Скопируйте отображаемый маркер в безопасное расположение и нажмите кнопку "Готово".
Примечание.
Не забудьте сохранить скопированный маркер в безопасном расположении. Не делитесь скопированным маркером с другими пользователями. Если вы потеряете скопированный маркер, вы не сможете повторно создать тот же маркер. Вместо этого необходимо повторить эту процедуру, чтобы создать новый маркер. Если вы теряете скопированный маркер или считаете, что маркер скомпрометирован, Databricks настоятельно рекомендует немедленно удалить этот маркер из рабочей области, щелкнув значок корзины (Revoke) рядом с маркером на странице маркер доступа.
Если вы не можете создавать или использовать маркеры в рабочей области, это может быть связано с тем, что администратор рабочей области отключил маркеры или не предоставил вам разрешение на создание или использование маркеров. Ознакомьтесь с администратором рабочей области или следующими разделами:
Маркеры личного доступа Azure Databricks для субъектов-служб
Субъект-служба может создавать для себя личные маркеры доступа Databricks следующим образом:
В этой процедуре предполагается, что вы используете
Используйте интерфейс командной строки Databricks для выполнения следующей команды, которая создает другой маркер доступа для субъекта-службы.
Выполните следующую команду:
databricks tokens create --comment <comment> --lifetime-seconds <lifetime-seconds> -p <profile-name>
-
--comment
: замените<comment>
значимым комментарием о назначении маркера доступа.--comment
Если параметр не указан, то никаких комментариев не создается. -
--lifetime-seconds
: замените<lifetime-seconds>
число секунд, в течение которых маркер доступа действителен. Например, 1 день составляет 86400 секунд. Если параметр--lifetime-seconds
не указан, маркер доступа set сохраняется до максимального времени существования для вашей рабочей области. По умолчанию максимальное время существования маркера для рабочей области составляет 730 дней. -
--profile-name
: замените<profile-name>
именем профиля конфигурации Azure Databricks, содержащего сведения о проверке подлинности для субъекта-службы и целевой рабочей области.-p
Если параметр не указан, интерфейс командной строки Databricks попытается найти и использовать профиль конфигурации с именемDEFAULT
.
-
В ответе скопируйте значение
token_value
, которое является маркером доступа для субъекта-службы.Не забудьте сохранить скопированный маркер в безопасном расположении. Не делитесь скопированным маркером с другими пользователями. Если вы потеряете скопированный маркер, вы не сможете повторно создать тот же маркер. Вместо этого необходимо повторить эту процедуру, чтобы создать новый маркер.
Если вы не можете создавать или использовать маркеры в рабочей области, это может быть связано с тем, что администратор рабочей области отключил маркеры или не предоставил вам разрешение на создание или использование маркеров. Обратитесь к администратору рабочей области или следующему:
Выполнение проверки подлинности личного маркера доступа Azure Databricks
Чтобы настроить проверку подлинности маркера личного доступа Azure Databricks, необходимо set следующие связанные переменные среды, .databrickscfg
поля, поля Terraform или поля Config
:
- Узел Azure Databricks, указанный в качестве целевого URL-адреса Azure Databricks
- Маркер личного доступа Azure Databricks для учетной записи пользователя Azure Databricks.
Чтобы выполнить проверку подлинности маркера личного доступа Azure Databricks, интегрируйте следующий код в соответствии с участвующим средством или пакетом SDK:
Среда
Сведения об использовании переменных среды для определенного типа проверки подлинности Azure Databricks с помощью средства или пакета SDK см. в документации по проверке подлинности к ресурсам Azure Databricks или пакету SDK. См. также переменные среды и поля для единой проверки подлинности клиента и методы по умолчанию для единой проверки подлинности клиента.
Set следующие переменные среды:
-
DATABRICKS_HOST
, set к URL-адресу Azure Databricks для каждой рабочей области , например,,https://adb-1234567890123456.7.azuredatabricks.net
. - Добавьте
DATABRICKS_TOKEN
и set в строку токена.
Профиль
Создайте или определите профиль конфигурации Azure Databricks со следующими полями в .databrickscfg
файле. При создании профиля замените заполнители соответствующим values. Чтобы использовать профиль с инструментом или пакетом SDK, ознакомьтесь с документацией по проверке подлинности к ресурсам Azure Databricks или документации по средству или пакету SDK. См. также переменные среды и поля для единой проверки подлинности клиента и методы по умолчанию для единой проверки подлинности клиента.
Set следующее values в вашем .databrickscfg
файле. В этом случае узел является URL-адресом Azure Databricks
[<some-unique-configuration-profile-name>]
host = <workspace-url>
token = <token>
Вместо того чтобы вручную задать предыдущие values в файле .databrickscfg
, можно использовать интерфейс командной строки Databricks для set этих values, как показано ниже.
Примечание.
Следующая процедура использует интерфейс командной строки Databricks для создания профиля конфигурации Azure Databricks с именемDEFAULT
. Если у вас уже есть профиль конфигурации, эта процедура перезаписывает существующий DEFAULT
DEFAULT
профиль конфигурации.
Чтобы проверить DEFAULT
наличие профиля конфигурации и просмотреть параметры этого профиля, если он существует, используйте интерфейс командной строки Databricks для выполнения команды databricks auth env --profile DEFAULT
.
Чтобы создать профиль конфигурации с именем, отличным DEFAULT
от имениDEFAULT
, замените --profile DEFAULT
часть databricks configure
следующей команды другим именем профиля конфигурации.
Используйте интерфейс командной строки Databricks для создания профиля конфигурации Azure Databricks с именем
DEFAULT
, использующего проверку подлинности маркера личного доступа Azure Databricks. Для этого выполните следующую команду:databricks configure --profile DEFAULT
В поле запроса Databricks Host введите URL-адрес Azure Databricks для каждой рабочей области, например
https://adb-1234567890123456.7.azuredatabricks.net
.В поле запроса персональный маркер доступа введите личный маркер доступа Azure Databricks для рабочей области.
CLI
Для интерфейса командной databricks configure
строки Databricks выполните команду. В запросах введите следующие параметры:
- Узел Azure Databricks, указанный в качестве целевого URL-адреса Azure Databricks
- Маркер личного доступа Azure Databricks для учетной записи пользователя Azure 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, примените CLI Databricks для выполнения команды set и values в файле .databrickscfg
для операций на уровне рабочей области Azure Databricks , как указано в разделе "Профиль" этой статьи следующим образом:
Примечание.
Следующая процедура использует интерфейс командной строки Databricks для создания профиля конфигурации Azure Databricks с именемDEFAULT
. Если у вас уже есть профиль конфигурации, эта процедура перезаписывает существующий DEFAULT
DEFAULT
профиль конфигурации.
Чтобы проверить DEFAULT
наличие профиля конфигурации и просмотреть параметры этого профиля, если он существует, используйте интерфейс командной строки Databricks для выполнения команды databricks auth env --profile DEFAULT
.
Чтобы создать профиль конфигурации с именем, отличным DEFAULT
от имени, замените DEFAULT
часть --profile DEFAULT
databricks configure
команды, как показано на следующем шаге, на другое имя профиля конфигурации.
Используйте интерфейс командной строки Databricks для создания профиля конфигурации Azure Databricks с именем
DEFAULT
, использующего проверку подлинности маркера личного доступа Azure Databricks. Для этого выполните следующую команду:databricks configure --configure-cluster --profile DEFAULT
В поле запроса Databricks Host введите URL-адрес Azure Databricks для каждой рабочей области, например
https://adb-1234567890123456.7.azuredatabricks.net
.В поле запроса персональный маркер доступа введите личный маркер доступа Azure Databricks для рабочей области.
В появившемся list доступных кластеров используйте клавиши СТРЕЛКА ВВЕРХ и СТРЕЛКА ВНИЗ, чтобы select целевой кластер Azure Databricks в рабочей области, а затем нажмите
Enter
. Вы также можете ввести любую часть отображаемого имени кластера, чтобы отфильтровать list доступных кластеров.
Использование REST API Azure Databricks для выдачи личных маркеров доступа
Azure Databricks предоставляет конечную точку /api/2.0/token/create
REST для выдачи PAT. Дополнительные сведения о API см. в статье "Создание маркера пользователя".
Необходимо предоставить конкретные данные values для REST API. В следующем примере, set эти values:
- Замените
<databricks-instance>
URL-адрес рабочей области Databricks. Например,dbc-abcd1234-5678.cloud.databricks.com
. - Замените
<your-existing-access-token>
существующий допустимый PAT (строка), имеющий разрешения на создание новых маркеров.
Укажите values для этих parameters:
-
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)