Назначение пользователей нескольким доменам#
С помощью инструмента vinfra системные администраторы могут создавать пользователей специальных служб, которые могут использоваться сторонними приложениями для доступа к API вычислений с правами администратора. Эти пользователи не могут войти в административную панель или панель самообслуживания. Пользователи службы аналогичны системным администраторам с разрешением Вычисления: они существуют только в домене Default и могут просматривать и управлять всеми объектами в вычислительном кластере, включая вычислительные узлы. Вы можете назначать пользователей службы доменам, что дает им возможность создавать вычислительные объекты в проектах этих назначенных доменов (например, создавать виртуальные машины из резервной копии).
Пользователи службы могут просматривать виртуальные машины во всех существующих проектах, указав параметр запроса all_tenants для запроса GET /servers (см. документацию OpenStack API).
Предварительные требования
Для авторизации выполнения приведенных ниже команд настроен клиент командной строки OpenStack, как описано в разделе Подключение к интерфейсу командной строки OpenStack.
Назначение пользователя службы домену
Используйте следующую команду:
vinfra domain user create --domain default --assign-domain <domain> compute <username>
--assign-domain <domain>ID или имя домена, на который следует назначить пользователя сервиса
<username>Имя пользователя службы
Например, чтобы создать пользователя службы my-service-user и назначить его доменам mydomain и mydomain2, запустите команду:
# vinfra domain user create my-service-user --domain default --assign-domain mydomain compute \
--assign-domain mydomain2 compute
Чтобы убедиться, что созданный пользователь службы успешно назначен двум доменам, используйте клиент OpenStack. Например, если IP-адрес узла управления — это 10.136.16.227, используйте команду:
# openstack --insecure --os-username my-service-user --os-user-domain-name \
Default --os-auth-url=https://10.136.16.227:5000/v3 federation domain list
Password:
+----------------------------------+---------+-----------+-------------+
| ID | Enabled | Name | Description |
+----------------------------------+---------+-----------+-------------+
| 2929ff42b1e64884a05dea3011862aed | True | mydomain | |
| 7e0d54797152424a9331ae904e220b88 | True | mydomain2 | |
+----------------------------------+---------+-----------+-------------+
Вы также можете просмотреть список всех проектов в назначенных доменах с помощью этой команды:
openstack --insecure --os-username <username> --os-user-domain-name Default --os-auth-url=https://<MN_IP_address>:5000/v3 federation project list
Отмена назначения пользователя службы домену
Используйте параметр --unassign-domain <domain> для команды vinfra domain user set.
vinfra domain user set --domain default --unassign-domain <domain> <username>
--unassign-domain <domain>ID или имя домена, для которого требуется отменить назначение пользователя службы
<username>Имя пользователя службы
Например, чтобы отменить назначение пользователя службы my-service-user домену mydomain, запустите команду:
# vinfra domain user set my-service-user --domain default --unassign-domain mydomain