Qu'est-ce que l'OAuth ? | SAML et OAuth

L'OAuth est un protocole permettant d'étendre l'autorisation d'un utilisateur à plusieurs applications sans partager les données d'authentification de l'identité de l'utilisateur avec ces applications.

Objectifs d’apprentissage

Cet article s'articule autour des points suivants :

  • Découvrir ce qu'est le protocole OAuth et comment il fonctionne
  • Voir quelles sont les différences entre l'authentification et l'autorisation
  • Différencier le SAML et l'OAuth

Contenu associé


Vous souhaitez continuer à enrichir vos connaissances ?

Abonnez-vous à theNET, le récapitulatif mensuel de Cloudflare des idées les plus populaires concernant Internet !

Consultez la politique de confidentialité de Cloudflare pour en savoir plus sur la manière dont nous collectons et traitons vos données personnelles.

Copier le lien de l'article

Qu'est-ce que l'OAuth ?

L'OAuth est une norme technique permettant de donner des autorisations aux utilisateurs. Il s'agit d'un protocole permettant de transmettre une autorisation d'un service à un autre sans partager les informations d'identification de l'utilisateur, telles qu'un nom d'utilisateur et un mot de passe. Avec l'OAuth, un utilisateur peut se connecter à une plateforme, puis être autorisé à effectuer des actions et à consulter des données sur une autre plateforme.

L'OAuth permet de transmettre l'autorisation d'une application à une autre, quelle que soit la nature des deux applications. L'OAuth est l'une des méthodes les plus courantes utilisées pour transmettre l'autorisation d'un service d'authentification unique (SSO) à une autre application cloud, mais il peut être utilisée entre deux applications quelconques. D'autres protocoles peuvent également remplir cette fonction, bien que l'OAuth soit l'un des plus utilisés.

Imaginez qu'un visiteur vienne dans une maison en l'absence du propriétaire, et qu'au lieu de lui envoyer une clé de la maison, le propriétaire envoie à ce visiteur un code temporaire qui lui permet d'accéder à un coffre-fort contenant la clé. Le protocole OAuth fonctionne de manière similaire. Avec OAuth, une application envoie à une autre application un jeton d'autorisation pour donner accès à un utilisateur, au lieu d'envoyer les informations d'identification de l'utilisateur.

Comment fonctionnent les jetons d'autorisation OAuth ?

Supposons qu'Alice veuille accéder à l'application de stockage de fichiers dans le cloud de sa société. Elle s'est déjà connectée au SSO de son entreprise, mais elle n'a pas encore accédé à l'application de stockage de fichiers ce jour-là. Lorsque Alice ouvre la demande de stockage de fichiers, l'application, au lieu de la laisser simplement entrer, demande l'autorisation pour Alice à partir de son SSO.

En réponse, le SSO envoie un jeton d'autorisation OAuth à l'application. Le jeton contient des informations sur les privilèges dont Alice pourra bénéficier dans le cadre de l'application. Le jeton aura également une limite de temps : après un certain temps, le jeton expire et Alice devra se reconnecter à son SSO.

Les jetons OAuth sont généralement envoyés en utilisant HTTPS, ce qui signifie qu'ils sont chiffrés. Ils sont envoyés à la couche 7 du modèle OSI.

À quoi sert l'OAuth ?

L'OAuth peut être utilisé à la fois pour autoriser les utilisateurs et pour accorder à une application un accès partiel à une autre application. Les utilisateurs sont souvent amenés à permettre à une application d'accéder à une plateforme de réseau social ou à un autre compte en ligne. Les comptes utilisateurs Google peuvent s'intégrer à de nombreuses applications différentes, telles que des plateformes de blogs, des sites web d'information et divers jeux en ligne. Dans tous ces cas, le protocole OAuth est utilisé en coulisse pour permettre à ces applications externes d'accéder aux données nécessaires de Google.

