Проверка подлинности с помощью личных маркеров доступа 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, сделайте следующее:
- В рабочей области Azure Databricks щелкните имя пользователя Azure Databricks в верхней строке и выберите "Параметры " в раскрывающемся списке.
- Щелкните "Разработчик".
- Рядом с маркерами доступа нажмите кнопку "Управление".
- Щелкните Generate new token (Создание нового маркера).
- (Необязательно) Введите комментарий, который поможет определить этот маркер в будущем и изменить время существования маркера по умолчанию в течение 90 дней. Чтобы создать маркер без времени существования (не рекомендуется), оставьте поле время существования (дни) пустым (пустым).
- Щелкните Создать.
- Скопируйте отображаемый маркер в безопасное расположение и нажмите кнопку "Готово".
Примечание.
Не забудьте сохранить скопированный маркер в безопасном расположении. Не делитесь скопированным маркером с другими пользователями. Если вы потеряете скопированный маркер, вы не сможете повторно создать тот же маркер. Вместо этого необходимо повторить эту процедуру, чтобы создать новый маркер. Если вы потеряете скопированный маркер или считаете, что маркер скомпрометирован, Databricks настоятельно рекомендует немедленно удалить этот маркер из рабочей области, щелкнув значок корзины (отозвать) рядом с маркером на странице маркеров доступа.
Если вы не можете создавать или использовать маркеры в рабочей области, это может быть связано с тем, что администратор рабочей области отключил маркеры или не предоставил вам разрешение на создание или использование маркеров. Ознакомьтесь с администратором рабочей области или следующими разделами:
Маркеры личного доступа Azure Databricks для субъектов-служб
Субъект-служба может создавать для себя личные маркеры доступа Databricks следующим образом:
В этой процедуре предполагается, что вы используете проверку подлинности OAuth на компьютере (M2M) или проверку подлинности субъекта-службы Идентификатора Майкрософт для настройки интерфейса командной строки Databricks для проверки подлинности субъекта-службы для создания собственных маркеров доступа Azure Databricks. См. проверку подлинности субъекта-службы OAuth на компьютере (M2M) или проверку подлинности субъекта-службы идентификатора Microsoft Entra.
Используйте интерфейс командной строки 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
.
В ответе скопируйте значение
token_value
, которое является маркером доступа для субъекта-службы.Не забудьте сохранить скопированный маркер в безопасном расположении. Не делитесь скопированным маркером с другими пользователями. Если вы потеряете скопированный маркер, вы не сможете повторно создать тот же маркер. Вместо этого необходимо повторить эту процедуру, чтобы создать новый маркер.
Если вы не можете создавать или использовать маркеры в рабочей области, это может быть связано с тем, что администратор рабочей области отключил маркеры или не предоставил вам разрешение на создание или использование маркеров. Обратитесь к администратору рабочей области или следующему:
Выполнение проверки подлинности личного маркера доступа Azure Databricks
Чтобы настроить проверку подлинности маркера личного доступа Azure Databricks, необходимо задать следующие связанные переменные среды, поля, .databrickscfg
поля Terraform или Config
поля:
- Узел Azure Databricks, указанный в качестве целевого URL-адреса Azure Databricks для каждой рабочей области, например
https://adb-1234567890123456.7.azuredatabricks.net
. - Маркер личного доступа Azure Databricks для учетной записи пользователя Azure Databricks.
Чтобы выполнить проверку подлинности маркера личного доступа Azure Databricks, интегрируйте следующий код в соответствии с участвующим средством или пакетом SDK:
Среда
Сведения об использовании переменных среды для определенного типа проверки подлинности Azure Databricks с помощью средства или пакета SDK см. в документации по проверке подлинности к ресурсам Azure Databricks или пакету SDK. См. также переменные среды и поля для единой проверки подлинности клиента и методы по умолчанию для единой проверки подлинности клиента.
Установите указанные ниже переменные среды.
DATABRICKS_HOST
, установите для URL-адреса azure Databricks для каждой рабочей области, напримерhttps://adb-1234567890123456.7.azuredatabricks.net
.DATABRICKS_TOKEN
Значение , задается строкой маркера.
Профиль
Создайте или определите профиль конфигурации 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
следующей команды другим именем профиля конфигурации.
Используйте интерфейс командной строки 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 для каждой рабочей области, например
https://adb-1234567890123456.7.azuredatabricks.net
. - Маркер личного доступа 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 можно использовать интерфейс командной строки Databricks для задания значений в .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 для рабочей области.
В списке доступных кластеров, которые отображаются, используйте клавиши со стрелками вверх и вниз, чтобы выбрать целевой кластер Azure Databricks в рабочей области, а затем нажмите клавишу
Enter
. Вы также можете ввести любую часть отображаемого имени кластера, чтобы отфильтровать список доступных кластеров.
К другим поддерживаемым подходам для Databricks Connect относятся следующие:
- Вручную задайте значения в
.databrickscfg
файле для операций на уровне рабочей области Azure Databricks, как указано в разделе "Профиль" этой статьи. Также задайтеcluster_id
переменную среды в профиле URL-адрес рабочей области, напримерhttps://adb-1234567890123456.7.azuredatabricks.net
. - Задайте переменные среды для операций на уровне рабочей области Azure Databricks, как указано в разделе "Среда". Кроме того, задайте
DATABRICKS_CLUSTER_ID
переменную среды в URL-адресе для каждой рабочей области, напримерhttps://adb-1234567890123456.7.azuredatabricks.net
.
Значения в .databrickscfg
файле всегда имеют приоритет над переменными среды.
Чтобы инициализировать клиент Databricks Connect с этими переменными или значениями среды в .databrickscfg
файле, см. одно из следующих элементов:
- Сведения о Python см. в разделе "Настройка свойств подключения для Python".
- Сведения о Scala см. в разделе "Настройка свойств подключения для Scala".
VS Code
Для расширения Databricks для Visual Studio Code сделайте следующее:
- Задайте значения в
.databrickscfg
файле для операций на уровне рабочей области Azure Databricks, как указано в разделе "Профиль". - В области конфигурации расширения Databricks для Visual Studio Code нажмите кнопку "Настройка Databricks".
- В палитре команд для узла Databricks введите URL-адрес рабочей области, например
https://adb-1234567890123456.7.azuredatabricks.net
, и нажмите клавишуEnter
. - В палитре команд выберите имя целевого профиля в списке URL-адреса.
Дополнительные сведения см. в разделе "Настройка проверки подлинности" расширения Databricks для Visual Studio Code.
Terraform
Для проверки подлинности по умолчанию:
provider "databricks" {
alias = "workspace"
}
Для прямой конфигурации (замените retrieve
заполнители собственной реализацией, чтобы получить значения из консоли или другого хранилища конфигурации, например HashiCorp Vault. См. также поставщик хранилища. В этом случае узел является URL-адресом Azure Databricks для каждой рабочей области, напримерhttps://adb-1234567890123456.7.azuredatabricks.net
:
provider "databricks" {
alias = "workspace"
host = <retrieve-workspace-url>
token = <retrieve-token>
}
Дополнительные сведения о проверке подлинности с помощью поставщика Databricks Terraform см. в разделе "Проверка подлинности".
Python
Для проверки подлинности по умолчанию:
from databricks.sdk import WorkspaceClient
w = WorkspaceClient()
# ...
Для прямой конфигурации (замените retrieve
заполнители собственной реализацией, чтобы получить значения из консоли или другого хранилища конфигурации, например Azure KeyVault). В этом случае узел является URL-адресом Azure Databricks для каждой рабочей области, напримерhttps://adb-1234567890123456.7.azuredatabricks.net
:
from databricks.sdk import WorkspaceClient
w = WorkspaceClient(
host = retrieve_workspace_url(),
token = retrieve_token()
)
# ...
Дополнительные сведения о проверке подлинности с помощью средств Databricks и пакетов SDK, использующих Python и реализующих единую проверку подлинности клиента Databricks, см. в следующем разделе:
- Настройка клиента Databricks Connect для Python
- Настройка проверки подлинности для расширения Databricks для Visual Studio Code
- Проверка подлинности пакета SDK Databricks для Python с помощью учетной записи Или рабочей области Azure Databricks
Java
Для проверки подлинности по умолчанию:
import com.databricks.sdk.WorkspaceClient;
// ...
WorkspaceClient w = new WorkspaceClient();
// ...
Для прямой конфигурации (замените retrieve
заполнители собственной реализацией, чтобы получить значения из консоли или другого хранилища конфигурации, например Azure KeyVault). В этом случае узел является URL-адресом Azure Databricks для каждой рабочей области, напримерhttps://adb-1234567890123456.7.azuredatabricks.net
:
import com.databricks.sdk.WorkspaceClient;
import com.databricks.sdk.core.DatabricksConfig;
// ...
DatabricksConfig cfg = new DatabricksConfig()
.setHost(retrieveWorkspaceUrl())
.setToken(retrieveToken());
WorkspaceClient w = new WorkspaceClient(cfg);
// ...
Дополнительные сведения о проверке подлинности с помощью средств Databricks и пакетов SDK, использующих Java и реализующих единую проверку подлинности клиента Databricks, см. в следующем разделе:
- Настройка клиента Databricks Connect для Scala (клиент Databricks Connect для Scala использует включенный пакет SDK Databricks для Java для проверки подлинности)
- Проверка подлинности пакета SDK Databricks для Java с помощью учетной записи Или рабочей области Azure Databricks
Go
Для проверки подлинности по умолчанию:
import (
"github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient())
// ...
Для прямой конфигурации (замените retrieve
заполнители собственной реализацией, чтобы получить значения из консоли или другого хранилища конфигурации, например Azure KeyVault). В этом случае узел является URL-адресом Azure Databricks для каждой рабочей области, напримерhttps://adb-1234567890123456.7.azuredatabricks.net
:
import (
"github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient(&databricks.Config{
Host: retrieveWorkspaceUrl(),
Token: retrieveToken(),
}))
// ...
Дополнительные сведения о проверке подлинности с помощью средств Databricks и пакетов SDK, использующих Go и реализующих единую проверку подлинности клиента Databricks, см. в статье "Проверка подлинности пакета SDK Databricks для Go" с учетной записью Azure Databricks или рабочей областью.