mirror of
https://github.com/Alkatrazz24/Funk-lab.git
synced 2026-07-08 06:44:42 +02:00
feat(guacamole): SSO direct — redirection immédiate vers Authentik (#79)
EXTENSION_PRIORITY "openid, *" : plus de formulaire local, l'arrivée sur portail.lab.local redirige directement vers Authentik. L'admin passe par un compte SSO avec « Administer system » (guacadmin devient inaccessible ; retour arrière = remettre "*, openid"). Doc : pièges slug d'application (≠ guacamole → JWKS 404) et anti-bruteforce (IP Traefik bloquée pour tous après 5 échecs) découverts pendant la mise en route. Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
8137830e53
commit
fbec998c21
2 changed files with 21 additions and 7 deletions
|
|
@ -93,11 +93,22 @@ kubectl -n auth create secret generic guacamole-secret \
|
|||
serveur→serveur de Guacamole ne dépend pas de la résolution `lab.local` des pods.
|
||||
L'issuer, lui, reste `http://auth.lab.local/...` (doit matcher le claim `iss` des
|
||||
tokens émis via le navigateur).
|
||||
3. **`EXTENSION_PRIORITY="*, openid"`** : garde le formulaire local (guacadmin) accessible
|
||||
en plus du SSO — sans ça, redirection OIDC forcée et plus d'accès admin local.
|
||||
4. **User `console` sans sudo** (volontaire) : le portail sert à observer/opérer léger.
|
||||
3. **`EXTENSION_PRIORITY="openid, *"`** : arrivée sur le portail = **redirection
|
||||
immédiate vers Authentik** (pas de formulaire local). Conséquence : `guacadmin` est
|
||||
inaccessible — l'admin Guacamole passe par un compte SSO auquel on a coché
|
||||
**« Administer system »** (fait pour `Alkatrazz`). Prérequis absolu avant d'activer :
|
||||
avoir donné ce droit, sinon plus d'admin. Dépannage si Authentik est HS : remettre
|
||||
`"*, openid"` dans `k8s/apps/guacamole/deployment.yaml` (le formulaire local revient).
|
||||
4. **Le slug de l'application Authentik doit être exactement `guacamole`** : Authentik
|
||||
le génère depuis le nom (« Portail consoles » → `portail-consoles`) et l'issuer/JWKS
|
||||
deviennent faux → log Guacamole `Non 200 status code (404) ... /o/guacamole/jwks/`
|
||||
et token rejeté. Corriger : Applications → Edit → Slug.
|
||||
5. **Anti-bruteforce intégré** (extension `ban`) : 5 échecs → IP bloquée ~5 min. Derrière
|
||||
Traefik, l'IP vue est celle du proxy → **le blocage touche tout le monde**. Patienter
|
||||
ou redémarrer le pod guacamole pour purger.
|
||||
6. **User `console` sans sudo** (volontaire) : le portail sert à observer/opérer léger.
|
||||
L'administration passe par les comptes admin habituels, pas par Guacamole.
|
||||
5. **Enregistrement des sessions** : possible (guacd + volume partagé) mais non configuré
|
||||
7. **Enregistrement des sessions** : possible (guacd + volume partagé) mais non configuré
|
||||
— gap connu, à ajouter si le portail s'ouvre à d'autres utilisateurs.
|
||||
6. La config Authentik (provider, app, utilisateurs) et les connexions Guacamole vivent
|
||||
8. La config Authentik (provider, app, utilisateurs) et les connexions Guacamole vivent
|
||||
**en base, pas en IaC** — comme le Server Manager Satisfactory. Backup PG = gap connu.
|
||||
|
|
|
|||
|
|
@ -59,9 +59,12 @@ spec:
|
|||
value: "preferred_username"
|
||||
- name: OPENID_SCOPE
|
||||
value: "openid profile email"
|
||||
# L'extension base (autorisation/connexions) passe avant l'OIDC (authentification)
|
||||
# OIDC prioritaire : arrivée sur le portail = redirection immédiate vers
|
||||
# Authentik (pas de formulaire local). Conséquence : guacadmin devient
|
||||
# inaccessible — l'admin passe par un compte SSO avec « Administer system ».
|
||||
# Dépannage sans Authentik : remettre "*, openid" ici et re-sync.
|
||||
- name: EXTENSION_PRIORITY
|
||||
value: "*, openid"
|
||||
value: "openid, *"
|
||||
- name: TZ
|
||||
value: "Europe/Paris"
|
||||
resources:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue