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


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

К другим поддерживаемым подходам для 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 файле, см. одно из следующих элементов:

VS Code

Для расширения Databricks для Visual Studio Code сделайте следующее:

  1. Задайте значения в .databrickscfg файле для операций на уровне рабочей области Azure Databricks, как указано в разделе "Профиль".
  2. В области конфигурации расширения Databricks для Visual Studio Code нажмите кнопку "Настройка Databricks".
  3. В палитре команд для узла Databricks введите URL-адрес рабочей области, напримерhttps://adb-1234567890123456.7.azuredatabricks.net, и нажмите клавишуEnter.
  4. В палитре команд выберите имя целевого профиля в списке 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, см. в следующем разделе:

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, см. в следующем разделе:

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 или рабочей областью.