Set-OPS-Public/roles/amorcage_acces/defaults/main.yml
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

44 lines
2.2 KiB
YAML

---
# --- AMORCAGE DES ACCES (D-67) ------------------------------------------------
# Ce role cree UN acces — celui du sysadmin — puis se retire. Il n'est PAS un
# gestionnaire de comptes : apres son passage, c'est une personne qui gouverne.
#
# IDEMPOTENCE PAR EXISTENCE, PAS PAR CONFORMITE. Si le compte est la, on n'y
# touche pas : ni mot de passe, ni groupes, ni attributs. Il a pu etre renomme,
# promu, deplace — c'est le droit de celui qui exploite. Reconcilier effacerait
# le compte cree la veille pour un nouvel employe.
#
# Voir docs/autorisation.md (§6 = runbook de reprise).
amorcage_acces_actif: true
# Le compte d'amorcage. `uid` est l'identifiant de connexion.
amorcage_acces_uid: "sysadmin"
amorcage_acces_nom: "Administrateur systeme"
# A DECLARER — la seule valeur de ce role qui ne peut PAS se deriver. Elle
# designe une personne, qui est par definition hors du systeme qu'on amorce :
# une adresse `{{ amorcage_acces_uid }}@{{ '{{' }} domaine_interne {{ '}}' }}`
# serait servie par une boite que l'exploitant ne peut pas encore lire.
#
# Sans elle, « mot de passe oublie » (serveur_keycloak) affiche un ecran qui
# promet un courriel dont l'adresse n'existe nulle part, et le seul recours
# redevient l'exploitant manipulant le mot de passe d'autrui.
amorcage_acces_courriel: ""
# Le groupe qui porte l'habilitation. Les services le reconnaissent par
# `meta/acces.yml` — eux sont reconcilies, l'appartenance ne l'est pas.
amorcage_acces_groupe: "sysadmin"
# Le secret d'amorcage. GENERE par le depot (il en est la source : personne
# n'existe encore pour le choisir), depose en voute, et CHANGE A LA PREMIERE
# OUVERTURE. Ce n'est donc jamais *le* mot de passe de quelqu'un : c'est un jeton
# a usage unique. Sans le changement force, l'auteur du deploiement connaitrait
# le mot de passe du sysadmin.
amorcage_acces_secret: "{{ vault_sysadmin_amorcage | default('') }}"
# Force le changement a la premiere connexion (attribut LDAP `pwdReset`, lu par
# Keycloak et par la politique de mot de passe de slapd).
amorcage_acces_changement_force: true
# Connexion a l'annuaire — DERIVEE par le role `resoudre_annuaire`, jamais ecrite.
amorcage_acces_admin_password: "{{ vault_openldap_admin | default('') }}"