authentik

authentik

C'EST QUOI ?

authentik est un fournisseur d'identité auto-hébergé qui centralise l'authentification de tout un parc applicatif. Il parle SAML, OAuth2/OIDC, LDAP, RADIUS et SCIM, et sait aussi protéger une application qui ne gère aucun de ces protocoles en se plaçant devant elle en reverse proxy. Le cœur est en Python avec un frontend TypeScript et des outposts en Go. Le modèle est open core : le cœur est sous MIT, une édition Enterprise payante vient par-dessus.

POURQUOI C'EST INTÉRESSANT ?

  • Flux d'authentification composables : la brique centrale, ce sont les flows, des séquences d'étapes (identification, mot de passe, MFA, écriture utilisateur) que l'on assemble soi-même. Sept types de flux couvrent connexion, autorisation, inscription, déconnexion, récupération, configuration et désinscription.
  • Politiques évaluées à l'exécution : les policies se rattachent aux étapes et sont évaluées juste avant l'affichage, ce qui permet d'insérer une étape conditionnellement selon l'utilisateur, son IP ou son contexte.
  • Proxy d'application intégré : les outposts posent du SSO devant une appli legacy sans toucher à son code, et couvrent aussi l'accès distant en RDP, VNC et SSH.
  • MFA et accès conditionnel : WebAuthn et passkeys, TOTP, plus de la détection GeoIP et impossible travel pour conditionner l'accès.
  • Fédération large : sources OAuth2/OIDC, OAuth1, SAML2, LDAP et Kerberos en entrée, provisioning SCIM en sortie pour synchroniser les comptes vers les applications cibles.

CAS D'USAGE

  • Poser un SSO unique devant un homelab hétérogène, du NAS Synology à Grafana
  • Protéger une appli interne sans support OIDC via le proxy et ses outposts
  • Ouvrir un portail d'inscription en self-service avec validation par étapes
  • Servir de couche LDAP ou RADIUS pour du matériel réseau qui ne sait faire que ça
  • Provisionner et déprovisionner les comptes des applications cibles via SCIM