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>
29 lines
1.1 KiB
Django/Jinja
29 lines
1.1 KiB
Django/Jinja
; Géré par Set-OPS (rôle serveur_icingaweb2). Ne pas éditer à la main.
|
|
[icingadb]
|
|
type = "db"
|
|
db = "pgsql"
|
|
host = "{{ resoudre_base_db_host }}"
|
|
port = "{{ resoudre_base_db_port }}"
|
|
dbname = "{{ resoudre_base_entree.base }}"
|
|
username = "{{ resoudre_base_entree.proprietaire }}"
|
|
password = "{{ resoudre_base_db_password }}"
|
|
charset = "UTF8"
|
|
{% if serveur_icingaweb2_db_sslmode | default('') %}
|
|
; LE SERVEUR IMPOSE `hostssl` : sans ces deux lignes, PostgreSQL refuse la connexion et
|
|
; l'erreur parle de `pg_hba`, pas de chiffrement. Derive de ce que sert le serveur — voir
|
|
; `resoudre_base` et P78.
|
|
ssl_mode = "{{ serveur_icingaweb2_db_sslmode }}"
|
|
ssl_ca = "{{ serveur_icingaweb2_db_sslrootcert }}"
|
|
{% endif %}
|
|
{% if serveur_icingaweb2_auth != 'locale' %}
|
|
|
|
[icingaweb_ldap]
|
|
type = "ldap"
|
|
hostname = "{{ serveur_icingaweb2_ldap_url | regex_replace('^ldaps?://', '') }}"
|
|
port = "{{ serveur_icingaweb2_ldap_port }}"
|
|
encryption = "ldaps"
|
|
root_dn = "{{ serveur_icingaweb2_ldap_base }}"
|
|
bind_dn = "{{ serveur_icingaweb2_ldap_bind_dn }}"
|
|
bind_pw = "{{ serveur_icingaweb2_ldap_bind_password }}"
|
|
timeout = "5"
|
|
{% endif %}
|