Set-OPS-Public/roles/amorcage_acces
Daniel Allaire 775df924cb identite : « mot de passe oublie » — raccord SMTP derive du plan
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>
2026-08-08 06:08:06 -04:00
..
defaults identite : « mot de passe oublie » — raccord SMTP derive du plan 2026-08-08 06:08:06 -04:00
tasks identite : « mot de passe oublie » — raccord SMTP derive du plan 2026-08-08 06:08:06 -04:00
README.md amorcage_acces : le role qui cree UN acces puis se retire 2026-08-07 13:42:27 -04:00

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.