Утилита AAA JDBC
1. Управление пользователями
1.1. Создание пользователя
ovirt-aaa-jdbc-tool user add jdoe \
--attribute=firstName=John \
--attribute=lastName=Doe \
--attribute=email=jdoe@unknown.com
Только имя пользователя (username) является обязательным, остальные атрибуты необязательны. Для пользователя могут быть указаны следующие атрибуты:
-
department
-
description
-
displayName
-
email
-
firstName
-
lastName
-
title
Вновь созданные пользователи не могут войти в систему, пока не будет выполнена команда сброса пароля (password-reset). |
1.2. Отображение подробной информации о существующем пользователе
ovirt-aaa-jdbc-tool user show jdoe
1.3. Обновление существующего пользователя
ovirt-aaa-jdbc-tool user edit jdoe \
--attribute="displayName=John Doe"
1.5. Включение/отключение пользователя
Пользователь может быть отключен для предотвращения входа в систему:
ovirt-aaa-jdbc-tool user edit jdoe --flag=+disabled
И следующая команда снова включает пользователя:
ovirt-aaa-jdbc-tool user edit jdoe --flag=-disabled
1.6. Разблокировка заблокированного пользователя
Пользователь может быть заблокирован, например, при большом количестве неудачных входов в систему. Следующая команда разблокирует пользователя:
ovirt-aaa-jdbc-tool user unlock jdoe
1.7. Изменение срока действия учетной записи
ovirt-aaa-jdbc-tool user edit jdoe --account-valid-to="2025-08-15 10:30:00Z"
1.8. Управление паролями
Следующая команда устанавливает новый пароль для пользователя jdoe в интерактивном режиме:
ovirt-aaa-jdbc-tool user password-reset jdoe
При использовании опции password поддерживаются следующие типы ввода пароля:
-
interactive - инструмент запрашивает ввод пароля
-
pass:STRING - пароль задается в командной строке
-
env:KEY - пароль задается в переменной окружения ENV
-
pass:[****] - пароль считывается из указанного файла
-
none: - задает пустой пароль
По умолчанию срок действия пароля истекает в тот же момент, когда он задан. Следующая команда устанавливает новый пароль и дату истечения пароля на 15 августа 2025 10:30:00 UTC:
|
2. Управление группами
2.1. Создание группы
ovirt-aaa-jdbc-tool group add group1 \
--attribute="description=First group"
Обязательным является только имя группы, остальные атрибуты необязательны. Для группы могут быть указаны следующие атрибуты:
-
description
-
displayName
3. Управление членством в группах
3.1. Добавление пользователя в группу
Следующая команда добавляет пользователя jdoe в группу group1:
ovirt-aaa-jdbc-tool group-manage useradd group1 --user=jdoe
3.3. Удаление пользователя из группы
Следующая команда удаляет пользователя jdoe из группы group1:
ovirt-aaa-jdbc-tool group-manage userdel group1 --user=jdoe
4. Поиск пользователей/групп
4.1. Поиск пользователей
Следующая команда отображает всех существующих пользователей:
ovirt-aaa-jdbc-tool query --what=user
Для сужения результатов можно использовать следующие атрибуты пользователя:
-
department
-
description
-
displayName
-
email
-
firstName
-
id
-
lastName
-
name
-
title
Например, следующая команда ищет пользователей, имя пользователя которых начинается с j:
ovirt-aaa-jdbc-tool query --what=user --pattern="name=j*"
4.2. Поиск групп
Следующая команда отображает все существующие группы:
ovirt-aaa-jdbc-tool query --what=group
Для сужения результатов можно использовать следующие групповые атрибуты:
-
description
-
displayName
-
name
Например, следующая команда ищет группы, название которых начинается с gr:
ovirt-aaa-jdbc-tool query --what=group --pattern="name=gr*"
5. Настройки
5.1. Расширения AAA-JDBC
Настройки расширения AAA-JDBC можно отобразить с помощью:
ovirt-aaa-jdbc-tool settings show
5.2. Обновление параметров
Следующая команда обновляет параметр PASSWORD_EXPIRATION_DAYS:
ovirt-aaa-jdbc-tool settings set --name=PASSWORD_EXPIRATION_DAYS --value=365
5.3. Конфигурация дополнительных доменов
Наиболее актуальную документацию можно найти в README.admin внутри пакета ovirt-engine-extension-aaa-jdbc |
После всех нижеперечисленных настроек, управление ролями пользователей нового домена неполноценны. |
Чтобы настроить новый профиль, использующий расширение aaa-jdbc, выполните следующие шаги:
-
Настройте базу данных для расширения aaa-jdbc
Замените DB_NAME, DB_USER и DB_PASSWORD на реальные значения:
su - postgres -c "psql -d template1 << __EOF__ create user DB_USER password 'DB_PASSWORD'; create database DB_NAME owner DB_USER template template0 encoding 'UTF8' lc_collate 'en_US.UTF-8' lc_ctype 'en_US.UTF-8'; __EOF__ "
-
Настройте PostgreSQL
Добавьте в файл /var/lib/pgsql/data/pg_hba.conf следующие строки (замените DB_NAME и DB_USER реальными значениями):
host DB_NAME DB_USER 0.0.0.0/0 md5 host DB_NAME DB_USER ::0/0 md5 Эти строки должны располагаться перед следующими строками:
host all all 127.0.0.1/32 ident host all all ::1/128 ident
-
Заполните базу данных для расширения aaa-jdbc
Замените DB_HOST, DB_NAME, DB_USER и DB_PASSWORD реальными значениями:
PGPASSWORD="DB_PASSWORD" \ /usr/share/ovirt-engine-extension-aaa-jdbc/dbscripts/schema.sh \ -s DB_HOST \ -p DB_PORT \ -d DB_NAME \ -u DB_USER \ -c apply
-
Настроить профиль AAA
Выберите имя своего профиля (оно будет видно пользователям при входе в систему) и скопируйте примеры файлов конфигурации, переименуйте в соответствии с вашим профилем (измените PROFILE выбранным значением):
cp /usr/share/ovirt-engine-extension-aaa-jdbc/examples/extension.d/authn.properties \ /etc/ovirt-engine/extensions.d/PROFILE-authn.properties cp /usr/share/ovirt-engine-extension-aaa-jdbc/examples/extension.d/authz.properties \ /etc/ovirt-engine/extensions.d/PROFILE-authz.properties cp /usr/share/ovirt-engine-extension-aaa-jdbc/examples/aaa/profile.properties \ /etc/ovirt-engine/aaa/PROFILE.properties
Отредактируйте созданные файлы PROFILE.properties* и замените переменные, окруженные @, реальными значениями. Измените права доступа, выполнив следующие команды:
cd /etc/ovirt-engine/extensions.d/ chown ovirt:ovirt PROFILE-authn.properties PROFILE-authz.properties chmod 600 PROFILE-authn.properties PROFILE-authz.properties chown ovirt:ovirt ../aaa/PROFILE.properties chmod 600 ../aaa/PROFILE.properties
-
Перезапустите службу ovirt-engine:
systemctl restart ovirt-engine
Проверьте /var/log/ovirt-engine/engine.log, чтобы убедиться, что расширение успешно инициализировано в соответствии с PROFILE.
-
Настройка пользователей и групп
Настройте своих пользователей и группы с помощью утилиты ovirt-aaa-jdbc-tool и укажите конфигурацию базы данных с помощью параметра командной строки –db-config:
ovirt-aaa-jdbc-tool \ --db-config=/etc/ovirt-engine/aaa/PROFILE.properties \ user add test ovirt-aaa-jdbc-tool \ --db-config=/etc/ovirt-engine/aaa/PROFILE.properties \ user password-reset test --password-valid-to="2025-08-15 10:30:00Z"
-
Войдите в веб-интерфейс, используя существующую учетную запись администратора, и назначьте нужные разрешения пользователям/группам, указанным в вашем PROFILE. Для назначения прав перейдите в раздел
.