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