Le realm portait une politique d'acces complete et aucun moyen d'ecrire a qui que ce soit. Tout oubli remontait donc a l'exploitant, qui n'avait d'autre choix que de manipuler le mot de passe d'autrui. - serveur_keycloak/tasks/courriel-realm.yml : reconcilie smtpServer et resetPasswordAllowed ; hote du relais DERIVE de applications.postfix.hote, et refus explicite si le plan ne declare pas de MTA. - passe par l'API d'administration : kcadm.sh accepte les deux formes -s sur une map, sort en succes et n'ecrit rien (smtpServer reste vide). - amorcage_acces_courriel redevient a declarer : cette adresse designe une personne, hors du systeme qu'on amorce ; une boite interne serait illisible tant qu'on n'a pas l'acces qu'on cherche justement a recuperer. - autorisation.md §6.6 : le mecanisme, ses deux conditions, et l'ecart d'adresse laisse par l'ancien mode READ_ONLY de la federation. Preuve : banniere SMTP lue depuis idm-01, RCPT TO accepte, execute-actions-email declenche, MTA en starttls -> relay=mx.chezlepro.ca status=sent (250). Second deploiement changed=0. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| defaults | ||
| tasks | ||
| README.md | ||
amorcage_acces — l'accès initial du sysadmin
Crée un compte (uid=sysadmin) et un groupe (cn=sysadmin) dans LDAP, une
seule fois, pour que l'exploitant puisse prendre la main. Puis se retire.
Ce qu'il ne fait pas
Ce n'est pas un gestionnaire de comptes. Après son passage, créer, suspendre ou
réaffecter relève d'une personne — pas du dépôt (D-67, docs/autorisation.md).
Idempotence par existence, pas par conformité
C'est ce qui distingue ce rôle de tous les autres du dépôt.
compte absent → créé, secret généré en voûte, changement forcé
compte présent → AUCUNE action, quel que soit son état
Un compte présent est laissé strictement intact : ni mot de passe, ni groupes, ni attributs. Il a pu être renommé, promu, déplacé — c'est le droit de celui qui exploite.
Partout ailleurs dans Set-OPS, un écart entre le déclaré et le réel est un défaut à corriger. Ici, l'écart est le travail du sysadmin. Réconcilier effacerait le compte créé la veille pour un nouvel employé.
Le secret d'amorçage
vault_sysadmin_amorcage est généré — le dépôt en est la source, puisque personne
n'existe encore pour le choisir. Mais ce n'est jamais le mot de passe de quelqu'un :
pwdReset impose son changement à la première ouverture.
Sans ce changement, l'auteur du déploiement connaîtrait le mot de passe du sysadmin.
Où il s'exécute
Sur l'hôte qui porte serveur_openldap — il écrit par ldapi:///, socket locale. La
connexion à l'annuaire est dérivée par resoudre_annuaire, jamais écrite.
Après
docs/autorisation.md §6 est le runbook de reprise : où administrer quoi, comment se
rouvrir si on se ferme dehors, et ce qu'il faut régénérer pour que la livraison soit un
vrai transfert.