GuillaumeSmaha.gluu-configuration
Ansible Gluu: Konfigurationsrolle
gluu-configuration ist eine Ansible-Rolle, die es ermöglicht, Gluu einfach zu konfigurieren, indem Einträge im LDAP-Server erstellt oder aktualisiert werden.
Mit dieser Rolle können Sie folgende Dinge erstellen oder aktualisieren:
- Globale Einstellungen (Appliances)
- oxAuth JSON-Konfiguration
- oxTrust JSON-Konfiguration
- Attribute
- OpenId Connect Scopes
- OpenId Connect Clients
- Gruppen
- Benutzer
- Benutzerdefinierte Skripte
Im Cluster-Modus wird mit dieser Rolle auch der Standard-Authentifizierungsmodus aktualisiert, um alle Server mit dem 'LDAP'-Modul zu nutzen. Dazu verwendet die Rolle die Variable gluu_internal_hostname
jedes Servers mit dem 'LDAP'-Modul.
Diese Rolle kann nur auf einem Knoten des Clusters verwendet werden.
Um die Funktionen des Cluster-Modus in dieser Rolle zu nutzen, müssen alle Gluu-Server in der Gruppe gluu-servers
sein, und der Gluu Cluster Manager muss in der Gruppe gluu-cluster-manager
sein.
- Anforderungen
- Installation
- Aktualisierung
- Rollenvariablen
- Bereitstellung
- Beispiel-Playbook
- Beispielprojekte
Geschichte
Der Open-Source-Authentifizierungs- und API-Zugriffsmanagementserver von Gluu ermöglicht es Organisationen, Single Sign-On, starke Authentifizierung und Zentralisierung anzubieten.
Anforderungen
Um bereitzustellen, benötigen Sie:
- Ansible 2.5.15 auf Ihrem Bereitstellungsrechner. (Neuere Versionen verursachen Probleme mit python-ldap) (https://github.com/GuillaumeSmaha/ansible-role-gluu-configuration/issues/2))
- Sie müssen auch folgende Python-Abhängigkeiten installieren:
- dpath
- pyDes
- python3-ldap
- ldap3
- dnspython
$ pip install -r requirements.txt
Installation
gluu-configuration ist eine Ansible-Rolle, die weltweit über Ansible Galaxy verteilt wird. Um die Rolle gluu-configuration zu installieren, können Sie den folgenden Befehl verwenden.
$ ansible-galaxy install GuillaumeSmaha.gluu-configuration
Aktualisierung
Wenn Sie die Rolle aktualisieren möchten, müssen Sie beim Installieren den Parameter --force angeben. Bitte prüfen Sie den folgenden Befehl:
$ ansible-galaxy install --force GuillaumeSmaha.gluu-configuration
Siehe CHANGELOG.md
Rollenvariablen
vars:
# Definieren Sie eine benutzerdefinierte Version des zu installierenden Pakets.
# Um eine Liste der verfügbaren Paketversionen zu erhalten, besuchen Sie: https://gluu.org/docs/ce/
gluu_version: 3.1.7
# Globale Parameter:
# - **gluuScimEnabled**: SCIM aktivieren? (aktiviert/deaktiviert)
# - **gluuPassportEnabled**: Passport aktivieren? (aktiviert/deaktiviert)
# - **passwordResetAllowed**: Benutzern das Zurücksetzen des Passworts erlauben? (aktiviert/deaktiviert)
# - **gluuOrgProfileMg**t: Benutzern erlauben, ihr eigenes Profil zu bearbeiten? (aktiviert/deaktiviert)
# - **gluuVdsCacheRefreshPollingInterval**: Intervall für die Synchronisierung der Cache-Aktualisierung (Wert in Minuten)
# - **gluuVdsCacheRefreshEnabled**: Cache-Aktualisierung aktivieren? (aktiviert/deaktiviert)
# - **oxTrustCacheRefreshServerIpAddress**: IP-Adresse des Zielservers für die Cache-Aktualisierung
# - **oxAuthenticationMode**: Authentifizierungsmodus für die gemeinsame Authentifizierung (standardmäßig: auth_ldap_server)
# - **oxTrustAuthenticationMode**: Authentifizierungsmodus für die oxTrust GUI-Authentifizierung (standardmäßig: auth_ldap_server)
gluu_appliances:
# Diese Parameter erlauben die Anwendung von JSON-Operationen auf die oxTrust-Konfiguration für ein definiertes Attribut.
# Es sind mehrere Operationen möglich: einfügen, ersetzen, löschen, einfügen oder ersetzen.
gluu_oxtrust_json_operations:
# Diese Parameter erlauben die Anwendung von JSON-Operationen auf die oxAuth-Konfiguration für ein definiertes Attribut.
gluu_oxauth_json_operations:
# Ermöglichen Sie das Hinzufügen oder Aktualisieren von Attributen.
gluu_attributes:
# Ermöglichen Sie das Hinzufügen oder Aktualisieren von OpenId Connect Scopes.
gluu_openid_connect_scopes:
# Ermöglichen Sie das Hinzufügen oder Aktualisieren von OpenId Connect Clients.
gluu_openid_connect_clients:
# Ermöglichen Sie das Hinzufügen oder Aktualisieren von Gruppen.
gluu_groups:
# Ermöglichen Sie das Hinzufügen oder Aktualisieren von Benutzern.
gluu_users:
# Ermöglichen Sie das Hinzufügen oder Aktualisieren von Skripten.
gluu_scripts:
# ===================================
# Gluu auf mehreren Knoten (Cluster)
# ===================================
# Definieren Sie, ob der Server in einem Cluster ist.
gluu_cluster: False
# Wenn gluu_cluster = True, können Sie die Hostnamen der externen LDAP-Server von Gluu festlegen.
gluu_ldap_hostname:
# Nur wenn gluu_cluster = True, um zwischen internem und externem Hostnamen zu unterscheiden.
gluu_internal_hostname: '{{ gluu_hostname }}'
Bereitstellung
Um bereitzustellen, müssen Sie einige Schritte ausführen:
- Erstellen Sie eine neue
hosts
-Datei. Überprüfen Sie die Ansible Inventardokumentation, wenn Sie Hilfe benötigen. - Erstellen Sie ein neues Playbook für die Bereitstellung Ihrer Anwendung, z. B.
deploy.yml
. - Richten Sie die Rollenvariablen ein (siehe Rollenvariablen).
- Fügen Sie die Rolle
GuillaumeSmaha.gluu-configuration
als Teil eines Plays ein. - Führen Sie das Bereitstellungsplaybook aus.
ansible-playbook -i hosts deploy.yml
Wenn alles richtig eingerichtet wurde, installiert dieser Befehl den Gluu Cluster Manager auf dem Host.
Beispiel-Playbook
Im Beispielordner können Sie ein Beispielprojekt überprüfen, das zeigt, wie man bereitstellt.
Um es auszuführen, benötigen Sie Vagrant und die installierte Rolle. Bitte besuchen Sie https://www.vagrantup.com für weitere Informationen zu Vagrant und unserem Installationsabschnitt.
$ 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
Zugriff auf Gluu können Sie über folgende Links erhalten:
https://gluu-configuration-ubuntu/
oder
https://gluu-configuration-centos/
Sie können sich bei GLuu mit diesen Benutzerdaten anmelden:
- Benutzername: myUser
- Passwort: test
Beispielprojekte
Hier finden Sie ein vollständiges Beispiel für ein Playbook:
ansible-galaxy install GuillaumeSmaha.gluu-configuration