- tocdepth
2
Использование сетевых сервисов облака 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
содержит необходимый для авторизации токен.
Проверка токена
Для проверки токена запросите список сетей VPC с помощью GET-запроса:
https://vpc.ru-moscow-1.hc.sbercloud.ru/v1/{project_id}/vpcs
Где project_id
— ID проекта.
В этот запрос добавьте заголовок (header) X-Auth-Token
и скопированный токен авторизации из заголовка X-Subject-Token
.
Пример успешного ответа на запрос
{ "vpcs": [ { "id": "4ede4bed-2652-4802-8051-6d8238382f43", "name": "vpc-test", "description": "", "cidr": "10.0.0.0/24", "status": "OK", "routes": [], "enterprise_project_id": "0", "tenant_id": "project_id", "created_at": "2023-12-06T10:00:38", "updated_at": "2023-12-06T10:00:38" }, { "id": "9d66015d-b377-459a-a55b-d52cf557be5c", "name": "vpc-isolation-test", "description": "", "cidr": "172.16.0.0/12", "status": "OK", "routes": [ { "destination": "0.0.0.0/0", "nexthop": "172.30.34.27" } ], "enterprise_project_id": "0", "tenant_id": "project_id", "created_at": "2023-11-21T15:27:43", "updated_at": "2023-11-21T15:27:43" } ] }
для Dev & Test