Présentation de la gestion des identités et des accès (IAM)

En quoi consiste la gestion des identités et des accès (IAM)?

La gestion des identités et des accès offre un contrôle sur la validation des utilisateurs et l’accès aux ressources. Communément appelée IAM, cette technologie garantit que les bonnes personnes ont accès aux bonnes ressources numériques au bon moment et pour les bonnes raisons.

Concepts de base à propos d’IAM

Pour comprendre IAM, vous devez connaître quelques concepts fondamentaux :

  • Une ressource numérique est un ensemble d’applications et de données dans un système informatique. Parmi les ressources numériques, on retrouve des applications Web, des API, des plateformes, des appareils et des bases de données.

  • L’identité est au cœur de l’IAM. Une personne souhaite accéder à une ressource. Il pourrait s’agir d’un client, d’un employé, d’un membre, d’un participant, etc. Grâce à l’IAM, un compte utilisateur est une identité numérique. Les comptes utilisateur peuvent aussi représenter des entités non humaines, telles que des logiciels, des appareils de l’Internet des objets ou des robots.

Diagramme simple montrant un utilisateur accédant à une ressourceDiagramme simple montrant que le système IAM contrôle l’accès des utilisateurs à une ressource
  • L’authentification est la vérification d’une identité numérique. Un individu (ou une chose) s’authentifie pour prouver qu’elle est bien l’utilisateur qu’elle prétend être.

  • L’autorisation est le processus qui consiste à déterminer les ressources auxquelles un utilisateur peut accéder.

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

Il est courant de confondre authentification et autorisation, car les utilisateurs ont l’impression qu’il s’agit d’une seule et même expérience. Il s’agit pourtant de deux processus distincts : l’authentification permet de prouver l’identité d’un utilisateur, tandis que l’autorisation accorde ou refuse à l’utilisateur l’accès à certaines ressources.

L’authentification et l’autorisation sont comparables à un système de sécurité dans un immeuble de bureaux. Les utilisateurs sont des personnes qui veulent entrer dans l’immeuble. Les ressources auxquelles ces utilisateurs souhaitent accéder sont représentées par les différentes zones de l’immeuble : les étages, les salles, etc.

Authentification : Lorsque vous pénétrez dans l’immeuble, vous devez montrer votre badge avec photo à l’agent de sécurité. Ce dernier compare alors la photo de votre badge à votre visage. Si les deux correspondent, il vous laisse passer la porte pour accéder à différentes zones du bâtiment. L’agent ne vous dit pas à quelles pièces vous avez accès; il s’assure simplement que vous êtes bien la personne que vous prétendez être. Il s’agit de l’authentification : la confirmation de l’identité de l’utilisateur.

Diagramme montrant comment l’authentification ressemble à un garde de sécurité vérifiant votre badge à l’entrée

Autorisation : Dans le même cas de figure, imaginez que les ascenseurs et les portes du bâtiment disposent de capteurs de clé pour en permettre l’accès. La puce de votre badge ne vous donne accès qu’au premier étage, lequel est occupé par votre entreprise. Si vous présentez votre badge pour accéder à un autre étage, l’accès vous est refusé. Vous pouvez accéder à votre bureau privé, mais pas à celui de vos collègues. Vous pouvez accéder à la salle des fournitures, mais à celle des serveurs. Il s’agit de l’autorisation, qui consiste à accorder et refuser l’accès aux différentes ressources selon l’identité.

Diagramme montrant comment l’autorisation est similaire à un badge qui ne donne accès qu’à certaines pièces d’un bâtiment

Pour en savoir plus à propos des processus d’authentification et d’autorisation, consultez Authentification par rapport à Autorisation.

Que fait l’IAM?

La gestion des identités et des accès vous donne le contrôle sur la validation des utilisateurs et leur accès aux ressources :

  • Comment les utilisateurs s’intègrent-ils dans votre système?

  • Quelles informations de l’utilisateur stocker?

  • Comment les utilisateurs peuvent-ils prouver leur identité?

  • Quand et à quelle fréquence les utilisateurs doivent-ils prouver leur identité?

  • L’expérience de la preuve d’identité

  • Qui peut et ne peut pas accéder aux différentes ressources?

