gluu-configuration
Ansible Gluu: роль конфигурации
gluu-configuration — это роль Ansible для простого конфигурирования Gluu путем создания или обновления записей на сервере LDAP.
С помощью этой роли вы можете создавать или обновлять:
- Глобальные настройки (аппараты)
- Конфигурацию oxAuth в формате JSON
- Конфигурацию oxTrust в формате JSON
- Атрибуты
- Области OpenId Connect
- Клиентов OpenId Connect
- Группы
- Пользователей
- Пользовательские скрипты
В кластерном режиме эта роль также обновляет режим аутентификации по умолчанию, чтобы использовать все серверы с модулем 'LDAP'. Для автоматического выполнения этого роль будет использовать переменную gluu_internal_hostname
каждого сервера с модулем 'LDAP'.
Эта роль может использоваться только на одном узле кластера.
Чтобы использовать функции кластерного режима в этой роли, все серверы Gluu должны находиться в группе gluu-servers
, а Менеджер кластера Gluu — в группе gluu-cluster-manager
.
История
Сервер управления аутентификацией и доступом API Gluu с открытым исходным кодом позволяет организациям предлагать единую аутентификацию, надежную аутентификацию и централизовать управление.
Требования
Для развертывания вам потребуется:
- Ansible 2.5.15 на вашей машине развертывания. (Новые версии могут вызвать проблемы с python-ldap)(https://github.com/GuillaumeSmaha/ansible-role-gluu-configuration/issues/2)
- Также необходимо установить следующие зависимости Python:
- dpath
- pyDes
- python3-ldap
- ldap3
- dnspython
$ pip install -r requirements.txt
Установка
gluu-configuration — это роль Ansible, доступная глобально через Ansible Galaxy. Чтобы установить роль gluu-configuration, вы можете использовать следующую команду.
$ ansible-galaxy install GuillaumeSmaha.gluu-configuration
Обновление
Если вы хотите обновить роль, вам необходимо передать параметр --force при установке. Проверьте следующую команду:
$ ansible-galaxy install --force GuillaumeSmaha.gluu-configuration
Смотрите CHANGELOG.md
Переменные роли
vars:
# Определите пользовательскую версию пакета для установки.
# Чтобы получить список доступных версий пакетов, посетите: https://gluu.org/docs/ce/
gluu_version: 3.1.7
# Глобальные параметры:
# - **gluuScimEnabled**: Включить SCIM? (включено/выключено)
# - **gluuPassportEnabled**: Включить Passport? (включено/выключено)
# - **passwordResetAllowed**: Разрешить пользователям сбрасывать пароль? (включено/выключено)
# - **gluuOrgProfileMg**t: Разрешить пользователям редактировать свой профиль? (включено/выключено)
# - **gluuVdsCacheRefreshPollingInterval**: Интервал для синхронизации обновления кэша (значение в минутах)
# - **gluuVdsCacheRefreshEnabled**: Включить обновление кэша? (включено/выключено)
# - **oxTrustCacheRefreshServerIpAddress**: IP-адрес сервера-адресата для обновления кэша
# - **oxAuthenticationMode**: Режим аутентификации для общей аутентификации (по умолчанию: auth_ldap_server)
# - **oxTrustAuthenticationMode**: Режим аутентификации для аутентификации oxTrust GUI (по умолчанию: auth_ldap_server)
# *См. https://github.com/GluuFederation/community-edition-setup/blob/3.1.4/templates/appliance.ldif*
# Пример включения SCIM и установки пользовательского скрипта для аутентификации:
# gluu_appliances:
# gluuScimEnabled: 'enabled'
# oxAuthenticationMode: 'basic_multi_ldap_auth'
gluu_appliances:
Развертывание
Для развертывания вам необходимо выполнить несколько шагов:
- Создайте новый файл
hosts
. Если вам нужна помощь, проверьте документацию по инвентаризации ansible. - Создайте новый плейбук для развертывания вашего приложения, например
deploy.yml
. - Настройте переменные роли (см. Переменные роли).
- Включите роль
GuillaumeSmaha.gluu-configuration
как часть плейбука. - Запустите плейбук развертывания.
ansible-playbook -i hosts deploy.yml
Если все было настроено правильно, эта команда установит Менеджер кластера Gluu на хосте.
Пример плейбука
В папке examples вы можете посмотреть пример проекта, который демонстрирует, как развернуть.
Чтобы запустить его, вам нужно установить Vagrant и роль. Пожалуйста, ознакомьтесь с https://www.vagrantup.com для получения дополнительной информации о Vagrant и нашем разделе по установке.
$ cd example
$ vagrant plugin install vagrant-lxc
$ vagrant plugin install vagrant-hostmanager
$ vagrant up --provider=lxc
$ ansible-galaxy install GuillaumeSmaha.gluu-setup GuillaumeSmaha.gluu-configuration
$ ansible-playbook -i env/ubuntu deploy.yml
$ ansible-playbook -i env/centos deploy.yml
Доступ к Gluu можно получить, перейдя по следующим ссылкам:
https://gluu-configuration-ubuntu/
или
https://gluu-configuration-centos/
Вы можете войти в Gluu с использованием следующих учетных данных:
- Имя пользователя: myUser
- Пароль: test
Примеры проектов
Вы можете найти полный пример плейбука здесь:
ansible-galaxy install GuillaumeSmaha/ansible-role-gluu-configuration