1. 1. Chap1: Introduction
Générale
«La sécurité n'est pas une
fonctionnalité mais une nécessité». Jamais cette
affirmation n'a autant été d'actualité qu'à cette
époque où le système d'information des entreprises est de
plus en plus complexe, ouvert et en constante évolution.
La sécurité de ce système, indispensable
au bon fonctionnement de l'entreprise, repose sur une multitude de solutions,
outils et technologies. Au coeur de ce système gravite le maillon
à la fois le plus important et le plus vulnérable: l'utilisateur.
Il ne peut y avoir de gestion optimale de la sécurité du
Système d'Information SI sans maîtrise de l'identité et des
droits d'accès de ce dernier: la mise en place d'une stratégie
IAM et plus précisément d'une plateforme de gestion des
identités et des accès permet à l'entreprise de fiabiliser
la sécurité de son SI en protégeant son coeur
névralgique.
Un autre point mais pas des moins importants est la constante
évolution des entreprises qui se tournent de plus en plus vers les
nouvelles technologies de cloud computing.
Gérer efficacement l'ensemble des identités de
ses utilisateurs, tout en évoluant vers les nouvelles technologies
imposées par cette époque d'innovation, est un vrai défi
à l'heure où les systèmes d'informations se
complexifient.
Cette complexité se ressent évidemment au niveau
du développement des logiciels utilisés par les entreprises
compliquant ainsi la tâche aux développeurs déjà
assez surchargés par la livraison des fonctionnalités
adaptées aux besoins des clients (entreprises et particuliers) et le
respect des délais imposés par ces derniers tout en migrant vers
les nouvelles technologies de cloud computing.
Ces dernières années, bon nombre d'outils ont
été développés pour répondre à ce
besoin, Keycloak est l'un de ces outils de gestion d'identité et des
accès ayant fait ses preuves. Et pourtant si les entreprises ont pu
bénéficier d'une sécurité plus stable et robuste
elles restent cependant toujours dans les anciennes méthodes de
développement, et les développeurs ne sont pas plus
soulagés de leurs charges.
Tout ceci étant mis sur table, la solution
idéale serait un outil qui, non seulement gère bien les
identités et accès des utilisateurs mais qui soit
également une solution qui répond aux exigences du cloud et fait
gagner du temps aux développeurs. Ainsi nous nous proposons de mettre en
place une solution cloud de gestion des identités et des accès,
ceci, en prenant comme socle un outil d'IAM mature à savoir keycloak.
Étant moi-même développeuse, je suis
apte à dire que bien souvent, nous développeurs, mettons nos
compétences au service de bien de domaines ce qui n'est pas une mauvaise
chose, au contraire, mais très rarement à notre service. Ce
constat ajouté à la découverte des outils comme keycloak
m'ont interpellé et ont suscité mon intérêt pour la
mise en place d'un système qui non seulement sera
bénéfique aux entreprises mais également à nous
développeurs en nous allégeant la tâche et ainsi nous
permettre de nous concentrer sur le développement des besoins
fonctionnels et de livrer dans les délais impartis.
Afin de traiter le sujet et de répondre aux
questionnements émis, un plan de recherche a été
établi. Il consiste d'abord en une recherche documentaire qui s'est
porté sur des livres électroniques et des conférences en
ligne.Le tout s'est déroulé sur une période de deux mois.
La recherche a été complétée par de nombreuses
lectures sur le sujet.
Nous verrons dans un premier temps en détail le cadre
dans lequel s'inscrit notre projet, le problème auquel il essaie
d'apporter une solution, ses objectifs et les motivations qui ont poussé
à la réalisation de ce projet. (chapitre I). Nous allons
également analyser quelques solutions déjà existantes dans
le domaine de la gestion des identités et des accès(chapitre II),
avant de passer à la réalisation et l'implémentation de
notre solution (chapitre III) et finalement conclure et énoncer les
perspectives du projet(chapitre IV).
1.1. Contexte
Avec les avancées de l'internet, le
développement des applications et de toutes sortes de solutions
informatiques et en même temps du piratage de données ces
dernières années, la nécessité d'avoir un
système sécurisé n'est plus à prouver. Bien
qu'étant un domaine à part, la sécurité est
fondamentale dans tout processus de développement d'applications.
Toutefois il peut être fastidieux de mettre en place un système
d'authentification solide et fiable. On peut être bon développeur
et développer des applications vulnérables, c'est pourquoi il est
préférable de déléguer sa sécurité
à un spécialiste.
Plusieurs techniques sont utilisées par les
développeurs pour répondre à ce besoin: l'écriture
des écrans de login, la gestion des utilisateurs et de leurs mots de
passes, ou encore, l'utilisation de protocoles comme OAUTH 2.0. Une autre
approche plus récente consiste à l'implémentation du SSO
(Single Sign On / Single Sign Out). Les outils comme keycloak sont
dédiés à cette dernière option.
Cependant, si l'utilisation d'un outil comme keycloak est
très pratique, il faut noter que cela demande une certaine
familiarité et la prise en main n'est pas des plus facile. Les
configurations pouvant varier d'un projet à l'autre , il faut des
connaissances poussées mais surtout de l'expérience et une courbe
d'apprentissage assez importante pour parvenir à en tirer de
réels bénéfices.
|