`realm-admin` (role du client `realm-management`) est attache au GROUPE sysadmin. Administrer le realm ne passe plus par le compte local. Portee : CE realm, jamais `master` — le compte de secours reste hors d'atteinte du groupe, et c'est le sens meme d'un acces de secours (D-40). Les roles de CLIENT sont un espace de noms distinct : la declaration gagne `roles_client`. L'API attend l'UUID du client, pas son clientId — interroger par le nom rendait une erreur, la verification echouait toujours et la tache se declarait `changed` a chaque passage. Deux passages consecutifs a changed=0. La boucle de changement de mot de passe : `pwdMustChange: TRUE` signifie « quand un ADMINISTRATEUR pose un mot de passe, l'utilisateur doit le changer ». Keycloak ecrit en tant qu'administrateur — chaque changement relaye etait vu comme une reinitialisation. Incompatible par construction avec un IdP qui relaie. La contrainte est deplacee la ou l'utilisateur la voit : pwdMustChange FALSE cote annuaire, action `UPDATE_PASSWORD` posee par Keycloak. J'avais eprouve pwdReset au niveau LDAP, ou il marche, sans parcourir le chemin complet. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
28 lines
1.3 KiB
YAML
28 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
|
|
# Role de CLIENT (`realm-management`), attache au GROUPE. Portee : ce realm
|
|
# seulement, jamais `master` — le compte de secours reste hors de portee du
|
|
# groupe, ce qui est le sens meme d'un acces de secours (D-40).
|
|
porte_par: role-client
|
|
raison: >-
|
|
Administration du realm : clients, mappers, politiques, utilisateurs.
|