Icinga Web 2 gagne un troisieme mode, locale : nginx authentifie en HTTP Basic et pose REMOTE_USER, l application le croit. Un SITE n a ni annuaire ni Keycloak — ce sont des services d ecosysteme. Ni backend LDAP ni backend de groupes : un backend qui vise une ressource inexistante fait echouer chaque ouverture de session. L habilitation nomme alors une personne, entorse a D-66 ecrite plutot que contournee. Deux pieges en chemin : resoudre_annuaire etait appele sans condition et tombait sur NoneType has no len (default sans son second argument ne remplace pas None), et le flux du role ne nommait que l edge — le site n en a pas, donc personne ne pouvait entrer. serveur_grafana portait deja la reponse. LE DEFAUT DU DEVIS : une sortie vers un role ABSENT de l ecosysteme retombait sur !SETOPS_INTERNES, la forme de vers l Internet. La frontiere aurait autorise la console a parler LDAPS a n importe quelle machine du monde, pour joindre un annuaire qui n existe pas. C est une source vide ouvre le port, cote destination. Trois regles du meme defaut etaient DEJA posees pour postfix. La frontiere n est pas ecrite : elle porte la production, et le devis attend un mot. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
18 lines
937 B
Django/Jinja
18 lines
937 B
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 == 'locale' %}
|
|
; MODE `locale` : AUCUN BACKEND DE GROUPES. Un backend `ldap` qui vise une ressource
|
|
; inexistante ne rend pas une liste vide — il fait ECHOUER chaque ouverture de session,
|
|
; et l'erreur parle d'annuaire a qui n'en a jamais declare.
|
|
{% 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 %}
|