Получение токена

Токен необходим для получения доступа к контроллеру. Ни один из REST API запросов невозможен без токена.

Способы получения токена

Примечание

Все параметры в командах указаны для примера, при использовании подставляйте актуальные параметры.

Важно

Перед получением токена необходимо установить переменные окружения. Либо в консольной утилите указывать дополнительные параметры авторизации:

  • --os-auth-type password - тип аутентификации;
  • --os-identity-api-version 3 - версия API службы идентификации.
  1. Получение запросом к API c использованием curl.

    Команда:

    curl -i \
    -H "Content-Type: application/json" \
    -d '
    { "auth": {
    "identity": {
    "methods": ["password"],
    "password": {
    "user": {
    "name": "admin",
    "domain": { "name": "default" },
    "password": "adminpwd"
    }
    }
    }
    }
    }' \
    http://controller:5000/v3/auth/tokens ; echo
    
  2. Посредством консольной утилиты Openstack Client.

    Команда:

    openstack --os-auth-url http://controller:500/v3   --os-project-domain-name default --os-user-domain-name default --os-project-name admin --os-password=****** --os-username admin token issue
    

    Где: 500 - номер порта управляющего узла, к которому обращается Keystone для получения токена.

  3. Посредством команды tnx extensions list консольной утилиты Openstack Client (работает только для OpenStack Mitaka).

    Команда:

    openstack tnx extensions list --filter tnx
    

    Механизм аутентификации описан в разделе «Аутентификация в OpenStackClient».

    Пример ответа:

    url_for_volume  http://controller:8776/v1/8f6b7f07a9e740ba876c989c8f1c43a2
    url_for_compute http://controller:8774/v2.1/8f6b7f07a9e740ba876c989c8f1c43a2
    token=93d7e03b8c1341c1b2d19c4be43fe5e6
    tenant=8f6b7f07a9e740ba876c989c8f1c43a2
    +----+--------------------------+----------------------+----------------------------------+
    |  # | Name                     | Alias                | Description                      |
    +----+--------------------------+----------------------+----------------------------------+
    |  1 | TnxPowerActions          | power-actions        | View a log of power actions for  |
    |    |                          |                      | hypervisor.                      |
    |  2 | TnxVolumes               | tnx-cc-os-volumes    | Decorate os-volumes resource     |
    |    |                          |                      | extension.                       |
    |    |                          |                      |     Adding os-volumes/action     |
    |    |                          |                      |     route.                       |
    |  3 | TnxHypervisorsExtension  | tnx-hypervisors      | Tionix Extension. Hypervisors    |
    |  4 | TnxLicenses              | tnx-licenses         | Tionix Extension. licenses       |
    |  5 | TnxMetrics               | tnx-metrics          | cloud stats extension            |
    |  6 | TnxMonitor               | tnx-monitor          | Get info about Monitor.          |
    |  7 | TnxNcPowerDevices        | tnx-nc-power-devices | Tionix Extension. Power devices  |
    |  8 | TnxNodeControl           | tnx-node-control     | Get info about Node Control.     |
    |  9 | TnxHosts                 | tnx-os-hosts         | Decorator to os-hosts resource   |
    |    |                          |                      | extension. For adding ACTION to  |
    |    |                          |                      | host                             |
    | 10 | TnxServersExtension      | tnx-servers          |                                  |
    | 11 | TnxServersHostsExtension | tnx-servers-hosts    |                                  |
    | 12 | TnxServersSLAExtension   | tnx-servers-sla      |                                  |
    | 13 | TnxServersUsersExtension | tnx-servers-users    |                                  |
    | 14 | TnxSessionsExtension     | tnx-sessions         |                                  |
    | 15 | TnxTenantsExtension      | tnx-tenants          | Tionix Extension. Tenants        |
    | 16 | TnxVDIServer             | tnx-vdi-server       | Get info about VDI Server.       |
    +----+--------------------------+----------------------+----------------------------------+
    

Способы получения токена на проект

Токены на проект предназначены для разрешения на работу в рамках определенного проекта. Они содержат каталог услуг, набор ролей и подробную информацию о проекте, на работу в котором выдается разрешение.

Примечание

Все параметры в командах указаны для примера, при использовании подставляйте актуальные параметры.

  1. Получение токена на проект запросом к API c использованием curl.

    Команда:

    curl -i \
    -H "Content-Type: application/json" \
    -d '
    { "auth": {
    "identity": {
    "methods": ["password"],
    "password": {
    "user": {
    "name": "admin",
    "domain":
    { "name": "default" }
    ,
    "password": "adminpwd"
    }
    }
    },
    "scope": {
    "project": {
    "name": "demo",
    "domain":
    { "name": "default" }
    }
    }
    }
    }' \
    "http://controller:5000/v3/auth/tokens" ; echo
    
  2. Получение токена на проект посредством консольной утилиты Openstack Client.

    Команда:

    openstack --os-username=admin --os-user-domain-name=default --os-password=****** --os-project-name=admin --os-project-domain-name=default token issue