📄️ Solution d'identité et de management
Open ENT v3 s'appuie sur la solution d'identité et de management KeyCloak par défaut.
📄️ Gestion de l'Intégrité des Données dans Open ENT
Introduction
📄️ Pratiques de sécurité
Il est crucial d'intégrer les meilleures pratiques de sécurité dès le début du développement. Voici des recommandations spécifiques pour garantir une sécurité robuste :
📄️ Fédération des utilisateurs
Le User Federation dans Keycloak permet d'intégrer et d'authentifier des utilisateurs provenant de sources de données externes, comme des bases de données LDAP, des services REST, ou même des bases de données relationnelles. Cela permet à Keycloak d'accéder à des utilisateurs qui existent déjà dans d'autres systèmes sans les dupliquer dans la base de données de Keycloak. Cela permet également de gérer les utilisateurs de manière centralisée.
📄️ Attributs dans les tokens JWT Keycloak
Un JWT (JSON Web Token) est un standard ouvert pour la création de tokens sécurisés et compactés, utilisés principalement pour l'authentification et l'échange sécurisé d'informations entre deux parties. Le token JWT est utilisé dans les microservices pour permettre une authentification sans état (stateless) et pour faciliter la communication entre services.
📄️ Différence entre l'ID Token et l'Access Token
Dans Keycloak (et plus généralement dans les systèmes utilisant OAuth 2.0 et OpenID Connect), l'ID token et l'access token ont des objectifs différents bien qu'ils soient tous deux des jetons JWT (JSON Web Tokens). Voici les différences principales :
📄️ Protocoles de sécurité
Open ENT doit supporter différents protocoles d'authentification et d'autorisation pour pouvoir intégrer le plus grand nombre de services et modules en toute securité.
📄️ Authentification multi-facteur
Pour mettre en œuvre une authentification multi-facteur (MFA) avec Keycloak en combinant le fournisseur personnalisé Open ENT/Neo4j et un service OTP (One-Time Password), voici les étapes clés :
📄️ Audit
Les activités de l'utilisateur sont stockées soit :
📄️ Groupes et rôles
Dans le monde de l'informatique, les concepts de Groupe et de Rôle sont souvent flous et interchangeables.
📄️ Périmètre d'accès - Scope
Un scope (ou "périmètre d'accès") est un mécanisme permettant à une application cliente de demander l'accès à un ensemble spécifique d'informations sur l'utilisateur lors de l'authentification avec un fournisseur d'identité (comme Keycloak, OpenID Connect, OAuth2).
📄️ Encryption
L'encryption des mots de passe d'Open ENT utilise bcrypt, un algorithme de hachage spécifiquement conçu pour sécuriser les mots de passe.
📄️ Extensions KeyCloak
En dehors des extensions obligatoires ajoutés dans Keycloak pour gérer les utilisateurs dans l'annuaire de Open ENT, Keycloak propose un nombre important de fonctionnalités interessantes.