Set-OPS-Public/roles/serveur_icingaweb2/templates/roles.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

21 lines
1 KiB
Django/Jinja

; Géré par Set-OPS (rôle serveur_icingaweb2). Ne pas éditer à la main.
[Administrators]
{% if serveur_icingaweb2_auth == 'db' %}
; LE GROUPE, MEME SANS ANNUAIRE. Les groupes d'Icinga Web 2 vivent en base : D-66
; s'applique donc ici comme ailleurs — on habilite `{{ serveur_icingaweb2_groupe_admin }}`,
; pas une personne, et y ajouter quelqu'un se fait dans l'interface.
;
; LE COMPTE D'AMORCAGE EST NOMME EN PLUS, et lui seul : il faut bien que quelqu'un puisse
; entrer la premiere fois pour peupler le groupe. C'est le meme role que le compte de
; secours de Grafana ou de Forgejo.
groups = "{{ serveur_icingaweb2_groupe_admin }}"
users = "{{ serveur_icingaweb2_admin_utilisateur }}"
{% else %}
; Le GROUPE, jamais des personnes (D-66) : revoquer quelqu'un ne demande alors
; aucun deploiement. `serveur_icingaweb2_admins` reste un repli, vide par defaut.
groups = "{{ serveur_icingaweb2_groupe_admin }}"
{% if serveur_icingaweb2_admins | length > 0 %}
users = "{{ serveur_icingaweb2_admins }}"
{% endif %}
{% endif %}
permissions = "*"