API Token

В начале работы с API консоли управления Enterprise необходимо пройти аутентификацию, в результате которой вы указываете данные своей учетной записи и взамен получаете Access Token. Вместо учетных данных можно указать API Token, который принадлежит пользователю тенанта. API Token удобно использовать для работы различных API-клиентов, в т. ч. скриптов для автоматизации управления.

API Token

Идентификатор, выпущенный пользователем. Позволяет изменить способ аутентификации и получить Access Token для авторизации дальнейших вызовов API.

API Token создается и удаляется в консоли управления Enterprise.

API Token бессрочный, но может быть отозван пользователем.

Access Token

Идентификатор сессии, который используется для авторизации при вызовах API.

Access Token создается при аутентификации с помощью стандартного способа аутентификации (с использованием логина и пароля) или API Token (с помощью вызова метода API, описанного ниже).

Срок жизни Access Token определяется сроком жизни сессии, которым управляет провайдер Cloud.

Ограничения API Token

При аутентификации с помощью API Token пропадают следующие возможности:

  • изменение паролей пользователей;

  • управление пользователями (создание, удаление, изменение);

  • создание других API Token;

  • просмотр и отзыв других API Token.

Генерация API Token

Примечание

Убедитесь, что для роли администратора организации включено право ACCESS CONTROL → User → Manage user’s own API token (для управления своим API Token) и право Manage all user’s API tokens (для управления API Token других пользователей тенанта). Они необходимы для генерации и управления API Token, и без указанных прав блок Access Tokens будет недоступен в интерфейсе консоли.

Чтобы сгенерировать API Token для текущего пользователя, выполните следующие шаги в консоли управления Enterprise:

  1. Справа сверху раскройте меню пользователя и нажмите User preferences.

  2. В блоке Access Tokens нажмите NEW.

  3. Укажите название API Token и нажмите CREATE.

  4. Скопируйте сгенерированный API Token.

    Важно

    API Token можно скопировать только на этом шаге.

  5. Нажмите OK.

Далее проверьте доступ с помощью полученного API Token.

Получение доступа с помощью API Token

Получите Access Token, который добавляется во все запросы сессии. Если раньше для этого необходимо было указать данные учетной записи, теперь используется API Token.

Чтобы получить Access Token необходимо знать:

  • {MY-API-TOKEN}сгенерированный API Token.

  • {SITE} — зависит от региона, в котором размещается ваш виртуальный ЦОД. Он отображается в ссылке на консоль управления Enterprise https://{SITE}/tenant/my-tenant/. Ее мы отправляем при подключении услуги. Например, для региона PD01 параметр {SITE} принимает значение vcd.sbercloud.ru, для PD11 — vcd11.msk.sbercloud.ru.

  • {TENANT-NAME} — название тенанта, которое можно посмотреть в URL-адресе для входа в консоль управления Enterprise https://{SITE}/tenant/{TENANT-NAME}.

Отправьте POST-запрос:

curl -k --header "Accept: application/json" --header "Content-Type: application/x-www-form-urlencoded" --header "Content-Length: 71" --data "grant_type=refresh_token&refresh_token={MY-API-TOKEN}" --request POST "https://{SITE}/oauth/tenant/{TENANT-NAME}/token"

Вы получите ответ с Access Token:

200 ОК

{
    "access_token": "eyJhbG...",
    "token_type": "Bearer",

    ...
}

API Token действителен даже после выхода пользователя из системы. После истечения срока действия Access Token приложение может получить новый Access Token с помощью API Token.

Проверка получения доступа

Отправьте любой запрос, используя Access Token, и убедитесь, что он выполнился корректно. Например, запросите список доступных тенантов.

curl -k --header "Accept: application/*;version=36.1" --header "Authorization: Bearer {access_token}" --request GET "https://{SITE}/api/org/"

Вы получите ответ вида:

<OrgList>

   <Org
      href="https://{SITE}/api/org/{ORG-ID}"
      name="{TENANT-NAME}"/>

   ...

</OrgList>

См.также

Подробнее про работу с API.

Отзыв API Token

Пользователь с ролью Organization Administrator может отозвать API Token любых пользователей тенанта. Остальным пользователям доступен отзыв только своих API Token.

Чтобы отозвать API Token, сгенерированный в консоли управления Enterprise:

  1. Справа сверху раскройте меню пользователя и нажмите User preferences.

  2. В блоке Access Tokens выберите API Token.

  3. Нажмите на Опции напротив API Token и выберите Revoke.

Все сессии, которые используют отозванный API Token, станут недействительными.