GuillaumeSmaha.gluu-configuration
Ansible Gluu:配置角色
gluu-configuration 是一个 Ansible 角色,用于通过创建或更新 LDAP 服务器中的条目来轻松配置 Gluu。
使用此角色,您可以创建或更新:
- 全局设置(应用程序)
- oxAuth JSON 配置
- oxTrust JSON 配置
- 属性
- OpenId Connect 范围
- OpenId Connect 客户端
- 组
- 用户
- 自定义脚本
在集群模式下,此角色还会将默认身份验证模式更新为使用所有安装了“LDAP”模块的服务器。为此,角色将使用每个安装了“LDAP”模块的服务器的变量 gluu_internal_hostname
。
此角色只能在集群的一个节点上使用。
要使用此角色中的集群模式功能,所有 gluu 服务器必须在 gluu-servers
组中,Gluu 集群管理器必须在 gluu-cluster-manager
组中。
历史
Gluu 的开源身份验证和 API 访问管理服务器使组织能够提供单点登录、强身份验证并集中管理。
要求
要进行部署,您需要:
- 在您的部署机器上安装 Ansible 2.5.15。(更新的版本可能会导致 python-ldap 的问题)
- 您还需要安装以下 Python 依赖项:
- dpath
- pyDes
- python3-ldap
- ldap3
- dnspython
$ pip install -r requirements.txt
安装
gluu-configuration 是一个通过 Ansible Galaxy 全球分发的 Ansible 角色。要安装 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?(enabled/disabled)
# - **gluuPassportEnabled**:启用 Passport?(enabled/disabled)
# - **passwordResetAllowed**:允许用户重置密码?(enabled/disabled)
# - **gluuOrgProfileMg**t:允许用户编辑自己的个人资料?(enabled/disabled)
# - **gluuVdsCacheRefreshPollingInterval**:缓存刷新同步的间隔(单位:分钟)
# - **gluuVdsCacheRefreshEnabled**:启用缓存刷新?(enabled/disabled)
# - **oxTrustCacheRefreshServerIpAddress**:用于缓存刷新的接收服务器的 IP 地址
# - **oxAuthenticationMode**:公共身份验证的身份验证模式(默认:auth_ldap_server)
# - **oxTrustAuthenticationMode**:oxTrust GUI 身份验证的身份验证模式(默认:auth_ldap_server)
gluu_appliances:
# 此参数允许对 oxTrust 配置中定义的属性应用 JSON 操作。
#
# 可以使用这些操作:
# - insert:插入新键。如果键已存在则抛出错误
# - replace:更新现有键。如果键不存在则抛出错误
# - delete:删除一个键
# - insertOrReplace:插入或更新一个键。
#
# 属性和键列表(不完整):
# - oxTrustConfApplication
# - oxTrustConfCacheRefresh
# - oxTrustConfImportPerson
gluu_oxtrust_json_operations:
# 允许添加或更新属性。
# 示例:添加最后连接日期:
gluu_attributes:
# 允许添加或更新 OpenId Connect 范围。
gluu_openid_connect_scopes:
# 允许添加或更新 OpenId Connect 客户端。
gluu_openid_connect_clients:
# 允许添加或更新组。
gluu_groups:
# 允许添加或更新用户。
gluu_users:
# 允许添加或更新脚本。
gluu_scripts:
# ===================================
# Gluu 在多个节点上(集群)
# ===================================
# 定义服务器是否在集群中。
gluu_cluster: False
# 当 gluu_cluster = True 时,您可以设置外部 LDAP 服务器的主机名。
gluu_ldap_hostname:
# 仅当 gluu_cluster = True 时使用。
gluu_internal_hostname: '{{ gluu_hostname }}'
部署
要进行部署,您需要执行以下步骤:
- 创建一个新的
hosts
文件。 如果需要帮助,请查看 ansible inventory documentation。 - 创建一个新的用于部署应用程序的剧本,例如
deploy.yml
- 设置角色变量(见 角色变量)
- 在剧本中包含
GuillaumeSmaha.gluu-configuration
角色 - 运行部署剧本
ansible-playbook -i hosts deploy.yml
如果一切设置正确,该命令将在主机上安装 Gluu 集群管理器。
示例剧本
在示例文件夹中,您可以查看一个示例项目,显示如何进行部署。
要运行它,您需要安装 Vagrant 和角色。有关 Vagrant 的更多信息,请查看 https://www.vagrantup.com 以及我们的安装部分。
$ 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.gluu-configuration