Pour les entreprises, l'utilisation la plus courante de l'OAuth est liée à la gestion des identités et des accès (IAM). Les utilisateurs peuvent être autorisés à utiliser l'application via OAuth. Par exemple, un employé peut se connecter au système SSO de son entreprise avec son nom d'utilisateur et son mot de passe. Ce système SSO lui donne accès à toutes les applications dont il a besoin pour faire son travail, et le système SSO le fait en transmettant des jetons d'autorisation OAuth à ces applications.

OAuth est l'un des nombreux protocoles d'autorisation qui sont utilisés aujourd'hui. Ces protocoles d'autorisation sont nécessaires car il doit exister un moyen d'envoyer des informations d'autorisation entre les applications sans divulguer les données de connexion des utilisateurs. Certaines plateformes ont développé leurs propres méthodes d'autorisation : par exemple, Facebook propose Facebook Connect.

Qu'est-ce que OAuth 2.0 ?

OAuth 2.0 est la dernière version d'OAuth. La première version d'OAuth a été publiée en 2010. OAuth 2.0 a été publié en 2012. Il a notamment corrigé un certain nombre de vulnérabilités qui existaient dans le protocole OAuth 1.0.

SAML et OAuth : quelle est la différence entre l'authentification et l'autorisation ?

L'autorisation et l'authentification semblent similaires mais ne sont pas tout à fait la même chose dans la gestion des accès. Cette différence qui sépare les deux notions est très importante pour comprendre comment la technologie de gestion des accès (y compris OAuth) fonctionne. L'authentification concerne l'identité de l'utilisateur, tandis que l'autorisation concerne les privilèges de l'utilisateur.

Imaginez que Bob travaille dans un établissement sécurisé dont les accès sont filtrés par un poste de garde. Tous les véhicules qui entrent dans l'établissement s'arrêtent au poste de garde, et seuls les employés connus sont autorisés à entrer. Le poste de garde est l'endroit où a lieu l'authentification des utilisateurs : l'agent de sécurité vérifie la carte d'identification de Bob par rapport à une liste d'employés et vérifie que la plaque d'immatriculation de son véhicule figure sur une liste de véhicules autorisés. Si l'agent de sécurité est en mesure d'authentifier Bob et son véhicule, celui-ci peut entrer et se garer dans le parking de l'établissement.

Cependant, ce n'est pas parce que Bob peut entrer dans l'établissement qu'il peut garer son véhicule n'importe où. Il existe en effet des parkings désignés pour chaque type d'employé. Bob ne peut se garer que sur le parking qui lui est attribué, il ne peut pas prendre la place de parking du PDG.

L'OAuth est un protocole d'autorisation : il garantit que Bob se rend au bon parking. En revanche, le SAML (Security Assertion Markup Language) est un protocole d'authentification, qui permet à Bob de passer le poste de garde.

Un fournisseur d'identité (IdP) ou un service SSO peut utiliser les deux conjointement, ou le protocole OAuth seul (bien que l'utilisation de l'OAuth pour l'authentification soit considérée comme une « pseudo-authentification »).

Pour résumer : le SAML et l'OAuth sont des protocoles différents et sont utilisés à des fins différentes, mais tous deux sont souvent utilisés avec le SSO.

Cloudflare offre-t-il une authentification ou une autorisation des utilisateurs ?

Cloudflare Zero Trust ne propose actuellement pas l'authentification des utilisateurs (par exemple, un service SSO), mais permet aux entreprises de gérer les accès et privilèges des utilisateurs. Cloudflare permet de gérer les autorisations des utilisateurs sans avoir recours à un réseau privé virtuel (Virtual Private Network, VPN).

Cloudflare Access s'intègre à différents fournisseurs de SSO et peut même s'intégrer à plusieurs SSO, ce qui permet de donner plus facilement aux agences et aux sous-traitants externes un accès aux systèmes. Pour en savoir plus, lisez notre article de blog intitulé SSO multiple avec Cloudflare Access.