Авторизация
Для работы с API продуктов Selectel используются токены Keystone и токены Selectel (ключи API). Используемый токен зависит от API продукта.
Доступ к API по адресам, которые включают в себя https://api.selectel.ru
, можно ограничить.
Токен Keystone
Токен Keystone можно выписать только сервисному пользователю.
Токен Keystone дает доступ к управлению большинством продуктов Selectel и объектами OpenStack API наравне с логином и паролем в панели управления my.selectel.ru.
Токен Keystone позволяет управлять:
- балансом и потреблением;
- пользователями (IAM);
- выделенными серверами;
- объектами OpenStack API (облачными серверами, сетевыми дисками и другими), подробнее в документации OpenStack;
- облачной платформой (облачными базами данных, Managed Kubernetes, Container Registry, менеджером секретов);
- объектным хранилищем (Swift API и Selectel Storage API);
- CDN;
- DNS-хостингом.
Выписать токен можно:
- для аккаунта, чтобы управлять всеми ресурсами аккаунта, кроме ресурсов проектов;
- для проекта, чтобы управлять его ресурсами.
Токен передается в заголовке X-Auth-Token
в каждом запросе. Время жизни токена — 24 часа.
Получить токен Keystone
Адрес (URL) можно посмотреть в списке URL.
Токен для аккаунта
Выписывать токены для аккаунта можно сервисным пользователям с ролями:
- Администратор аккаунта;
- Администратор биллинга;
- Администратор пользователей;
- Наблюдатель аккаунта.
Подробнее о ролях в инструкции документации Типы и роли пользователей.
Если вы используете Windows, в запросах замените одинарные кавычки (’’
) на двойные (""
). Мы также рекомендуем использовать для запросов PowerShell и не использовать CMD.
-
Выполните запрос:
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>
— имя сервисного пользователя. Посмотреть имя можно в панели управления: в правом верхнем углу откройте меню → Профиль и настройки → раздел Управление пользователями → вкладка Сервисные пользователи (раздел доступен только Владельцу аккаунта и Администратору пользователей);<account_id>
— номер аккаунта в панели управления;<password>
— пароль сервисного пользователя, можно посмотреть при создании пользователя или изменить на новый.
При успешной авторизации вернется ответ с кодом
201 Created
в формате:HTTP/2 201 X-Subject-Token: token
-
В заголовке
X-Subject-Token
посмотрите токен для авторизации в OpenStack API.
Токен для проекта
Выписывать токены для проекта можно сервисным пользователям с ролями:
- Администратор аккаунта;
- Администратор биллинга;
- Администратор пользователей;
- Наблюдатель аккаунта;
- Администратор проекта;
- Администратор объектного хранилища;
- Наблюдатель проекта.
Подробнее о ролях в инструкции документации Типы и роли пользователей.
Если вы используете Windows, в запросах замените одинарные кавычки (’’
) на двойные (""
). Мы также рекомендуем использовать для запросов PowerShell и не использовать CMD.
-
Выполните запрос:
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>
— имя сервисного пользователя. Посмотреть имя можно в панели управления: в правом верхнем углу откройте меню → Профиль и настройки → раздел Управление пользователями → вкладка Сервисные пользователи (раздел доступен только Владельцу аккаунта и Администратору пользователей);<account_id>
— номер аккаунта в панели управления;<password>
— пароль сервисного пользователя, можно посмотреть при создании пользователя или изменить на новый;<project_name>
— имя проекта.
При успешной авторизации вернется ответ с кодом
201 Created
в формате:HTTP/2 201 X-Subject-Token: token
-
В заголовке
X-Subject-Token
посмотрите токен Keystone.
Токен Selectel (ключ API)
Токен Selectel (ключ API) можно выписать только пользователю панели управления.
Токен Selectel дает полный доступ к управлению всеми продуктами Selectel, кроме объектов OpenStack API, наравне с логином и паролем в панели управления my.selectel.ru.
Для продуктов, которые не поддерживают токен Keystone, токен Selectel является единственным:
Токен Selectel передается в запросе в заголовке X-Token
. Время жизни токена не ограничено.
Получить токен Selectel
- В панели управления в правом верхнем углу откройте меню и выберите Профиль и настройки.
- Перейдите в раздел Ключи API.
- Нажмите Новый ключ.
- Введите название ключа и нажмите Создать ключ.
Поддержка токенов в API
API | Токен Keystone | Токен Selectel (ключ API) | |
Для аккаунта | Для проекта | ||
Баланс и потребление | ✓ | ✗ | ✓ |
IAM | ✓ | ✗ | ✗ |
Тикеты | ✗ | ✗ | ✓ |
Вложения | ✗ | ✗ | ✓ |
Выделенные серверы | ✓ | ✗ | ✓ |
Cloud Management | ✓ | ✓ | ✗ |
Custom Resources | ✗ | ✓ | ✗ |
Cloud Quota Management | ✓ | ✓ | ✗ |
Облачные базы данных | ✗ | ✓ | ✗ |
Managed Kubernetes | ✗ | ✓ | ✗ |
Container Registry | ✗ | ✓ | ✗ |
Менеджер секретов | ✗ | ✓ | ✗ |
Swift | ✗ | ✓ | ✗ |
Selectel Storage | ✗ | ✓ | ✗ |
CDN | ✓ | ✗ | ✓ |
DNS-хостинг (actual) | ✗ | ✓ | ✗ |
DNS-хостинг (deprecated) | ✓ | ✗ | ✓ |
Сервис мониторинга открытых портов | ✗ | ✗ | ✓ |