Перейти к содержанию

API токены

В Консоли управления Вебмониторэкс → Настройки → Токены API вы можете управлять токенами для аутентификации запросов API.

Создание токена API Вебмониторэкс

Данный раздел доступен для всех ролей, кроме Только чтение и Разработчик API.

Настройка токенов

Пользователи могут создавать собственные токены и использовать их (просматривать значение токена и включать его в запрос API для его аутентификации). Для каждого своего токена вы можете установить права доступа, но не шире тех, которые есть у вашего пользователя. При желании вы можете установить дату истечения срока действия токена — если она установлена, токен будет отключен после этой даты. Кроме того, вы можете отключить/включить свои токены вручную.

Вы можете обновить значение токена в любой момент.

Администраторы/Глобальные администраторы могут просматривать и управлять всеми токенами в учетной записи компании. Помимо частных токенов, они могут создавать общие токены, которые могут просматривать/использовать другие администраторы. При указании прав для токенов можно выбрать получение этих прав от выбранной роли:

  • Администратор
  • Аналитик
  • Разработчик API
  • Только чтение

  • Деплой – токены API с этой ролью используются для развертывания ноды Вебмониторэкс

  • Пользовательская – переключает обратно на ручной выбор прав

Конфиденциальность токена

Никакие другие пользователи (даже администраторы) не могут использовать ваши личные токены (просматривать или копировать токены). Кроме того, пользователи, не являющиеся администраторами, даже не увидят ваши токены.

Обратите внимание:

  • Если владелец токена отключен, все его токены также автоматически отключаются.

  • Если у владельца токена были уменьшены права, то соответствующие права будут удалены со всех его токенов.

  • Все отключенные токены автоматически удаляются через неделю после отключения.

  • Чтобы включить ранее отключенный токен, сохраните его с новым сроком действия.

Создание токенов с правами глобальных ролей

Чтобы создать токен API с правами, основанными на глобальных ролях, таких как глобальный администратор, глобальный аналитик или глобальный только чтение, выполните следующие действия:

  1. Войдите в Консоль управления Вебмониторэкс под соответствующим пользователем.

  2. В правом верхнем углу выберите ?Wallarm API Console.
    Консоль WebmonitorX API открыта: https://apiconsole.ru1.wallarm.ru/

Обратите внимание, что Консоль WebmonitorX API получает данные аутентификации из Консоли управления Вебмониторэкс. Если вы смените пользователя в Консоли управления Вебмониторэкс, обновите страницу Консоли WebmonitorX API для новой аутентификации.

  1. Отправьте POST-запрос на маршрут /v2/api_tokens со следующими параметрами:

    {
    "client_id": <CLIENT_ID>,
    "realname": "<NAME_FOR_YOUR_API_TOKEN>",
    "user_id": <USER_ID>,
    "enabled": true,
    "expire_at": "<TOKEN_EXPIRATION_DATE_AND_TIME>",
    "permissions": [
        "<REQUIRED_GLOBAL_ROLE>"
    ]
    } 
    

    Где:
    * <NAME_FOR_YOUR_API_TOKEN> рекомендуется для пояснения к назначению токена.
    * <USER_ID> определяет пользователя, которому принадлежит токен, а <CLIENT_ID> – учетную запись компании, которой принадлежит этот пользователь.

    Получите эти идентификаторы, отправив POST-запрос по маршруту /v1/user.
  • <TOKEN_EXPIRATION_DATE_AND_TIME> в формате ISO 8601, например 2033-06-13T04:56:01.037Z.

  • <REQUIRED_GLOBAL_ROLE> может быть:

    • Partner_admin для Глобального администратора
    • Partner_analytic для Глобального аналитика
    • Partner_auditor для Только чтение глобально
    Пример
    {
        "client_id": 1010,
        "realname": "Token for tenant creation",
        "user_id": 10101011,
        "enabled": true,
        "expire_at": "2033-06-13T04:56:01.037Z",
        "permissions": [
    "partner_admin"
    ]
    }
    

    Этот запрос создает токен API с правами глобального администратора, который можно использовать для создания тенанта.

  1. Из ответа получите id созданного токена и отправьте GET-запрос по маршруту /v2/api_tokens/{id}/secret, используя этот id.

  2. Скопируйте secret значение из ответа и используйте его в качестве API токена для аутентификации запроса.

    Копирование токена из Консоли управления Вебмониторэкс

    Так как созданный API токен отображается в Консоли управления Вебмониторэкс, вы можете скопировать его из списка токенов в разделе Настройки → API Токены.

Токены с обратной совместимостью

Раньше для аутентификации запроса использовались UUID и секретный ключ, которые теперь заменены токенами. UUID и секретный ключ, которые вы использовали, автоматически преобразуются в обратно совместимый токен. С этим токеном запросы, аутентифицированные с помощью UUID и секретного ключа, будут продолжать работать.

Копирование токена из Консоли управления Вебмониторэкс

Если вы обновите значение обратно совместимого токена или включите SSO/строгий SSO для владельца этого токена, обратная совместимость прекратится – все запросы, аутентифицированные со старым UUID и секретным ключом, перестанут работать.

Вы также можете использовать сгенерированное значение обратно совместимого токена, передав его в параметре заголовка X-WallarmApi-Token ваших запросов.

Токен обратной совместимости имеет те же права, что и роль пользователя, эти права не отображаются в окне токена и не могут быть изменены. Если вы хотите контролировать права, вам необходимо удалить обратно совместимый токен и создать новый.

Токены API и токены ноды

Вы можете использовать токены API, описанные в этой статье, для аутентификации запросов Вычислительного кластера Вебмониторэкс API от любого клиента и с любым набором прав.

Одним из клиентов, обращающихся к Вычислительному кластеру Вебмониторэкс API, является сама нода фильтрации Вебмониторэкс. Для доступа фильтрующей ноды к Вычислительному кластеру Вебмониторэкс необходимо использовать API-токен с ролью «Деплой» либо токен Ноды.

Токены API не поддерживаются некоторыми вариантами развертывания

Токены API в настоящее время нельзя использовать для контроллеров Kong Ingress и развертываний Sidecar. Вместо этого используйте токены ноды.