Персональные токены доступа в рамках аккаунта
Пользовательские API-токены устарели и больше не работают. Чтобы восстановить работу сервисов, необходимо перейти на персональные токены доступа.
Каждый пользователь dbt с лицензией Developer, Read-only или IT может создать новый персональный токен доступа (PAT) для доступа к API dbt и CLI dbt. Этот токен позволяет выполнять запросы к API dbt от имени пользователя. Для доступа к API и ресурсам dbt от имени аккаунта мы рекомендуем использовать сервисные токены. Подробнее о различиях между токенами читайте в разделе Какой тип токена следует использовать.
PAT наследуют разрешения пользователя, который их создал. Например, если пользователь с лицензией Developer и ролью Project Admin для определённых проектов создаёт PAT, токен получит роль Project Admin с доступом к тем же проектам, что и пользователь. Эти токены также привязаны к конкретному аккаунту, поэтому, если у пользователя есть доступ к нескольким аккаунтам dbt с одним и тем же адресом электронной почты, ему необходимо создать отдельный PAT для каждого из этих аккаунтов.
Нельзя использовать PAT для создания сервисного токена. Запросы на создание сервисного токена, аутентифицированные с помощью PAT, возвращают ошибку 400 — вместо этого используйте существующий сервисный токен для создания новых.
Создание персонального токена доступа
Создание PAT в рамках аккаунта занимает всего несколько шагов.
- Перейдите в Account Settings, разверните API tokens и выберите Personal tokens.
- Нажмите Create personal access token.
- Задайте токену понятное описание и нажмите Save.
- Скопируйте токен до закрытия окна. После этого он будет недоступен, и в случае утраты вам придётся создать новый токен.
Для соблюдения лучших практик безопасности рекомендуется регулярно ротировать PAT. Для этого создайте новый токен и удалите старый после того, как новый начнёт использоваться.
Удаление персонального токена доступа
Чтобы навсегда удалить PAT:
- Перейдите в Account Settings, разверните API tokens и выберите Personal tokens.
- Найдите токен, который хотите удалить, и нажмите «X» справа от полей с описанием токена.
- Подтвердите удаление (Confirm delete), после чего токен перестанет быть действительным.
Миграция с устаревших пользовательских API-ключей на персональные токены доступа
Переход на PAT является критически важным, если вы сейчас используете пользовательские API-ключи. Текущий API-ключ находится в разделе Personal Settings → API Key.
Если вы используете пользовательский API-ключ, важно понимать следующее:
Если вы сейчас используете пользовательский API-ключ, важно учитывать следующее:
- PAT более безопасны.
- Чтобы обеспечить соблюдение принципа наименьших привилегий и высокий уровень безопасности ваших аккаунтов dbt, мы настоятельно рекомендуем перейти на новые PAT, область действия которых ограничена аккаунтом.
- Необходимо создавать и использовать уникальные токены в каждом из ваших аккаунтов dbt, связанных с одним и тем же адресом электронной почты.
- Например, paul.atreides@example.com состоит в двух аккаунтах dbt: Spice Harvesting Account и Guild Navigator Account. До этого выпуска для доступа к обоим аккаунтам использовался один и тот же API-ключ.
- После этого выпуска Полу необходимо отдельно зайти в каждый из этих аккаунтов и создать уникальный PAT для каждого аккаунта, к API которого он хочет получить доступ. Эти PAT привязаны к конкретному аккаунту, а не к пользователю.
- При использовании PAT поведение API-эндпоинтов для работы с несколькими аккаунтами изменится.
- Речь идет об эндпоинтах /v2/accounts и /v3/accounts. Поскольку теперь все PAT привязаны к конкретному аккаунту, получить все аккаунты, связанные с именем пользователя, невозможно. /v3/accounts будет возвращать только метаданные аккаунта, к которому относится используемый PAT.
- Метаданные аккаунта пользователя будут содержать информацию только о конкретном аккаунте, от имени которого выполняется запрос.
- Информацию о любых других аккаунтах этого пользователя необходимо запрашивать с помощью PAT, принадлежащего соответствующему аккаунту.
Если вы используете недокументированные и неподдерживаемые API-эндпоинты, обратите внимание, что они могут быть выведены из эксплуатации без предварительного уведомления. Если вы используете такие эндпоинты и ваши сценарии использования не покрываются текущим API, пожалуйста, свяжитесь с нами по адресу support@getdbt.com.
Использование персональных токенов доступа
Используете ли вы сейчас пользовательский API-ключ для доступа к API dbt в каких-либо рабочих процессах? Если нет, никаких действий не требуется. Если вы используете пользовательский API-ключ, следуйте приведённым ниже инструкциям.
-
Составьте список всех мест, где вы вызываете API dbt с помощью пользовательского API-ключа dbt.
-
Создайте новый персональный токен доступа (PAT) в разделе Account Settings → API Tokens → Personal Tokens. Инструкции см. в разделе Создание персонального токена доступа.
-
Замените API-ключ в ваших вызовах API на созданный PAT. PAT можно использовать везде, где вы ранее использовали API-ключ.
Чтобы заменить API-ключ на PAT, укажите PAT в заголовке Authorization ваших API-запросов. Например:
Authorization: Bearer <your-token>.Чтобы заменить API-ключ на PAT, передавайте PAT в заголовке Authorization ваших API-запросов. Например:
Authorization: Bearer <your-token>.Убедитесь, что
<your-token>заменён на новый PAT, который вы создали.примечание
Возможность ротации API-ключей предназначена для существующих API-ключей, а не для их замены на PAT. Вам не нужно заменять свой API-ключ на PAT в интерфейсе dbt.
:::
- Убедитесь, что PAT используется только там, где это действительно необходимо. Для сценариев, требующих сервисного аккаунта, используйте сервисный токен.