Перейти к основному содержимому

Авторизация

Для работы с API продуктов Selectel используются:

Используемый токен зависит от продукта и влияет на то, с какими ресурсами вы сможете работать. Например, если вы выполнили запрос на получение списка серверов:

  • с токеном Keystone для проекта — в ответе вернется список всех серверов проекта;
  • с токеном Keystone для аккаунта или с токеном Selectel — в ответе вернется список всех серверов аккаунта.

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

Вы можете ограничить доступ к API по адресам, которые включают в себя https://api.selectel.ru.

Токен Keystone (X-Auth-Token)

Токен Keystone можно выписать только сервисному пользователю.

Токен Keystone дает доступ к управлению большинством продуктов Selectel и объектами OpenStack API наравне с логином и паролем в панели управления my.selectel.ru.

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

Выписать токен можно:

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

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

Получить токен Keystone для аккаунта

Выписывать токены для аккаунта можно сервисным пользователям с ролями:

  • Администратор аккаунта;
  • Администратор биллинга;
  • Администратор пользователей;
  • Наблюдатель аккаунта.

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

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

    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
    
  2. В заголовке X-Subject-Token посмотрите токен для авторизации в OpenStack API.

Получить токен Keystone для проекта

Выписывать токены для проекта можно сервисным пользователям с ролями:

  • Администратор аккаунта;
  • Администратор биллинга;
  • Администратор пользователей;
  • Наблюдатель аккаунта;
  • Администратор проекта;
  • Администратор объектного хранилища;
  • Наблюдатель проекта.

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

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

    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
    
  2. В заголовке X-Subject-Token посмотрите токен Keystone.

Токен Selectel (X-Token)

Токен Selectel (ключ API) можно выписать только пользователю панели управления.

Токен Selectel дает полный доступ к управлению всеми продуктами Selectel, кроме объектов OpenStack API, наравне с логином и паролем в панели управления my.selectel.ru.

Для продуктов, которые не поддерживают токен Keystone, токен Selectel является единственным:

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

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

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

Поддержка токенов в API