Vous intégrer l’IAM dans votre application, votre API, votre appareil, votre base de données ou toute autre technologie. Cette intégration peut être très facile. Par exemple, votre application Web compte peut-être entièrement sur Facebook pour l’authentification et est régie par une politique d’autorisation de type « tout ou rien ». Votre application effectue une simple vérification : si un utilisateur n’est pas connecté à Facebook dans le navigateur utilisé, vous l’invitez à le faire. Une fois authentifiés, tous les utilisateurs peuvent accéder à l’intégralité de 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 d’activité ou aux normes de conformité. Dans la vie réelle, l’IAM est complexe. La plupart des systèmes exigent une combinaison de ces différentes caractéristiques :

  • Expériences de connexion et d’inscriptions fluides : Les expériences de connexion et d’inscription fluides et professionnelles ont lieu dans votre application, en accord avec l’apparence et la langue de votre marque.

  • Identités d’utilisateurs multisources : Les utilisateurs s’attendent à pouvoir se connecter en utilisant divers fournisseurs d’identité sociaux (comme Google ou Linkedin), d’entreprise (comme Microsoft Entra ID) et d’autres fournisseurs d’identité.

  • Authentification multifacteur (MFA) : À une époque où les mots de passe sont souvent volés, il est désormais normal d’exiger une preuve d’identité supplémentaire. 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 l’article Activer l’authentification multifacteur (MFA).

  • Authentification renforcée : L’accès à des fonctionnalités avancées et à des informations sensibles nécessite une preuve d’identité plus solide que les tâches et les données quotidiennes. L’authentification renforcée exige une étape de vérification d’identité supplémentaire pour certaines zones et fonctionnalités. Pour en savoir plus, consultez l’article Ajouter l’authentification renforcée.

  • Protection contre les attaques : Il est fondamental d’empêcher les robots et les acteurs malveillants de s’introduire dans votre système pour en assurer la sécurité. Pour en savoir plus, consultez l’article Protection contre les attaques.

  • Contrôle d’accès basé sur les rôles : À mesure que le nombre d’utilisateurs augmente, il devient rapidement impossible de contrôler l’accès de chaque personne. Avec le contrôle d’accès basé sur les rôles, les personnes ayant le même rôle disposent du même droit d’accès aux ressources. Pour en savoir plus, consultez l’article Contrôle d’accès basé sur les rôles (RBAC).

  • Autorisation précise (FGA) : Si vous avez besoin d’options supplémentaires pour gérer l’accès des utilisateurs à vos ressources ou technologies, vous pouvez utiliser le contrôle d’accès basé sur les relations pour aller plus loin que le contrôle basé sur les rôles. Vous pouvez donner accès aux utilisateurs individuels à certaines ressources et choisir la solution la plus adaptée à votre cas d’utilisation. Pour en savoir plus, consultez En quoi consiste l’autorisation précise?

Face à ce niveau de complexité, de nombreux développeurs comptent sur une plateforme IAM comme Auth0 au lieu de développer leurs propres solutions.

Comment fonctionne une plateforme IAM?

Une plateforme IAM n’est pas un système clairement défini. L’IAM est une discipline et un type de cadre d'applications pour la résolution des problèmes d’accès aux ressources numériques.  Il n’y a pas de limite aux différentes approches de mise en œuvre d’un système IAM. Cette section explore les éléments et pratiques des implémentations les plus courantes.

Fournisseurs d’identités

Auparavant, la norme en matière de gestion des identités et des accès consistait pour un système à créer et à gérer ses propres informations d’identité pour ses utilisateurs. Chaque fois qu’un utilisateur souhaitait utiliser une nouvelle application Web, ils remplissaient un formulaire pour créer un compte. L’application stockait toutes leurs données, y compris les identifiants de connexion, et procédait à sa propre authentification chaque fois qu’un utilisateur se connectait.

Avec l’essor de l’Internet et la multiplication des applications proposées, la plupart des gens ont accumulé d’innombrables comptes utilisateur, chacun disposant de son propre nom de compte et son propre mot de passe à mémoriser. De nombreuses applications continuent à fonctionner de cette manière. Mais beaucoup d’autres s’appuient désormais sur les fournisseurs d’identité pour réduire leur effort de développement et de maintenance, ainsi que celui des utilisateurs.

Un fournisseur d’identité crée, maintient et gère les informations d’identité, et peut fournir des services d’authentification aux autres applications. Par exemple, les comptes Google sont des fournisseurs d’identité. Ils stockent des informations sur le compte comme votre nom d’utilisateur, votre nom complet, votre profession et votre adresse courriel. Le magazine en ligne Slate vous laisse vous connecter avec Google (ou un autre fournisseur d’identité) plutôt que d’avoir à saisir et à stocker à nouveau vos informations.

