API Token

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

API Token

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

API Token создается и удаляется в VMware Cloud Director.

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

Access Token

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

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

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

Ограничения 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 будет недоступен в интерфейсе VMware Cloud Director.

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

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

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

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

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

    Примечание

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

  5. Нажмите OK.

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

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

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

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

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

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

  • {TENANT-NAME} — название тенанта, которое можно посмотреть в URL-адресе для входа в VMware Cloud Director 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, сгенерированный в VMware Cloud Director:

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

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

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

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

Масштабная конференция
GoCloud 2024:
облачные грани будущего