Настройка роли пользователя VDI-машины¶
Для рядового пользователя VDI-машины была разработана роль vdi-user
. Данная роль предназначена только для выполнения базовых операций с машиной, таких как остановка, запуск, подключение через клиент и веб интерфейс. Пользователь с ролью vdi-user
получает доступ только к тем машинам, на которые он был назначен.
Шаги по настройке:
Установите модуль TIONIX.Approvie:
dnf -y install python3-tionix_approvie
Создайте конфигурационный файл
/etc/tionix/approvie.yaml
:identity: url: "http://controller:5000" user: "admin" password: "password" domain: "Default" project: "admin" filter: blocked_roles: ["vdi-user"] policy: supported_methods: ["GET", "HEAD", "POST", "PUT", "PATCH", "DELETE"] common: debug: false
Настройте сервис Cinder. Создайте файл политик
/etc/cinder/policy.yaml
с параметрами, указанными в/etc/cinder/policy.yaml.example
. Укажите в конфигурационном файле/etc/cinder/cinder.conf
путь до файла:[oslo_policy] policy_file = policy.yaml
Настройте сервис Glance. Создайте файл политик
/etc/glance/policy.yaml
с параметрами, указанными в/etc/glance/policy.yaml.example
. Укажите в конфигурационном файле/etc/glance/glance-api.conf
путь до файла:[oslo_policy] policy_file = policy.yaml
Настройте сервис Nova. Создайте файл политик
/etc/nova/policy.yaml
с параметрами, указанными в/etc/nova/policy.yaml.example
. Укажите в конфигурационном файле/etc/nova/nova.conf
путь до файла:[oslo_policy] policy_file = policy.yaml
Настройте сервис Neutron. Создайте файл политик
/etc/neutron/policy.yaml
с параметрами, указанными в/etc/neutron/policy.yaml.example
. Укажите в конфигурационном файле/etc/neutron/neutron.conf
путь до файла:[oslo_policy] policy_file = policy.yaml
Настройте сервис Keystone. Создайте файл политик
/etc/keystone/policy.yaml
с параметрами, указанными в/etc/keystone/policy.yaml.example
. Укажите в конфигурационном файле/etc/keystone/keystone.conf
:[oslo_policy] policy_file = policy.yaml [resource] admin_project_name = admin
Создайте файлы политик:
/etc/tionix/cinder_policy.yaml
;/etc/tionix/glance_policy.yaml
;/etc/tionix/keystone_policy.yaml
;/etc/tionix/neutron_policy.yaml
;/etc/tionix/nova_policy.yaml
.
Данные файлы должны содержать параметры, которые указаны в соответствующих файлах по умолчанию с окончанием
example
.Перезапустите сервисы:
systemctl restart openstack-cinder-api.service systemctl restart openstack-glance-api.service systemctl restart openstack-nova-api.service systemctl restart openstack-nova-metadata-api.service systemctl restart openstack-nova-os-compute-api.service systemctl restart neutron-server.service apachectl stop apachectl start
Запустите сервисы модуля TIONIX.Approvie:
systemctl enable tionix-{keystone,cinder,glance,nova,neutron}-rbac.service systemctl start tionix-{keystone,cinder,glance,nova,neutron}-rbac.service
Настройте TIONIX.Client. В файле конфигурации
/etc/tionix/tionix.yaml
добавьте параметрBLOCKED_ROLES
:BLOCKED_ROLES: ['vdi-user']
Для применения настройки перезапустите сервисы TIONIX:
systemctl restart tionix-*
Настройте TIONIX.Dashboard. Подключите служебный модуль в
/etc/openstack-dashboard/local_settings
:AUTHENTICATION_BACKENDS = [ 'tionix_dashboard.auth.backend.TionixKeystoneBackend' ]
Укажите в файле конфигурации
/etc/tionix/dashboard.yaml
:BLOCKED_ROLES: ['openstack.roles.vdi-user']
Для применения настроек перезапустите веб-сервер и службу кэширования:
systemctl restart httpd systemctl restart memcached
Создайте роль vdi-user:
openstack role create vdi-user
Важно
Для добавления пользователей из каталога Active Directory используйте:
openstack role add --user-domain <ad_domain> --project-domain <ad_domain> --project <project_name> --user <ad_username> vdi-user
Где:
<ad_domain>
- имя домена Active Directory;<project_name>
- имя проекта, в который будут добавлены пользователи;<ad_username>
- имя пользователя в Active Directory.