Screenshot of Slate magazine login

Les fournisseurs d’identité ne partagent pas vos identifiants d’authentification avec les applications sur lesquelles ils comptent. Slate, par exemple, ne voit jamais votre mot de passe Google. Google informe simplement Slate que vous avez prouvé votre identité.

Parmi les autres prestataires figurent les fournisseurs d’identité sociale (comme Facebook ou LinkedIn), d’entreprise (comme Microsoft Entra ID) et d’identité légale (comme Swedish BankID).

Facteurs d’authentification

Il s’agit de méthodes pour prouver l’identité d’un utilisateur. Voici les types de facteurs les plus courants :

Type de facteur Exemples
Connaissances (quelque chose que vous connaissez) Nip, mot de passe
Possession (quelque chose que vous avez) Téléphone mobile, appareil de clé de chiffrement
Inhérence (quelque chose que vous êtes) Empreinte digitale, reconnaissance faciale, balayage de l’iris

Les systèmes IAM requièrent 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 et des protocoles ouverts qui indiquent comment :

  • Concevoir des systèmes IAM pour gérer les identités

  • Déplacer des données personnelles en toute sécurité

  • Désigner les personnes qui peuvent accéder aux ressources

Ces normes de gestion des identités et des accès sont considérées comme les plus sécurisées, les plus fiables et les plus pratiques à mettre en œuvre :

OAuth 2.0

OAuth 2.0 est un protocole de délégation ouvert pour accéder aux API et le protocole standard du secteur pour la gestion des identités et des accès. Il permet à une application d’accéder à des ressources hébergées par d’autres applications Web au nom d’un utilisateur sans jamais partager les identifiants de ce dernier. C’est la norme grâce à laquelle les développeurs tiers peuvent s’appuyer sur de grandes plateformes sociales comme Facebook, Google et X à des fins de connexion. Pour en savoir plus, veuillez consulter l’article Cadre d’applications Authorization OAuth 2.0.

OpenID Connect

OpenID Connect (OIDC) est une couche d’identité simple qui repose sur OAuth 2.0. Elle permet de vérifier facilement l’identité d’un utilisateur et d’obtenir des informations de base sur son profil auprès du fournisseur d’identité. OIDC est également un protocole standard ouvert. Pour en savoir plus, consultez Protocole OpenID Connect.

Jetons Web JSON

Jetons Web JSON (JWT) : norme ouverte qui définit un moyen compact et autonome de transmettre en toute sécurité des informations entre parties sous la forme d’un objet JSON. Les JWT sont vérifiables et fiables car ils sont signés numériquement. Ils peuvent être utilisés pour transmettre l’identité des utilisateurs authentifiés entre le fournisseur d’identité et le service demandant l’authentification. Ils peuvent également être authentifiés et chiffrés. Pour en savoir plus, consultez Jetons Web JSON.

Security Assertion Markup Language (SAML)

Security Assertion Markup Language (SAML) : format de données ouvert, basé sur XML, qui permet aux entreprises de communiquer des informations sur l’authentification et l’autorisation des utilisateurs aux entreprises partenaires et aux applications d’entreprise que leurs employés peuvent utiliser. Pour en savoir plus, consultez SAML.

Web Service Federation (WS-Fed)

Développée par Microsoft et largement utilisée dans ses applications, cette norme définit la manière dont les jetons de sécurité peuvent être transférés entre différentes entités pour échanger des informations d’identification et d’autorisation. Pour en savoir plus, consultez l’article Protocole Web Services Federation.

Pourquoi utiliser une plateforme IAM?

Pourquoi tant 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 des défis techniques importants. Compte tenu de la multitude de sources d’utilisateurs, de facteurs d’authentification et de normes industrielles ouvertes, il faut parfois une quantité colossale de connaissances et de travail pour mettre en place un système IAM classique. Une plateforme IAM solide prend en charge tous les fournisseurs d’identité et facteurs d’authentification, propose des API pour faciliter l’intégration avec votre logiciel et s’appuie sur les normes industrielles les plus sûres en matière d’authentification et d’autorisation.

Voici une ressource utile pour ceux et celles qui n’ont pas encore décidé s’ils développeront ou achèteront une solution IAM : développement ou achat : Le Guide pour évaluer la gestion des identités est très utile.