Passer au contenu principal

Qu’est-ce que la gestion des identités et des accès (IAM) ?

La gestion des identités et des accès permet de contrôler la vérification des utilisateurs et l’accès aux ressources. Communément appelée IAM, cette technologie garantit que les bonnes personnes accèdent aux bonnes ressources numériques, au bon moment et pour les bonnes raisons.

Concepts de base de l’IAM

Pour comprendre l’IAM, vous devez connaître certains concepts fondamentaux :
  • Une ressource numérique est toute combinaison d’applications et de données dans un système informatique. Parmi les exemples de ressources numériques, on trouve les applications Web, les API, les plateformes, les appareils ou les bases de données.
  • Au cœur de l’IAM se trouve l’identité. Quelqu’un souhaite accéder à votre ressource. Il peut s’agir d’un client, d’un employé, d’un membre, d’un participant, etc. En IAM, un compte utilisateur est une . Les comptes utilisateur peuvent aussi représenter des entités non humaines, comme des logiciels, des appareils de l’Internet des objets ou des robots.
Diagramme simple montrant un utilisateur accédant à une ressource
Diagramme simple montrant que le système IAM contrôle l’accès d’un utilisateur à une ressource
  • L’authentification est la vérification d’une identité numérique. Quelqu’un (ou quelque chose) s’authentifie pour prouver qu’il est bien l’utilisateur qu’il prétend être.
  • L’autorisation est le processus qui détermine à quelles ressources un utilisateur peut accéder.

La différence entre l’authentification et l’autorisation

Il est courant de confondre l’authentification et l’autorisation, parce que, pour les utilisateurs, elles donnent l’impression de faire partie d’une seule et même expérience. Il s’agit pourtant de deux processus distincts : l’authentification confirme l’identité d’un utilisateur, tandis que l’autorisation lui accorde ou lui refuse l’accès à certaines ressources. Vous pouvez voir l’authentification et l’autorisation comme le système de sécurité d’un immeuble de bureaux. Les utilisateurs sont les personnes qui veulent entrer dans l’immeuble. Les ressources auxquelles les gens veulent accéder sont les différentes zones de l’immeuble : les étages, les salles, etc. Authentification : Lorsque vous entrez dans l’immeuble, vous devez montrer votre badge avec photo à l’agent de sécurité. L’agent compare la photo sur le badge à votre visage. Si les deux correspondent, il vous laisse franchir la porte pour tenter d’accéder à différentes zones de l’immeuble. L’agent ne vous indique pas à quelles salles vous pouvez accéder; il vérifie seulement que vous êtes bien la personne que vous prétendez être. C’est cela, l’authentification : confirmer l’identité de l’utilisateur.
Schéma montrant que l’authentification ressemble à un agent de sécurité qui vérifie votre badge à l’entrée
Autorisation : Dans ce scénario, imaginez que les ascenseurs et les portes de l’immeuble sont munis de lecteurs de badge. La puce de votre badge vous donne accès uniquement au premier étage, celui qu’occupe votre entreprise. Si vous passez votre badge pour entrer à n’importe quel autre étage, l’accès vous est refusé. Vous pouvez accéder à votre bureau privé, mais pas à ceux de vos collègues. Vous pouvez entrer dans la réserve, mais pas dans la salle des serveurs. C’est cela, l’autorisation : accorder ou refuser l’accès à différentes ressources en fonction de l’identité.
Schéma montrant que l’autorisation ressemble à un badge qui vous donne accès à seulement certaines salles d’un immeuble
Pour en savoir plus sur l’authentification et l’autorisation, consultez Authentification et autorisation.

Que fait l’IAM ?

La gestion des identités et des accès vous permet de contrôler la validation des utilisateurs et l’accès aux ressources :
  • Comment les utilisateurs rejoignent votre système
  • Quelles informations sur les utilisateurs stocker
  • Comment les utilisateurs peuvent prouver leur identité
  • Quand et à quelle fréquence les utilisateurs doivent prouver leur identité
  • L’expérience de vérification d’identité
  • Qui peut ou non accéder aux différentes ressources
