Ротация токена через API

Материал из Документация Ключ-АСТРОМ

Регулярная смена токенов аутентификации Ключ-Астром API является хорошей практикой безопасности. Вы можете использовать Ключ-Астром Cluster API для ротации токенов управления кластером. С помощью Tokens API вы также можете автоматизировать ротацию.

Для доступа к API Кластера:

  1. Откройте Консоль Менеджмента Кластера.
  2. Откройте Меню пользователя по иконке в правом верхнем углу.
  3. Выберите API Кластера v1 / v2.

Ротация токена

Для ротации токенов управления кластером с помощью API Токенов:

  1. Получите идентификатор старого токена. Вам нужен идентификатор, чтобы вы могли отозвать, а затем удалить его. Если вы знаете только сам токен, вам нужно получить идентификатор токена, чтобы отозвать его, а затем удалить. Для этого отправьте запрос на поиск токена, который нужно удалить в качестве полезной нагрузки. Запрос возвращает метаданные токена, включая его ID, который понадобится вам позже.
  2. Создайте новый токен. Чтобы создать новый токен, который заменит устаревший, выполните POST-запрос создания нового токена. Поскольку вы регулярно создаете токен с одними и теми же параметрами, вы можете рассмотреть возможность сохранения его конфигурации в системе контроля версий.
  3. Отозвать старый токен. (Не удаляйте его, прежде чем отозвать его.) Чтобы отозвать старый токен, выполните PUT обновление токена. Вам понадобится значение идентификатора токена, которое вы получили на шаге 1. Отозванный токен нельзя использовать для проверки подлинности, но он все еще существует в вашей среде. Мы рекомендуем подождать неделю, прежде чем удалять отозванный токен, на случай, если в нем возникнет острая необходимость. Точную задержку проверьте в политиках безопасности вашей организации. Если вы хотите сменить токен, который в настоящее время используете для аутентификации вызовов API, замените его новым токеном, созданным на шаге 2.
  4. Удалите старый токен. По истечении периода ожидания, когда старый токен отключен (аннулирован), удалите его. Для этого выполните DELETE удаление токена. Вам понадобится идентификатор токена, который вы получили на шаге 1.

Пример ротации токена

В этом примере предположим, что вы хотите ротировать токен со следующими параметрами:

  • Имя токена — ClusterTokenManager.
  • Область токена включает разрешения ClusterTokenManagement.
  • Текущий токен — 0987654321jihgfedcba.

С помощью API Токенов вы можете автоматизировать ротацию.

1. Получите идентификатор старого токена

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

Отправьте запрос POST на https://<ваш-домен>/api/cluster/v1/tokens/lookup.

Включите эту полезную нагрузку application/json, где 0987654321jihgfedcba — это значение токена:

{
  "token": "0987654321jihgfedcba"
}

Запрос возвращает метаданные токена в полезной нагрузке application/json:

{
  "id": "3cf7c26f-ab12-abc123-ab1a-9340a6cce9a5",
  "name": "ClusterTokenManager",
  "userId": "admin@mycluster.com",
  "revoked": false,
  "created": 1578902397474,
  "lastUse": 1582130541813,
  "scopes": [
    "ClusterTokenManagement"
  ]
}

Сохраните значение идентификатора токена (3cf7c26f-ab12-abc123-ab1a-9340a6cce9a5).

Он понадобится вам позже, чтобы отозвать и удалить этот токен.

2. Создайте новый токен

Отправьте запрос POST на https://<ваш-домен>/api/cluster/v1/tokens.

Включите эту полезную нагрузку application/json:

{
  "name": "ClusterTokenManager",
  "scopes": [
    "ClusterTokenManagement"
  ],
  "expiresIn": {
    "value": 30,
    "unit": "DAYS"
  }
}

Запрос возвращает новый токен в полезной нагрузке application/json:

{
  "token": "jihgfedcba0987654321"
}

3. Отзовите старый токен (3cf7c26f-ab12-abc123-ab1a-9340a6cce9a5)

Сохраненный идентификатор (шаг 1) токена, который необходимо отозвать, а затем удалить: 3cf7c26f-ab12-abc123-ab1a-9340a6cce9a5.

Отправьте запрос PUT с токеном, который нужно отозвать, на https://<ваш-домен>/api/cluster/v1/tokens/3cf7c26f-ab12-abc123-ab1a-9340a6cce9a5.

Включите эту полезную нагрузку application/json:

{
  "revoked": true
}

Успешный запрос обозначается кодом ответа 204. Ответ не возвращает никакого содержимого.

Токен с идентификатором 3cf7c26f-ab12-abc123-ab1a-9340a6cce9a5 отозван.

4. Удалите старый токен (3cf7c26f-ab12-abc123-ab1a-9340a6cce9a5)

Чтобы удалить токен 3cf7c26f-ab12-abc123-ab1a-9340a6cce9a5, отправьте запрос DELETE с идентификатором отозванного токена на https://<ваш-домен>/api/cluster/v1/tokens/3cf7c26f-ab12-abc123-ab1a- 9340a6cce9a5 Успешный запрос обозначается кодом ответа 204. Ответ не возвращает никакого содержимого.

Токен с идентификатором 3cf7c26f-ab12-abc123-ab1a-9340a6cce9a5 теперь удален.