Set-OPS-Public/roles/serveur_keycloak/meta/acces.yml
Daniel Allaire 74a2456f09 keycloak : group-ldap-mapper — le role s'attache au GROUPE
La chaine est complete : LDAP cn=sysadmin -> groupe de realm -> role
grafana-admin -> Admin dans Grafana. Ajouter quelqu'un au groupe dans l'annuaire
lui ouvre Grafana sans deploiement et sans que personne ne soit nomme (D-66).
Rejoue : changed=0.

Defaut de fond trouve en chemin : la federation LDAP n'etait JAMAIS reconciliee.
`federation-ldap.yml` creait le provider s'il manquait puis ne le corrigeait
plus — il pointait encore `ldaps://id-ldap-01...`, le nom errone corrige le matin
meme dans `resoudre_annuaire`. La synchronisation echouait sur `UnknownHost`.

C'est le revers de D-67 au mauvais endroit : l'INFRASTRUCTURE se reconcilie,
seules les appartenances ne le sont pas. URL, usersDn et bindDn sont desormais
corriges a chaque passage.

Et j'avais masque l'echec avec `|| true` : le mapper existait, le realm restait
vide, rien ne disait pourquoi. Retire — l'erreur remonte avec son message.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-07 14:32:47 -04:00

29 lines
1.3 KiB
YAML

---
# Keycloak n'est pas un CONSOMMATEUR d'habilitations : il les PROJETTE (D-65).
# LDAP porte les groupes, Keycloak les traduit en roles de realm que les services
# lisent dans le jeton. Sa declaration a donc une autre forme.
#
# `projette` decrit la traduction attendue ; `porte_par` dit ce qui la realise.
acces_projection:
# `group-ldap-mapper` importe les groupes de l'annuaire dans le realm, et le
# ROLE EST ATTACHE AU GROUPE — pas a une personne (D-66). Ajouter quelqu'un a
# `cn=sysadmin,ou=groups` lui ouvre Grafana en Admin, sans deploiement.
# `serveur_keycloak_groupes_roles` declare la correspondance.
- groupe: sysadmin
projette: [grafana-admin]
porte_par: group-ldap-mapper
raison: >-
Le groupe d'administration devient le role de realm que Grafana lit dans le
claim `roles`.
# Ce que Keycloak accorde SUR LUI-MEME (sa propre console d'administration).
acces:
- groupe: sysadmin
accorde: realm-admin
# /!\ Non cable : la console d'administration de Keycloak reste accessible au
# seul compte local `admin` (voute). C'est l'acces de secours de D-40 — mais il
# devrait AUSSI etre atteignable par le groupe, sans quoi administrer le realm
# oblige a passer par le compte de secours.
porte_par: aucun
raison: >-
Administration du realm : clients, mappers, politiques.