Les principales fonctionnalités de l'IAM
La création d'un utilisateur et l'authentification 2FA
Un administrateur ou un utilisateur autorisé enregistre le nom, le prénom et l'adresse électronique d'un nouvel utilisateur. Ce dernier recevra un lien par messagerie pour activer son compte, ce qui lui permettra de définir son mot de passe et d'ajouter son smartphone comme second facteur d'authentification, grâce à un QRcode. L'utilisateur s'authentifiera avec son adresse électronique et son mot de passe, comme premier facteur d'authentification.
Pour le deuxième facteur dʼauthentification, un jeton One-Time Passcode ou One-Time Password (OTP), sous forme de code de vérification sera envoyé sur le numéro de téléphone déclaré. Comme pour chaque opération de gestion d'un utilisateur : création, affichage, modification, suppression, il est possible d'utiliser la Console ou les API.
Lien vers la Documentation API.
La création d'un compte de service
Pour un compte de service, il n'y aura pas de contrôle par un deuxième facteur pour la connexion. La réponse à la requête de création contiendra la clé secrète.
Les parcours de connexion
La connexion au système d'information se fait en suivant le protocole d'authentification OIDC (OpenID Connect), qui utilise le protocole sous-jacent OAuth2. À l'issue des processus d'identification et d'authentification, l'utilisateur obtient un jeton d'accès (token) qu'il devra présenter à chaque accès à une ressource.
Pour un compte utilisateur
La connexion d'un utilisateur se fera comme vu précédemment en deux temps via une page d'authentification et le TOTP. À l'issue des contrôles par le serveur d'identité, un jeton d'accès sera retourné à l'utilisateur.
Pour un compte de service
Le schéma de connexion sera plus simple car il ne passe pas par une double authentification avec un formulaire web. Le service présentera l'identifiant de son compte et la clé secrète au serveur d'identité qui, après contrôle, lui délivrera un jeton d'accès (token).
Le blocage et déblocage d'un compte utilisateur
Au bout de trois tentatives de connexion infructueuses le compte de l'utilisateur sera automatiquement bloqué. Il ne pourra plus se connecter au système. Pour réactiver un compte:
- Auto-réactivation : Les utilisateurs ont à leur disposition une procédure de type self-service pour demander un lien de réactivation par e-mail. Ce dispositif est similaire à la manière dont le compte a été initialisé.
- Assistance par administrateur/gestionnaire de compte : un administrateur ou un gestionnaire de compte peut intervenir en générant un lien de réactivation à envoyer à l'adresse e-mail de l'utilisateur. Ils peuvent également directement mettre à jour l'état du compte utilisateur en le passant de "inactif" à "actif".
- Lien API recover d'un compte utilisateur:
- Lien API de modification de l'état du compte:
Suppression d'un compte et de ses permissions
La transaction de suppression de compte, supprime définitivement le compte du système. Aussi pour des raisons de traçabilité et d'audit, il est recommandé de réaliser cette opération en deux temps:
- Rendre le compte inactif et supprimer ses permissions
- Procéder à la supression du compte.
Vérifier toutes ses permissions granulaires et celles issues d'un rôle.
Lien API:
Le token d'accès
Après avoir été identifié et authentifié, l'utilisateur ou le compte de service recevra un token d'accès valide pour une durée limitée. Le navigateur présentera ce token auprès de chaque ressource à laquelle il accède. Le compte de service fera de même dans le corps de la requête à destination de l'API. L'IAM met à la disposition des ressources une API permettant de réaliser une introspection du token afin de s'assurer de sa validité et d'extraire les informations véhiculées. Une de ces informations sera le type de compte associé au token: compte utilisateur ou compte de service. Les fonctions de l'introspection sont de :
- Statuer sur la validité d'un token d'accès
- Retourner des informations contenues dans le token (id de l'utilisateur, type de compte etc. )
Lien API :