- tocdepth
2
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
Примечание
Убедитесь, что для роли администратора организации включено право (для управления своим API Token) и право Manage all user’s API tokens (для управления API Token других пользователей тенанта). Они необходимы для генерации и управления API Token, и без указанных прав блок Access Tokens будет недоступен в интерфейсе VMware Cloud Director.
Чтобы сгенерировать API Token для текущего пользователя, выполните следующие шаги в VMware Cloud Director:
Справа сверху раскройте меню пользователя и нажмите User preferences.
В блоке Access Tokens нажмите NEW.
Укажите название API Token и нажмите CREATE.
Скопируйте сгенерированный API Token.
Примечание
API Token можно скопировать только на этом шаге.
Нажмите OK.
Далее проверьте доступ с помощью полученного API Token.
Получение доступа с помощью API Token
API Token нужен для получения Access Token, который далее используется во всех запросах сессии и помогает выполнять различные операции с доступной инфраструктурой.
Чтобы получить Access Token необходимо знать:
{MY-API-TOKEN}
— сгенерированный API Token.{SITE}
— зависит от региона, в котором размещается ваш виртуальный ЦОД. Он отображается в ссылке на VMware Cloud Directorhttps://{SITE}/tenant/my-tenant/
. Ее мы отправляем при подключении услуги. Например, для региона PD01 параметр{SITE}
принимает значениеvcd01-01.cloud.ru
, для PD11 —vcd11-01.cloud.ru
.{TENANT-NAME}
— название тенанта, которое можно посмотреть в URL-адресе для входа в VMware Cloud Directorhttps://{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"
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=pkAtl..." --request POST "https://vcd.sbercloud.ru/oauth/tenant/my-tenant/token"
POST https://vcd.sbercloud.ru/oauth/tenant/my-tenant/token
Headers:
- KEY: Accept
- VALUE: application/json
- KEY: Content-Type
- VALUE: application/x-www-form-urlencoded
- KEY: Content-Length
- VALUE: 71
Body:
grant_type=refresh_token&refresh_token=pkAtl...
Вы получите ответ с 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/"
curl -k --header "Accept: application/*;version=36.1" --header "Authorization: Bearer eyJhbG..." --request GET "https://vcd.sbercloud.ru/api/org/"
GET https://vcd.sbercloud.ru/api/org/
Headers:
- KEY: Accept
- VALUE: application/*;version=36.1
Authorization:
- Type: Bearer Token
- Token: eyJhbG...
Вы получите ответ вида:
<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:
Справа сверху раскройте меню пользователя и нажмите User preferences.
В блоке Access Tokens выберите API Token.
Нажмите на напротив API Token и выберите Revoke.
Все сессии, которые используют отозванный API Token, станут недействительными.
для Dev & Test