Installation
- Les services fournis par Keycloak.
- Les protocoles standards et l'évolution des technologies standards.
- Serveur d’autorisation OAuth 2.0.
- Fournisseur d'identité : web SSO en IdP (identity provider) Initiated SSO ou OP OpenID Connect.
- Courtage d’identité (Identity Brokering).
- Clients, LDAP et importance de la signature numérique dans Keycloak.
Travaux pratiques
Installer, créer une instance d'un annuaire LDAP, une instance de Keycloak/Quarkus. Synchroniser les utilisateurs LDAP avec Keycloak. Personnaliser la clef de signature Keycloak (SAML et OIDC).
Les protocoles standards
- OAuth 2.0 : la syntaxe et les concepts, Access Token Opaque ou JWT, Refresh Token, les scopes.
- OpenID Connect : syntaxe et concepts (ID Token, Authorization Code Flow/PKCE, Implicit Flow, Device Code Flow).
- Les évolutions : CIBA, FAPI, OAuth 2.1.
Travaux pratiques
Configurer Keycloak et une application Password Flow OIDC (script shell) en Code Flow OIDC (module Apache mod_auth_openidc), en Implicit Flow OIDC (app JavaScript) et en Device Flow (script shell).
SAML V2
- Les concepts de base SAML V2.
- Les assertions XML.
- L’identity provider (IdP).
- Le service provider (SP).
- Les bindings.
- IdPinitiated ou SP initiated.
- Web SSO Profile et ECP Profile.
Travaux pratiques
Paramétrer IdP SAML V2 de Keycloak (traceur SAML V2 dans le navigateur, installer et configurer le SP mod_auth_mellon Apache, le SP client4 en web SSO Profile, tester le fonctionnement IdP Initiated).
Le mode Cluster (HA)
- Architecture de Keycloak.
- Keycloak : de Wildfly et Quarkus, sa base de données et le cache partagé Infinispan.
Travaux pratiques
Installation de 2 serveurs Keycloak en mode Cluster (HA).
Administration de Keycloak
- Interfaces d’administration.
- Administration via la commande kcadm.sh, via l’API d’administration.
- Délégation d’administration.
- Gestion des flux d’authentifications.
- Back Channel Logout OIDC.
- Single Logout SAML V2.
Travaux pratiques
Administrer Keycloak (exporter le Realm MIRAMAR de l’instance H2, importer dans le cluster, tester la délégation d'administration, tester l'authentification).
Délégation d'authentification (IDP)
- La notion de courtier d’identité (identity broker).
- Les services attendus de l’Identity Brokering de Keycloak.
- Identity Brokering Keycloak/Keycloak (OIDC).
- Identity Brokering SAML Keycloak/Azure AD.
- Identity Brokering SAML Keycloak/Auth0.
- Lien Identity Brokering module mod_auth_oidc et Keycloak.
Travaux pratiques
Mise en œuvre de l'authentification SAML 2.0 par Azure Active Directory (Azure AD), Keycloak / Auth0 et OpenID Connect Keycloak / Keycloak.
Audit et Monitoring
- Audit des événements utilisateurs.
- Audit des événements d’administration.
- Mise en place de metrics
- Architecture et cohabitation Keycloak, Prometheus et Graphana.
Travaux pratiques
Mise en place des metrics Keycloak. Supervision des événements utilisateurs et d'administration.