Использование сетевых сервисов облака Advanced с применением возможностей API

В этом разделе описаны сценарии разворачивания виртуальной инфраструктуры на платформе Advanced с помощью API и консоли Advanced. Работа с API осуществляется с помощью инструмента Postman.

Сетевые API обычно включают как OpenStack API, так и расширенные API для настройки или запроса данных сетевых функций. Комбинация этих двух типов API позволяет использовать все функции сетевых сервисов, но предпочтительнее расширенные API.

Получение токена авторизации

Чтобы подключиться к API, необходимо получить токен авторизации для доступа к платформе Advanced.

Формат URL для API-запроса:

{URI-scheme}://{Endpoint}/{resource-path}?{query-string}

Для доступа к платформе Advanced через API в качестве Endpoint используется сервис Identity and Access Management:

https : // iam . ru - moscow - 1. hc . sbercloud . ru / v3 / auth / tokens

На этот адрес отправьте POST-запрос со следующим JSON в теле запроса:

{
"auth" : {
"identity" : {
"methods" : [
"password"
],
"password" : {
"user" : {
"domain" : {
"name" : "Account name"
},
"name" : "IAM user name" ,
"password" : "IAM user password"
}
}
},
"scope" : {
"project" : {
"id" : "project_id"
}
}
}
}

Где:

  • Account name — имя аккаунта.

  • IAM user name – имя IAM-пользователя.

  • IAM user password — пароль IAM-пользователя.

  • project_id — ID проекта.

Примечание

Чтобы узнать все эти параметры, кроме пароля, в правом верхнем углу консоли Advanced наведите курсор на имя пользователя и выберите My Credentials.

Заголовок ответа X-Subject-Token содержит необходимый для авторизации токен.

../../_images/recommendations__adv__network-api-token.png

Проверка токена

Для проверки токена запросите список сетей VPC с помощью GET-запроса:

https : // vpc . ru - moscow - 1. hc . sbercloud . ru / v1 / { project_id } / vpcs

Где project_id — ID проекта.

В этот запрос добавьте заголовок (header) X-Auth-Token и скопированный токен авторизации из заголовка X-Subject-Token.

../../_images/recommendations__adv__network-api-header.png
Evolution