Vous intégrez l’IAM à votre application, à votre API, à votre appareil, à votre stockage de données ou à une autre technologie. Cette intégration peut être très simple. Par exemple, votre application web peut s’appuyer entièrement sur Facebook pour l’authentification et appliquer une stratégie d’autorisation tout ou rien. Votre application effectue une vérification simple : si un utilisateur n’est pas déjà connecté à Facebook dans le navigateur en cours, vous le redirigez pour qu’il le fasse. Une fois authentifiés, tous les utilisateurs peuvent accéder à tout dans votre application. Il est peu probable qu’une solution IAM aussi simple réponde aux besoins de vos utilisateurs, de votre organisation, de votre secteur ou de vos exigences de conformité. En pratique, l’IAM est complexe. La plupart des systèmes nécessitent une combinaison de ces capacités :
  • Expériences d’inscription et de connexion fluides : Des expériences d’inscription et de connexion fluides et professionnelles se déroulent dans votre application, avec l’apparence et le ton de votre marque.
  • Sources multiples d’identités utilisateur : Les utilisateurs s’attendent à pouvoir se connecter à l’aide de divers fournisseurs sociaux (comme Google ou LinkedIn), d’entreprise (comme Microsoft Active Directory) et autres fournisseurs d’identité.
  • (MFA) : À une époque où les mots de passe sont souvent volés, exiger une preuve d’identité supplémentaire est la nouvelle norme. L’authentification par empreinte digitale et les mots de passe à usage unique sont des exemples de méthodes d’authentification courantes. Pour en savoir plus, consultez Multi-Factor Authentication (MFA).
  • Authentification renforcée : L’accès à des fonctionnalités avancées et à des renseignements sensibles exige une preuve d’identité plus forte que celle requise pour les tâches et les données du quotidien. L’authentification renforcée exige une vérification d’identité supplémentaire pour certaines zones et fonctionnalités. Pour en savoir plus, consultez Add Step-up Authentication.
  •  : Empêcher les robots et les de s’introduire dans votre système est fondamental pour la cybersécurité. Pour en savoir plus, consultez Attack Protection.
  • Contrôle d’accès basé sur les rôles (RBAC) : À mesure que le nombre d’utilisateurs augmente, gérer l’accès de chaque personne devient rapidement irréaliste. Avec le RBAC, les personnes qui ont le même rôle ont le même accès aux ressources. Pour en savoir plus, consultez Role-Based Access Control.
  • (FGA) : Lorsque vous avez besoin de plus d’options pour gérer l’accès des utilisateurs à vos ressources ou à vos technologies, vous pouvez utiliser le contrôle d’accès basé sur les relations pour aller au-delà des rôles. Vous pouvez accorder à des utilisateurs individuels l’accès à certaines ressources et déterminer la solution la mieux adaptée à votre cas d’utilisation. Pour en savoir plus, consultez What Is Fine-Grained Authorization?
Face à ce niveau de complexité, de nombreux développeurs s’appuient sur une plateforme IAM comme Auth0 au lieu de créer leurs propres solutions.

Comment fonctionne l’IAM ?

« Gestion des identités et des accès » ne désigne pas un système unique clairement défini. L’IAM est une discipline et un type de cadre de référence servant à relever le défi de l’accès sécurisé aux ressources numériques. Il existe une multitude d’approches pour mettre en œuvre un système IAM. Cette section présente les éléments et les pratiques couramment utilisés.

Fournisseurs d’identité

Par le passé, la norme en matière de gestion des identités et des accès voulait qu’un système crée et gère lui-même les renseignements d’identité de ses utilisateurs. Chaque fois qu’un utilisateur voulait se servir d’une nouvelle application Web, il remplissait un formulaire pour créer un compte. L’application stockait tous ses renseignements, y compris ses identifiants de connexion, et effectuait sa propre authentification chaque fois qu’un utilisateur se connectait. À mesure qu’Internet a pris de l’ampleur et que de plus en plus d’applications sont devenues accessibles, la plupart des gens ont accumulé d’innombrables comptes utilisateur, chacun avec son propre nom de compte et son propre mot de passe à retenir. De nombreuses applications continuent de fonctionner ainsi. Mais beaucoup d’autres s’appuient maintenant sur des pour réduire leur charge de développement et de maintenance, ainsi que les efforts demandés à leurs utilisateurs. Un fournisseur d’identité crée, conserve et gère les renseignements d’identité, et peut fournir des services d’authentification à d’autres applications. Par exemple, Google Accounts est un fournisseur d’identité. Il stocke des renseignements de compte comme votre nom d’utilisateur, votre nom complet, votre titre de poste et votre adresse de courriel. Le magazine en ligne Slate vous permet de vous connecter avec Google (ou un autre fournisseur d’identité) au lieu de refaire les étapes de saisie et de stockage de vos renseignements.
Capture d’écran de la connexion au magazine Slate
Les fournisseurs d’identité ne partagent pas vos identifiants d’authentification avec les applications qui s’appuient sur eux. Slate, par exemple, ne voit jamais votre mot de passe Google. Google indique simplement à Slate que vous avez prouvé votre identité. Parmi les autres fournisseurs d’identité, on trouve les médias sociaux (comme Facebook ou LinkedIn), les systèmes d’entreprise (comme Microsoft Active Directory) et les fournisseurs d’identité légale (comme Swedish BankID).

