1.2. Problématique
Comment développer des applications
sécurisées, fiables et performantes et en même temps gagner
du temps dans le développement de ses applications? C'est une question
que tout bon développeur doit se poser. Ce projet permettra d'apporter
une solution à ce problème en mettant à disposition des
développeurs un service cloud qui s'occupera de la gestion de la
sécurité en se basant sur un outil de gestion des
identités et des accès (IAM en anglais pour Identity and Access
Management): «Keycloak», sans pour autant avoir besoin d'en
être expert. Ce qui leur permettra de se consacrer au
développement des fonctionnalités de leurs applications et ne
plus se soucier de la mesquinerie liée à la
sécurité.
1.3. Objectifs
1.3.1. Objectif Global
Suite à la question émise dans la
problématique, nous aurons pour objectif final de ce mémoire, la
mise en place d'un service cloud de gestion des identités et des
accès basée sur l'outil Keycloak afin d'alléger la charge
des développeurs et leur permettre de se concentrer sur les besoins
fonctionnels des logiciels qu'ils développent.
Le service sera accessible via le cloud et permettra au
développeur qui bénéficiera du service de gérer
l'accès à son application de deux manières:
a. La première option: fait en sorte
que lorsqu'un utilisateur d'une application utilisant notre service, essaie
d'accéder à une ressource sécurisée, il est
redirigé sur notre plateforme cloud et celle-ci se charge de son
authentification, et en fonction du résultat obtenu l'application
autorise ou non l'utilisateur en question à accéder à la
ressource demandée.
b. La deuxième option: consiste
à laisser à l'application(bénéficiant de notre
service) le soin de gérer son interface et derrière il va faire
appel au service cloud via une API pour authentifier ses utilisateurs.
1.3.2. Objectifs
spécifiques:
Afin d'atteindre l'objectif principal, nous nous sommes
fixés des objectifs spécifiques à atteindre durant les 6
mois accordés au projet. Ces objectifs sont les suivants:
1. Inscription d'un client
2. Connexion d'un client
3. Récupérer une requête
d'authentification
4. Envoyer un réponse d'authentification
5. Interface d'administration permettant au client de:
a. Ajouter des applications à sécuriser
b. Faire des configurations pour chaque application
c. Supprimer une application
d. Fournir des utilisateurs pour ses applications
e. Consulter son activité.
f. Choisir un mode et une méthode de paiement.
g. Annuler sa souscription au service
|