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

样本项目

您可以在此处找到完整的剧本示例:

https://github.com/GuillaumeSmaha/ansible-gluu-playbook

关于项目

Gluu Configuration for main Gluu server

安装
ansible-galaxy install GuillaumeSmaha.gluu-configuration
许可证
gpl-3.0
下载
159
拥有者