# Сервисные токены

подсказка

Этот раздел доступен **Основателю**, **Владельцам** и **Администраторам**.

Не все запросы к приложению приходят от людей. CI/CD пайплайны, мониторинг, скрипты автоматизации — им тоже нужен доступ, но логиниться через браузер они не могут. Для этого существуют сервисные токены — пара Client ID + Client Secret, которая позволяет машинам аутентифицироваться в защищённых приложениях.

## Создание токена

Перейдите в раздел [Сервисные токены](https://my.tuna.am/team_apps_service_tokens) и нажмите **+ Добавить токен**.

![Создание сервисного токена](/docs/img/apps/service_tokens.png)

Укажите:

* **Имя** — понятное название, отражающее назначение: «CI/CD pipeline», «Prometheus», «Backup script».
* **Срок действия** — от 1 дня до 1 года. После истечения токен перестанет работать.

## Использование

После создания Tuna покажет Client ID и Client Secret. **Сохраните секрет** — он показывается только один раз и больше не доступен через интерфейс.

![Реквизиты созданного токена](/docs/img/apps/service_token_created.png)

Для аутентификации передавайте оба значения в заголовках запроса:

```shell
curl -H 'Tuna-Access-Client-Id: sat_...' \
     -H 'Tuna-Access-Client-Secret: ...' \
     https://your-app.example.com/

```

## Привязка к политикам

Сам по себе токен не даёт доступа — он лишь идентифицирует клиента. Чтобы токен мог пройти через политику, добавьте правило с типом **Service Token** и укажите Client ID нужного токена.

Типичный сценарий: создать отдельную политику (например, «Monitoring» на путь `/api/health`) с правилом Service Token — и мониторинг получит доступ только к нужному endpoint, без доступа к остальному приложению.

## Ротация

Если секрет скомпрометирован или просто пришло время его обновить, токен можно ротировать. При ротации генерируется новый секрет, а старый продолжает работать в течение grace-периода (до 60 минут), чтобы вы могли обновить секрет во всех сервисах без простоя.
