documentation_publique:concepts:gestion_des_utilisateurs

Authentification

L'authentification consiste à prouver qui vous êtes. Cela ne concerne pas la gestion des droits (authorisation / permission).

Dans une infrastructure disposant de nombreux services, il est souhaitable de centraliser le mécanisme d'authentification, ainsi que la base de données des utilisateurs.

Du point de vue utilisateur, cela permet:

  • de ne pas avoir à se créer un compte sur chaque service
  • d'avoir un seul mécanisme d'authentification, plutôt que de gérer son authentification par service (par exemple un seul mot de passe)

Du point de vue administrateur, cela permet:

  • de faciliter la gestion des utilisateurs

Pour les administrateurs, cela permet de faciliter la gestion des permissions et le dépannage des utilisateurs (oubli de mot de passe). En particulier, lors de la suppression des droits de certains utilisateurs, on peut être assuré de ne pas avoir oublié des points d'accès.

De façon général, cela permet d'améliorer la sécurité.

D'un point de vue sécurité, la façon la plus sécurisé pour s'authentifier consiste à utiliser un mécanisme de clé publique/privé permettant de résoudre un challenge.

Le problème principal des mots de passe vient du fait qu'il est nécessaire de les envoyer (soit directement, soit au travers d'un hash) au système auprès duquel on souhaite s'authentifier (on considère une connexion chiffrée). Dans le cas d'une authentification centralisée, on peut en plus distinguer deux types de systèmes. Dans le premier cas le mot de passe est envoyé au système, qui vérifie ensuite le mot de passe auprès de l'IDP. Dans le second cas, plus sécurisé, le système nous renvoi vers l'IDP, auquel nous envoyons le mot de passe, et qui nous retourne un jeton d'authentification à donner au système.

TLDR: Clé assymétrique > Mot de passe envoyé à l'IDP > Mot de passe envoyé au système

NB: Un mot de passe peut être utilisé pour dériver la clé privé d'un chiffrement assymétrique.

Single Sign On (SSO) consiste à ne s'identifier qu'une seule fois au cours de la session (journée / lock de l'ordinateur). Une fois authentifié, tous les services auxquels on a accès sont disponibles sans avoir à s'authentifier de nouveau.

Directory Server Authentication

Single Sign On (SSO): Nom implémenté

Reduce Sign On (RSO): SSO + accès à certains services (par exemple une banque) nécessite une authentification supplémentaire. Autre exemple: un administrateur utilise des services à la fois comme utilisateur et comme administrateurs, utilisant un mécanisme d'authentification plus sécurisé (MFA) lorsqu'il se connecte en tant qu'administrateur.

https://stackoverflow.com/questions/16661931/single-sign-on-vs-reduced-sign-on

Synchronisation local. En cas de perte d'accès, utilisation de la base de donnée des utilisateurs locale.

Avec OpenID, un service A peut authoriser son accès avec une identité provenant d'un service B sans pour autant avoir accès aux données de l'utilisateur stockées par le service B. (Ce n'est pas le cas avec Kerberos).

Quid de la situation suivante:

Service A et B utilise Service C pour s'authentifier.
Service A veut utiliser des données du service B.
Service C ne doit pas avoir accès aux données des services A ou B.
  • Local
  • Remote (credentials never sent to server, directly sent to IDP)
  • Asymetric (either local or remote)


## Gestion des utilisateurs

  • Local
  • Remote


## Authorisation

  • Temporaire
    • sans révocation immédiate
    • avec révocation immédiate
  • Indéfinie

Service authentication vs Remote authentication (credentials never sent to server)

  • documentation_publique/concepts/gestion_des_utilisateurs.1572095039.txt.gz
  • Dernière modification : il y a 5 ans
  • de jdorel