Set-OPS-Public/roles/serveur_icingaweb2/templates/groups.ini.j2
Daniel Allaire 51dae506fb icingaweb2 : le backend natif remplace un vestibule de trop
L exploitant : Icinga Web 2 permet nativement de gerer des comptes ; ce genre
d intervention n est pertinente que pour integrer Icinga a Keycloak chez les
tenants.

Le mode locale posait un auth_basic nginx devant le backend external. Ca
marchait, et ca reinventait une page de connexion devant une application qui en
a une — en privant l exploitant de la gestion des comptes dans l interface. Un
vestibule n a de sens que devant une application qui ne sait pas
s authentifier ; le GUI de Set-OPS est dans ce cas, Icinga Web 2 non.

Mode db : backend natif, groupes natifs, base a elle (les tables du moteur sont
reecrites par ses migrations). Le moteur pose UN compte d amorcage et ne
l ecrase jamais. D-66 redevient applicable sans annuaire, les groupes vivant en
base.

Deux pieges du renommage : une garde ecrite en negation a cesse de garder, et le
bloc de la base pose apres le rendu des .ini a produit un echec CENSURE par
no_log.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Crgis8CxCWkAGFA1ecBz3q
2026-09-15 08:49:32 -04:00

24 lines
1.1 KiB
Django/Jinja

; Géré par Set-OPS (rôle serveur_icingaweb2). Ne pas éditer à la main.
; Habilitation par GROUPE d'annuaire (D-66) : ajouter quelqu'un a
; `{{ serveur_icingaweb2_groupe_admin }}` dans LDAP lui ouvre la supervision, sans
; deploiement et sans que personne ne soit nomme ici.
{% if serveur_icingaweb2_auth == 'db' %}
; MODE `db` : LES GROUPES AUSSI SONT NATIFS. `icingaweb_group` et
; `icingaweb_group_membership` viennent avec le meme schema que les comptes.
;
; CE QUE CA REND A D-66. « Le groupe, jamais des personnes » supposait un annuaire ; ici
; le groupe existe en base, se peuple dans l'interface, et `roles.ini` peut donc nommer
; un GROUPE meme sans LDAP. Revoquer quelqu'un redevient un clic, pas un deploiement.
[db]
backend = "db"
resource = "icingaweb_db"
{% else %}
[annuaire]
backend = "ldap"
resource = "icingaweb_ldap"
user_backend = "{{ 'ldap-annuaire' if serveur_icingaweb2_auth == 'external' else 'icingaweb2' }}"
group_class = "{{ serveur_icingaweb2_groupe_class }}"
group_name_attribute = "cn"
group_member_attribute = "{{ serveur_icingaweb2_groupe_membre_attr }}"
base_dn = "{{ serveur_icingaweb2_groupes_dn }}"
{% endif %}