Files
openstack-api-simulator/docs/ru/authentication.md
T
inecs 6033967e6a Initial commit: stateful OpenStack API laboratory simulator.
Ship Keystone auth, multi-service handlers (Yoga→Dalmatian), Compose/Helm
packaging, API contract packs, and pytest/Pulumi coverage labs.
2026-07-18 04:26:48 +03:00

2.1 KiB

Language / Язык: English | Русский

Аутентификация

Симулятор реализует Keystone v3 password-аутентификацию и project scoping (лабораторное подмножество).

Password auth

POST /v3/auth/tokens
Content-Type: application/json

{
  "auth": {
    "identity": {
      "methods": ["password"],
      "password": {
        "user": {
          "name": "admin",
          "domain": {"name": "Default"},
          "password": "secret"
        }
      }
    },
    "scope": {
      "project": {"name": "demo", "domain": {"name": "Default"}}
    }
  }
}

Ответ:

  • Заголовок X-Subject-Token — используйте как X-Auth-Token в следующих запросах
  • Тело token.catalog — endpoints сервисов (порты соответствуют ports.md)

Seed-принципалы

Пароль для всех пользователей: secret. Домен: Default.

Minimal seed

Пользователь Проекты Роль
admin admin, demo admin
demo demo member

Demo cloud

Пользователь Типичные проекты
admin все
ops production, staging
developer development, staging
demo / auditor demo / production

Unscoped / ошибки

  • Нет токена → 401 Unauthorized
  • Неверный пароль → 401
  • Project-scoped API без project scope → 401 с понятным сообщением

openstacksdk / CLI

export OS_AUTH_URL=http://127.0.0.1:5000/v3
export OS_USERNAME=admin
export OS_PASSWORD=secret
export OS_PROJECT_NAME=demo
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_DOMAIN_NAME=Default
export OS_IDENTITY_API_VERSION=3

openstack server list
openstack network list

Против Helm Ingress задайте OS_AUTH_URL=https://os-sim.example.com/v3 (и доверьте сертификат или используйте --insecure в лаборатории).