---
title: 'Аутентификация запросов'
description: 'Как осуществлять аутентификацию запросов с помощью IAM-токенов или статических токенов, какие токены использовать для разных продуктов'
---

import { CustomTable } from '@selectel/docux/components';

В зависимости от [продукта](#supported-tokens-in-apis) или его ресурса для работы с API продуктов Selectel и аутентификации запросов вместо логина и пароля используются:

* IAM-токены — выписываются [сервисным пользователям](/access-control/user-types/#service-users). Время жизни токена — 24 часа. IAM-токены передаются в заголовке `X-Auth-Token` и имеют разную область действия:

  * [IAM-токены для аккаунта](#iam-token-account-scoped) (`iam_token_account_scoped`) — для управления ресурсами, привязанными к аккаунту;
  * [IAM-токены для проекта](#iam-token-project-scoped) (`iam_token_project_scoped`) — для управления ресурсами, привязанными к проекту;
* [статические токены](#static-token) (`static_token`) — выписываются [пользователям панели](/access-control/user-types/#panel-users) и используются для управления ресурсами, привязанными к аккаунту. Время жизни токена не ограничено. Статические токены передаются в заголовке `X-Token`.

Адрес (URL) для обращения в запросах можно посмотреть в [списке URL](/api/urls/).

Вы можете [ограничить доступ](/account/limit-access-to-account/) к API по адресам, которые включают в себя `https://api.selectel.ru`.

## IAM-токен для аккаунта (X-Auth-Token) \{#iam-token-account-scoped}

:::info

IAM-токен для аккаунта можно выписать только [сервисному пользователю](/access-control/user-types/#service-users).

:::

Токен передается в заголовке `X-Auth-Token`.

IAM-токен для аккаунта (`iam_token_account_scoped`) дает доступ к управлению большинством продуктов Selectel и объектами OpenStack API наравне с логином и паролем в панели управления [my.selectel.ru](https://my.selectel.ru/).
Позволяет управлять ресурсами аккаунта.

Время жизни токена — 24 часа.

Токен позволяет управлять:

* [пользователями и ролями (IAM)](/api/users-and-roles/) и [федерациями](/api/federations/);
* [балансом](/api/balance/) и [статистикой потребления](/api/balance-statistics/);
* [выделенными серверами](/api/dedicated/);
* объектами OpenStack API (облачными серверами, сетевыми дисками и другими) с помощью API [проекты и ресурсы облачной платформы](/api/cloud-projects-and-resources/), [квоты и лимиты проекта](/api/quota-management/), подробнее в [документации OpenStack](https://docs.openstack.org/2023.1/);
* [глобальным роутером](/api/global-router/);
* [DNS-хостингом (legacy)](/api/dns-legacy/);
* [мобильной фермой](/api/mobile-farm/).

### Получить IAM-токен для аккаунта \{#get-iam-token-account-scoped}

Выписывать IAM-токен для аккаунта можно [сервисным пользователям](/access-control/user-types/#service-users), у которых есть разрешение, где выбрана [область доступа](/access-control/access-management/#scopes) Аккаунт.

:::info

Если вы используете Windows, в запросах замените одинарные кавычки (<code>''</code>) на двойные (<code>""</code>). Мы также рекомендуем использовать для запросов PowerShell и не использовать CMD.

:::

1. Выполните запрос:

```bash
 curl -i -XPOST \
 -H 'Content-Type: application/json' \
 -d '{"auth":{"identity":{"methods":["password"],"password":{"user":{"name":"<username>","domain":{"name":"<account_id>"},"password":"<password>"}}},"scope":{"domain":{"name":"<account_id>"}}}}' \
 'https://cloud.api.selcloud.ru/identity/v3/auth/tokens'
```

Укажите:

* `<username>` — имя сервисного пользователя. Посмотреть имя можно в [панели управления](https://my.selectel.ru/iam/service-users): в верхнем меню нажмите **IAM** → раздел **Сервисные пользователи** (раздел доступен только [Владельцу аккаунта](/access-control/user-types/#account-owner) и пользователю с ролью [`iam.admin`](/access-control/role-reference/#iam-admin));
* `<account_id>` — номер аккаунта. Можно посмотреть в [панели управления](https://my.selectel.ru/) в правом верхнем углу;
* `<password>` — пароль сервисного пользователя, можно посмотреть при создании пользователя или [изменить на новый](/access-control/manage/edit-user-data-or-role/#change-service-user-password).

При успешной авторизации вернется ответ с кодом `201 Created` в формате:

```
HTTP/2 201
X-Subject-Token: token
```

2. В заголовке `X-Subject-Token` посмотрите токен.

## IAM-токен для проекта (X-Auth-Token) \{#iam-token-project-scoped}

:::info

IAM-токен для проекта можно выписать только [сервисному пользователю](/access-control/user-types/).

:::

Токен передается в заголовке `X-Auth-Token`.

IAM-токен для проекта (`iam_token_project_scoped`) дает доступ к управлению большинством продуктов Selectel и объектами OpenStack API наравне с логином и паролем в панели управления [my.selectel.ru](https://my.selectel.ru/).
Позволяет управлять ресурсами проекта.

Время жизни токена — 24 часа.

Токен позволяет управлять:

* [выделенными серверами](/api/dedicated/);
* объектами OpenStack API (облачными серверами, сетевыми дисками и другими) с помощью API [проекты и ресурсы облачной платформы](/api/cloud-projects-and-resources/), [квоты и лимиты проекта](/api/quota-management/), подробнее в [документации OpenStack](https://docs.openstack.org/2023.1/);
* облачной платформой — [прямые публичные IP-адреса](/api/cloud-public-network/), [приватный DNS](/api/private-dns/), [облачные базы данных](/api/managed-databases/), [Managed Kubernetes](/api/managed-kubernetes/), [Container Registry](/api/craas/), менеджер секретов ([секреты](/api/secrets-manager/), [сертификаты](/api/certificates-manager/), [сертификаты Let’s Encrypt®](/api/lets-encrypt-certificates/));
* S3 ([Swift API](/api/object-storage-swift/) и [Object Storage API](/api/object-storage/));
* [DNS-хостингом](/api/dns-actual/);
* [почтовым сервисом Selectel](/api/email-service/);
* [готовым облаком 1С](/api/1c-cloud/);
* [аудит-логами](/api/audit-logs/).

### Получить IAM-токен для проекта \{#get-iam-token-project-scoped}

Выписывать IAM-токен для проекта можно [сервисным пользователям](/access-control/user-types/#service-users), у которых есть разрешение, где:

* выбрана [область доступа](/access-control/access-management/#scopes) Аккаунт;
* или выбрана [область доступа](/access-control/access-management/#scopes) Проекты и выбран нужный проект.

:::info

Если вы используете Windows, в запросах замените одинарные кавычки (<code>''</code>) на двойные (<code>""</code>). Мы также рекомендуем использовать для запросов PowerShell и не использовать CMD.

:::

1. Выполните запрос:

```bash
 curl -i -XPOST \
 -H 'Content-Type: application/json' \
 -d '{"auth":{"identity":{"methods":["password"],"password":{"user":{"name":"<username>","domain":{"name":"<account_id>"},"password":"<password>"}}},"scope":{"project":{"name":"<project_name>","domain":{"name":"<account_id>"}}}}}' \
 'https://cloud.api.selcloud.ru/identity/v3/auth/tokens'
```

Укажите:

* `<username>` — имя сервисного пользователя. Посмотреть имя можно в [панели управления](https://my.selectel.ru/iam/service-users): в верхнем меню нажмите **IAM** → раздел **Сервисные пользователи** (раздел доступен только [Владельцу аккаунта](/access-control/user-types/#account-owner) и пользователю с ролью [`iam.admin`](/access-control/role-reference/#iam-admin));
* `<account_id>` — номер аккаунта. Можно посмотреть в [панели управления](https://my.selectel.ru/) в правом верхнем углу;
* `<password>` — пароль сервисного пользователя, можно посмотреть при создании пользователя или [изменить на новый](/access-control/manage/edit-user-data-or-role/#change-service-user-password);
* `<project_name>` — имя проекта.

При успешной авторизации вернется ответ с кодом `201 Created` в формате:

```
HTTP/2 201
X-Subject-Token: token
```

2. В заголовке `X-Subject-Token` посмотрите токен.

## Статический токен (X-Token) \{#static-token}

:::info

X-Token можно выписать только [пользователю панели](/access-control/user-types/#panel-users).

:::

Токен передается в запросе в заголовке `X-Token`.

Статический токен (`static_token`) дает полный доступ к управлению некоторыми продуктами Selectel наравне с логином и паролем в [панели управления my.selectel.ru](https://my.selectel.ru/).
Не позволяет управлять объектами OpenStack API.

Время жизни токена не ограничено.

Для API, которые не поддерживают [IAM-токен для аккаунта](#iam-token-account-scoped) и [IAM-токен для проекта](#iam-token-project-scoped), статический токен является единственным:

* [отчеты](/api/billing-reports/) и [транзакции](/api/billing-transactions/);
* [сервис учета IP-адресов](/api/ip-addresses/);
* [тикеты](/api/tickets/);
* [вложения](/api/tickets-attachments/).

### Получить статический токен \{#get-static-token}

1. В [панели управления](https://my.selectel.ru/profile/access/api-keys) в правом верхнем углу откройте меню (номер аккаунта) и выберите **Профиль**.
2. Перейдите в раздел **Доступ** → вкладка **API-ключи**.
3. Нажмите **Добавить ключ**.
4. Введите название ключа.
5. Нажмите **Добавить**.

## Поддержка токенов в API \{#supported-tokens-in-apis}

<CustomTable>
  <table>
    <thead>
      <tr>
        <th>API</th>
        <th>IAM-токен для аккаунта</th>
        <th>IAM-токен для проекта</th>
        <th>Статический токен</th>
      </tr>
    </thead>

    <tbody>
      <tr>
        <td><a href="/api/users-and-roles/">IAM</a></td>
        <td>✓</td>
        <td>✗</td>
        <td colspan="2">✗</td>
      </tr>

      <tr>
        <td><a href="/api/federations/">Федерации</a></td>
        <td>✓</td>
        <td>✗</td>
        <td>✗</td>
      </tr>

      <tr>
        <td><a href="/api/balance/">Баланс</a></td>
        <td>✓</td>
        <td>✗</td>
        <td>✓</td>
      </tr>

      <tr>
        <td><a href="/api/balance-statistics/">Статистика</a></td>
        <td>✓</td>
        <td>✗</td>
        <td>✓</td>
      </tr>

      <tr>
        <td><a href="/api/billing-reports/">Отчеты</a></td>
        <td>✗</td>
        <td>✗</td>
        <td>✓</td>
      </tr>

      <tr>
        <td><a href="/api/billing-transactions/">Транзакции</a></td>
        <td>✗</td>
        <td>✗</td>
        <td>✓</td>
      </tr>

      <tr>
        <td><a href="/api/dedicated/">Выделенные серверы</a></td>
        <td>✓</td>
        <td>✓</td>
        <td>✗</td>
      </tr>

      <tr>
        <td><a href="/api/cloud-projects-and-resources/">Проекты и ресурсы облачной платформы</a></td>
        <td>✓</td>
        <td>✓</td>
        <td>✗</td>
      </tr>

      <tr>
        <td><a href="/api/quota-management/">Квоты и лимиты проекта</a></td>
        <td>✓</td>
        <td>✓</td>
        <td>✗</td>
      </tr>

      <tr>
        <td><a href="/api/quota-management/">Квоты и лимиты проекта</a></td>
        <td>✓</td>
        <td>✓</td>
        <td>✗</td>
      </tr>

      <tr>
        <td><a href="/api/cloud-public-network/">Прямые публичные IP-адреса облачных серверов</a></td>
        <td>✗</td>
        <td>✓</td>
        <td>✗</td>
      </tr>

      <tr>
        <td><a href="/api/private-dns/">Приватный DNS</a></td>
        <td>✗</td>
        <td>✓</td>
        <td>✗</td>
      </tr>

      <tr>
        <td><a href="/api/managed-databases/">Облачные базы данных</a></td>
        <td>✗</td>
        <td>✓</td>
        <td>✗</td>
      </tr>

      <tr>
        <td><a href="/api/managed-kubernetes/">Managed Kubernetes</a></td>
        <td>✗</td>
        <td>✓</td>
        <td>✗</td>
      </tr>

      <tr>
        <td><a href="/api/craas/">Container Registry</a></td>
        <td>✗</td>
        <td>✓</td>
        <td>✗</td>
      </tr>

      <tr>
        <td><a href="/api/secrets-manager/">Секреты</a></td>
        <td>✗</td>
        <td>✓</td>
        <td>✗</td>
      </tr>

      <tr>
        <td><a href="/api/certificates-manager/">Сертификаты</a></td>
        <td>✗</td>
        <td>✓</td>
        <td>✗</td>
      </tr>

      <tr>
        <td><a href="/api/lets-encrypt-certificates/">Сертификаты Let’s Encrypt®</a></td>
        <td>✗</td>
        <td>✓</td>
        <td>✗</td>
      </tr>

      <tr>
        <td><a href="/api/object-storage-swift/">Swift</a></td>
        <td>✗</td>
        <td>✓</td>
        <td>✗</td>
      </tr>

      <tr>
        <td><a href="/api/object-storage/">Object Storage</a></td>
        <td>✗</td>
        <td>✓</td>
        <td>✗</td>
      </tr>

      <tr>
        <td><a href="/api/global-router/">Глобальный роутер</a></td>
        <td>✓</td>
        <td>✗</td>
        <td>✗</td>
      </tr>

      <tr>
        <td><a href="/api/cdn/">CDN</a></td>
        <td>✗</td>
        <td>✓</td>
        <td>✗</td>
      </tr>

      <tr>
        <td><a href="/api/dns-actual/">DNS-хостинг (actual)</a></td>
        <td>✗</td>
        <td>✓</td>
        <td>✗</td>
      </tr>

      <tr>
        <td><a href="/api/dns-legacy/">DNS-хостинг (legacy)</a></td>
        <td>✓</td>
        <td>✗</td>
        <td>✓</td>
      </tr>

      <tr>
        <td><a href="/api/email-service/">Почтовый сервис Selectel</a></td>
        <td>✗</td>
        <td>✓</td>
        <td>✗</td>
      </tr>

      <tr>
        <td><a href="/api/ip-addresses/">Сервис учета IP-адресов</a></td>
        <td>✗</td>
        <td>✗</td>
        <td>✓</td>
      </tr>

      <tr>
        <td><a href="/api/audit-logs/">Аудит-логи</a></td>
        <td>✓</td>
        <td>✗</td>
        <td>✗</td>
      </tr>

      <tr>
        <td><a href="/api/1c-cloud/">Готовое облако 1С</a></td>
        <td>✗</td>
        <td>✓</td>
        <td>✗</td>
      </tr>

      <tr>
        <td><a href="/api/mobile-farm/">Мобильная ферма</a></td>
        <td>✓</td>
        <td>✓</td>
        <td>✗</td>
      </tr>

      <tr>
        <td><a href="/api/tickets/">Тикеты</a></td>
        <td>✗</td>
        <td>✗</td>
        <td>✓</td>
      </tr>

      <tr>
        <td><a href="/api/tickets-attachments/">Вложения</a></td>
        <td>✗</td>
        <td>✗</td>
        <td>✓</td>
      </tr>
    </tbody>
  </table>
</CustomTable>
