Imposer le MFA¶
L'authentification multi-facteur est optionnelle par défaut dans AKKO v2026.04 afin que les utilisateurs de démo (alice / bob / carol / dave / eve) restent utilisables sur un cluster dev sans app TOTP. En production — et pour satisfaire NIS2 Art. 21(2)(h) (cryptographie + contrôle d'accès) — activer l'overlay MFA.
Overlay¶
helm upgrade akko oci://harbor.akko-ai.com/akko-charts/akko \
--version 2026.04 \
-f values-harbor.yaml \
-f values-domain.yaml \
-f values-dev-secrets.yaml \
-f values-mfa-enforce.yaml
Ce que fait l'overlay¶
- Bascule la required action Keycloak
CONFIGURE_TOTPendefaultAction=true— chaque nouveau user est invité à enrôler un TOTP à la première connexion. - Marque les membres existants des groupes
akko-admins+akko-engineersavec la même required action — ils doivent enrôler à leur prochaine connexion. - Ajoute la required action
webauthn-register(clé matérielle) surakko-adminspour défense en profondeur. - Durcit la password policy du realm : 12 chars + majuscule + chiffre + spécial + not-username + history(5).
Ce que l'overlay NE fait PAS¶
- Ne force pas le MFA sur
akko-analyst,akko-steward,akko-viewer— ces rôles peuvent rester en password-only si le cluster est derrière un VPN. SurchargerroleRequiredActionspour étendre. - Ne remplace pas les sessions Keycloak déjà ouvertes. Les utilisateurs avec session vive gardent leur session jusqu'à expiration ; ensuite la connexion suivante déclenche l'enrôlement TOTP.
Plan de rollout¶
| Étape | Qui | Action |
|---|---|---|
| 1 | Admins | Activer d'abord sur un realm de staging, vérifier le flow de login |
| 2 | Com' | Mailer la base user 7 j à l'avance avec un lien vers « Comment enrôler TOTP » |
| 3 | Ops | Appliquer l'overlay en prod pendant une fenêtre de maintenance |
| 4 | Support | Surveiller la file de lockout (#akko-support Slack) pendant 48 h |
| 5 | Conformité | Archiver le changement comme preuve du contrôle NIS2 Art. 21(2)(h) |
Désactiver¶
Pour rollback en cas d'incident, omettre l'overlay et relancer un
helm upgrade. Les required actions sont idempotentes et Keycloak
laissera les users se connecter sans TOTP jusqu'à ce que leur
enrôlement soit révoqué manuellement.
Instructions user (à localiser + distribuer)¶
- Aller sur
https://cockpit.<domaine>/account. - Cliquer sur Sécurité du compte → Authentification à deux facteurs.
- Scanner le QR code avec Google Authenticator, Microsoft Authenticator, 1Password, Bitwarden ou n'importe quelle app TOTP RFC 6238.
- Saisir le code à 6 chiffres.
- Sauvegarder les codes de récupération dans un password manager.
Observabilité¶
akko_keycloak_login_total{grant="password_and_totp"}— logins MFAakko_keycloak_login_total{grant="password_and_webauthn"}— admins avec clé matérielleakko_keycloak_login_failures_total— bump quand le MFA échoue
Dépannage¶
| Symptôme | Cause | Correctif |
|---|---|---|
| Utilisateur bloqué sur « Configure TOTP » avec QR code vide | Dérive horloge du pod Keycloak | kubectl exec ... -- date contre un NTP |
| « Code invalide » à chaque tentative | Décalage horloge de l'authenticator | Resync NTP du téléphone, ou élargir la fenêtre Keycloak (Admin → Authentication → OTP → Window) |
| Lockout massif après application | Overlay d'urgence sans étape com' | Un admin peut réinitialiser CONFIGURE_TOTP par user via Admin → Users → Required Actions |