Facteurs d’authentification

Les facteurs d’authentification sont des méthodes permettant de prouver l’identité d’un utilisateur. Ils se divisent généralement en ces grandes catégories :
Type de facteurExemples
Connaissance (quelque chose que vous savez)NIP, mot de passe
Possession (quelque chose que vous avez)Téléphone mobile, dispositif de clé de chiffrement
Inhérence (quelque chose que vous êtes)Empreinte digitale, reconnaissance faciale, lecture de l’iris
Les systèmes IAM exigent un ou plusieurs facteurs d’authentification pour vérifier l’identité.

Normes d’authentification et d’autorisation

Les normes d’authentification et d’autorisation sont des spécifications ouvertes et des protocoles qui indiquent comment :
  • Concevoir des systèmes IAM pour gérer l’identité
  • Transférer des données personnelles de manière sécurisée
  • Déterminer qui peut accéder aux ressources
Ces normes du secteur de l’IAM sont considérées comme les plus sécuritaires, les plus fiables et les plus faciles à mettre en œuvre :

OAuth 2.0

est un protocole de délégation pour l’accès aux API et la norme de l’industrie pour l’IAM. En tant que protocole d’autorisation ouvert, OAuth 2.0 permet à une application d’accéder, au nom d’un utilisateur, à des ressources hébergées par d’autres applications web, sans jamais partager les identifiants de cet utilisateur. C’est la norme qui permet aux développeurs tiers de s’appuyer sur de grandes plateformes sociales comme Facebook, Google et Twitter pour la connexion. Pour en savoir plus, consultez OAuth 2.0 Authorization Framework.

OpenID Connect

Couche d’identité simple qui s’appuie sur OAuth 2.0, Connect (OIDC) permet de vérifier facilement l’identité d’un utilisateur et d’obtenir des renseignements de base sur son profil auprès du fournisseur d’identité. OIDC est un autre protocole ouvert. Pour en savoir plus, consultez OpenID Connect Protocol.

Jetons Web JSON

(JWT) constituent une norme ouverte qui définit une méthode compacte et autonome pour transmettre de façon sécurisée de l’information entre des parties, sous la forme d’un objet JSON. Les JWT peuvent être vérifiés et jugés fiables, puisqu’ils sont signés numériquement. Ils peuvent servir à transmettre l’identité d’utilisateurs authentifiés entre le fournisseur d’identité et le service qui demande l’authentification. Ils peuvent aussi être authentifiés et chiffrés. Pour en savoir plus, consultez JSON Web Tokens.

Langage de balisage pour les assertions de sécurité (SAML)

(SAML) est un format de données XML ouvert et normalisé qui permet aux entreprises de transmettre des informations d’authentification et d’autorisation des utilisateurs à des entreprises partenaires et à des applications d’entreprise qu’utilisent leurs employés. Pour en savoir plus, consultez SAML.

Web Services Federation (WS-Fed)

Mis au point par Microsoft et largement utilisé dans ses applications, ce standard définit comment les peuvent être transportés entre différentes entités afin d’échanger des informations d’identité et d’autorisation. Pour en savoir plus, consultez Web Services Federation Protocol.

Pourquoi utiliser une plateforme IAM ?

Pourquoi autant de développeurs choisissent-ils de s’appuyer sur une plateforme de gestion des identités et des accès au lieu de créer leur propre solution à partir de zéro ? Les attentes des utilisateurs, les exigences des clients et les normes de conformité posent d’importants défis techniques. Lorsqu’il faut gérer plusieurs sources d’utilisateurs, facteurs d’authentification et normes ouvertes du secteur, les connaissances et le travail nécessaires pour créer un système IAM typique peuvent être considérables. Une plateforme IAM robuste offre une prise en charge intégrée de tous les fournisseurs d’identité et facteurs d’authentification, propose des API qui facilitent l’intégration à votre logiciel et s’appuie sur les normes du secteur les plus sécuritaires en matière d’authentification et d’autorisation. Pour ceux qui n’ont pas encore décidé s’il vaut mieux créer ou acheter une solution IAM, Créer ou acheter : guide d’évaluation de la gestion des identités est une ressource utile.