Авторизация

Токен Selectel

Токен Selectel (ключ API) дает полный доступ к управлению всеми услугами Selectel наравне с логином и паролем от учетной записи панели управления my.selectel.ru.

Токен Selectel используется как основной токен для работы через API с услугами Selectel, у которых нет дополнительной системы авторизации, например, для выделенных серверов или DNS-хостинга, а также для работы с тикетами.

Для управления объектами услуг, у которых есть собственная система авторизации, нужен дополнительный короткоживущий токен. Например, в облачной платформе Selectel для создания любых ресурсов (облачных серверов, дисков и так далее) необходим отдельный токен OpenStack Keystone Identity и используется следующая схема авторизации:

  • токен Selectel нужен для работы с проектами и пользователями;
  • отдельный токен системы авторизации определенной услуги — для работы с ее ресурсами. Для получения отдельного токена нужен токен Selectel.

Токен Selectel передаётся в запросе в заголовке X-Token. Время жизни токена не ограничено.

Получить токен Selectel

  1. В панели управления откройте меню в правом верхнем углу и выберите Профиль и настройки.
  2. Перейдите в раздел Ключи API.
  3. Нажмите Новый ключ.
  4. Введите название ключа и нажмите Создать ключ.

Токен для облачной платформы Selectel

Токен для облачной платформы Selectel позволяет работать с ресурсами облачной платформы и объектами OpenStack, например, создавать облачные серверы, диски, сети и так далее.

Для авторизации и работы с OpenStack API используются токены OpenStack Keystone, которые передаются в заголовке X-Auth-Token. Время жизни токена — 24 часа.

С OpenStack API можно работать с помощью методов, которые описаны в документации OpenStack.

URL эндпоинтов зависит от пула:

api.<pool>.selvpc.ru

Например, для работы c OpenStack API в пуле ru-1 используйте URL api.ru-1.selvpc.ru

Получить токен для облачной платформы

  1. Создайте пользователя проекта и добавьте его в проект с помощью Cloud Management API.
  2. Получите X-Auth-Token — выполните запрос вида:
curl -i  -H "Content-Type: application/json" "https://api.selvpc.ru/identity/v3/auth/tokens" -d ' { "auth": { "identity": { "methods": ["password"], "password": { "user": { "name": "<user_name>",  "domain": { "name": "<id_selectel>" }, "password": "<password>" } } }, "scope": { "project": { "name": "<project_name>", "domain": { "name": "<id_selectel>"}}}}}'

Укажите:

  • <user_name> — имя пользователя, созданного в проекте;
  • <id_selectel> — ID аккаунта (номер договора) в панели управления;
  • <password> — пароль пользователя;
  • <project_name> — имя проекта.
  1. В случае успешной авторизации от сервиса авторизации будет получен ответ 201 Created с заголовком x-subject-token, который будет содержать значение токена для авторизации в OpenStack API, например:
HTTP/2 201 
x-subject-token: gAABfAzrlSvxr8xoOJ89Q0k98WrZWLcQ