OS_TOKEN — временный токен доступа, который используется для авторизации запросов к API OpenStack.
Получить токен можно одним из следующих способов:
Для получения токена используется endpoint сервиса Keystone.
Пример:
https://auth.pscloud.io/v3
Используйте этот способ, если у вас есть учетные данные пользователя OpenStack и название проекта.
Выполните команду:
TOKEN=$(curl -i -s -X POST "$OS_AUTH_URL/auth/tokens" \
-H "Content-Type: application/json" \
-d '{
"auth": {
"identity": {
"methods": ["password"],
"password": {
"user": {
"name": "'$OS_USERNAME'",
"domain": { "name": "Default" },
"password": "'$OS_PASSWORD'"
}
}
},
"scope": {
"project": {
"name": "'$OS_PROJECT_NAME'",
"domain": { "id": "default" }
}
}
}
}' | awk -F': ' '/X-Subject-Token/ {print $2}' | tr -d '\r')
Результат
Команда сохранит полученный токен в переменную окружения TOKEN. Используйте ее для выполнения последующих запросов к API.
Используйте этот способ, если заранее создан доступ для приложения (Application Credentials).
Перейдите в консоль управления PS Cloud Services.
.
Откройте раздел Облачные серверы и выберите проект.
Перейдите в раздел Доступы для приложений.
Нажмите Создать доступ.
Укажите название и при необходимости описание, затем нажмите Создать.
После создания сохраните:
Секретный ключ отображается только один раз. Сохраните его в надежном месте.
Выполните запрос:
curl -i -X POST https://auth.pscloud.io/v3/auth/tokens \
-H "Content-Type: application/json" \
-d '{
"auth": {
"identity": {
"methods": ["application_credential"],
"application_credential": {
"id": "<APPLICATION_CREDENTIAL_ID>",
"secret": "<APPLICATION_CREDENTIAL_SECRET>"
}
}
}
}'
Результат
В ответе будет возвращен заголовок X-Subject-Token. Это и есть токен доступа (OS_TOKEN), который можно использовать для авторизации запросов к API.
