Recherche de site Web

Ory : La pile IAM open source qui alimente la connexion de ChatGPT


Chaque application finit par faire face au même problème : les utilisateurs doivent se connecter. Cela peut sembler simple, mais ce ne l'est pas. Derrière un bouton de connexion se cachent une série de décisions de sécurité. Elles sont : le hachage des mots de passe, la gestion des sessions, la protection CSRF, la défense contre les attaques par force brute, l'authentification multi-facteurs, la récupération de mot de passe, la vérification des e-mails, l'expiration des jetons, et une douzaine d'autres préoccupations qui n'ont rien à voir avec ce que votre application fait réellement.

La plupart des équipes gèrent cela de trois manières. Elles le construisent elles-mêmes et passent des mois à corriger des cas particuliers. Elles se tournent vers un service géré comme Auth0 et finissent par se heurter à un mur de tarifs. Ou elles ajoutent une bibliothèque et se retrouvent à gérer la moitié de la logique de sécurité de toute façon.

Ory est une quatrième option et, pour les développeurs et les ingénieurs en infrastructure qui se soucient du contrôle, il vaut la peine de bien la comprendre.

Qu'est-ce qu'Ory ?

Ory est une suite open source d'outils de gestion des identités et des accès (IAM) pour les applications natives du cloud. Elle fournit l'authentification, l'autorisation et la gestion des identités sous forme de cinq services déployables indépendamment :

  • Ory Kratos : Inscription des utilisateurs, connexion, sessions, MFA et récupération de mot de passe
  • Ory Hydra : Serveur OAuth 2.0 et OpenID Connect pour l'émission de jetons
  • Ory Keto : Permissions granulaires utilisant le modèle Zanzibar de Google
  • Ory Oathkeeper : proxy inverse conscient de l'identité pour les réseaux Zero Trust
  • Ory Polis : passerelle SSO d'entreprise pour l'intégration SAML et SCIM

Tous les composants sont sous licence Apache 2.0, écrits en Go et peuvent être auto-hébergés.

Ce n'est pas un produit SaaS auquel vous êtes verrouillé. Ce n'est pas une bibliothèque que vous intégrez dans votre application. C'est un ensemble de services éprouvés en production que vous exécutez aux côtés de votre application - auto-hébergé, géré ou les deux.

Le problème que résout Ory

Ory externalise la tâche complexe et critique pour la sécurité de développer et de maintenir l'authentification et l'autorisation en interne. Cela inclut le respect des normes de sécurité actuelles telles que OAuth 2.0 et OIDC, la protection contre les attaques, et la fourniture d'une couche d'identité unifiée qui évite les silos de données entre différentes applications.

Autrement dit : Ory permet à votre équipe d'arrêter d'écrire du code d'authentification et de commencer à livrer des fonctionnalités produits.

L'alternative - construire l'authentification vous-même - signifie posséder chaque décision de sécurité à perpétuité. Configuration d'Argon2. Comparaisons sécurisées en temps. Cycle de vie des jetons CSRF. Expiration des jetons de récupération. Rotation des sessions après escalade de privilèges. Ce sont des problèmes solvables, mais ce ne sont pas vos problèmes à résoudre. Ce sont ceux d'Ory.

L'écosystème Ory : Cinq composants principaux

Ory est une suite de composants IAM natifs du cloud construits sur une architecture microservices. Il sépare l'identité, l'authentification et l'autorisation en services dédiés qui peuvent être utilisés indépendamment ou ensemble.

Ory Kratos - Gestion de l'identité

Kratos gère tout ce qui concerne qui est un utilisateur et comment il le prouve :

  • Inscription et connexion de l'utilisateur
  • Gestion de session
  • Récupération de mot de passe et vérification par e-mail
  • Authentification multi-facteurs (TOTP, WebAuthn, clés d'accès)
  • Connexion sociale (Google, GitHub, Apple via OIDC)
  • Paramètres du compte

Kratos est sans tête. Il n'a pas d'interface utilisateur intégrée. Il expose une API REST que votre application appelle pour gérer les flux d'authentification. Votre page de connexion est une page normale dans votre application ; Kratos gère la logique de sécurité en arrière-plan. Cela vous donne un contrôle total sur le branding et l'expérience utilisateur sans aucun compromis sur la sécurité.

Ory Hydra - OAuth2 et OpenID Connect

Hydra est un serveur OAuth 2.0 et OpenID Connect certifié. Il gère :

  • Émission de jetons d'accès, de jetons de rafraîchissement et de jetons d'identité
  • Code d'autorisation, identifiants client et flux d'autorisation des appareils
  • Introspection et révocation de jeton
  • Authentification machine à machine et service à service

Si vous avez besoin que votre application agisse comme un fournisseur OAuth2, permettant aux utilisateurs de donner accès à leurs données à des applications tierces, ou en activant l'authentification service-à-service, Hydra est le composant que vous utilisez. Il est écrit en Go et conçu pour une scalabilité horizontale sans état.

Ory Keto - Permissions Granulaires

Keto met en œuvre le modèle d'autorisations Zanzibar de Google, le même système qui alimente les permissions de partage de Google Drive. Il gère :

  • Contrôle d'accès basé sur les relations (ReBAC)
  • Évaluation des politiques à grande échelle
  • Héritage et propagation des autorisations (« Alice peut-elle modifier ce document ? »)

La plupart des applications commencent avec un contrôle d'accès basé sur les rôles simple et finissent par avoir besoin de quelque chose de plus nuancé. Keto vous offre un chemin vers cela sans réécrire votre couche d'authentification.

Ory Oathkeeper - Proxy conscient de l'identité

Oathkeeper est un proxy inverse et une API de décision de contrôle d'accès qui valide l'identité à chaque requête HTTP entrante avant qu'elle n'atteigne vos services :

  • Valide les jetons OAuth2, les cookies de session, les clés API et mTLS
  • Réécrit les en-têtes de requête avec les informations d'identité (par exemple, X-User-Id)
  • Active la mise en réseau Zero Trust pour les services HTTP
  • Fonctionne avec les contrôleurs d'entrée Nginx, Traefik et Kubernetes

Considérez-le comme un module PAM pour le trafic HTTP, chaque requête est authentifiée et autorisée à la porte, avant que votre code applicatif ne la voie.

Ory Polis - Passerelle SSO d'entreprise

Polis comble le fossé entre les protocoles d'identité d'entreprise hérités et les OAuth2/OIDC modernes :

  • Traduit les flux SAML 2.0 ↔ OpenID Connect
  • Prend en charge SCIM 2.0 pour l'approvisionnement et la désapprovisionnement automatisés des utilisateurs
  • Permet aux clients entreprises d'utiliser leur IdP existant (Okta, ADFS, Ping) avec des applications alimentées par Ory

Veuillez noter que Polis fait partie de la licence Ory Enterprise, et n'est pas disponible dans la version gratuite open source.

Comment les composants fonctionnent ensemble

Vous n'avez pas à tous les utiliser. C'est le but de la conception modulaire.

Un paquet de départ typique :

Browser
  │
  ▼
Your App (Node.js / Go / Python / anything)
  │
  ├── Calls Kratos for login, registration, sessions
  │
  └── Calls Hydra for OAuth2 tokens (if needed)
        │
        └── Oathkeeper validates tokens at the API gateway
              │
              └── Keto checks fine-grained permissions

Une petite équipe construisant une application SaaS pourrait commencer avec seulement Kratos. Une équipe plateforme construisant des outils internes pourrait ajouter Hydra pour l'authentification machine-à-machine. Une entreprise avec des permissions multi-locataires complexes ajoute finalement Keto. Une entreprise intégrant des clients professionnels avec des IdP SAML ajoute Polis.

Chaque service est exécutable de manière indépendante, évolutif de manière indépendante et remplaçable de manière indépendante.

Qui utilise Ory en production ?

L'exemple le plus remarquable : OpenAI.

"OpenAI a remplacé son ancien système de connexion par Ory Hydra pour gérer l'identité de 900 millions d'utilisateurs actifs hebdomadaires, sans aucune interruption et avec un contrôle total de la gestion des identités et des accès (IAM)", rapporte la publication en ligne Newstack.

Initialement, la croissance rapide des utilisateurs d'OpenAI a submergé leur solution CIAM précédente. Ils ont migré vers un Ory Hydra auto-hébergé soutenu par une base de données évolutive pour émettre et gérer les jetons pour les utilisateurs de ChatGPT.

Selon l'étude de cas officielle, Ory a fourni une observabilité approfondie et une résilience pour des « connexions par seconde sans précédent », et a surtout donné à OpenAI la propriété de leurs processus d'identité sans verrouillage fournisseur.

Au-delà d'OpenAI, Ory sert des dizaines de milliers de projets actifs à travers ses environnements open source, autogérés et cloud gérés - couvrant des milliards d'identités et des trillions de transactions.

Trois façons de déployer Ory

1. Open Source (Auto-hébergé, Gratuit)

Les quatre composants open source principaux (Kratos, Hydra, Keto, Oathkeeper) sont sous licence Apache 2.0 et disponibles sur GitHub. Vous les exécutez sur votre propre infrastructure (bare metal, machines virtuelles, Docker, Kubernetes) avec un contrôle total sur les données, la configuration et le rythme des mises à jour.

Idéal pour : les équipes disposant de capacités DevOps, ayant des exigences de conformité ou sensibles aux coûts à grande échelle.

2. Licence Entreprise Ory (OEL)

Auto-hébergé, avec support commercial : SLA, garanties de correctifs de sécurité, un registre Docker privé avec des builds vérifiés, et un accès direct aux ingénieurs Ory. Ajoute des composants réservés aux entreprises, y compris Ory Polis (SAML, SCIM) et fédération B2B avancée.

Idéal pour : les équipes d'entreprise qui ont besoin d'une auto-hébergement pour la souveraineté des données mais souhaitent des contrats de support de niveau production.

3. Réseau Ory (Cloud géré)

Une version SaaS entièrement gérée et distribuée à l'échelle mondiale de la pile Ory.

Note sur les tarifs : Vérifiez les tarifs actuels sur ory.com/pricing avant de prendre des décisions, car les prix changent fréquemment.

Idéal pour : les équipes qui veulent avancer rapidement sans gérer l'infrastructure, ou celles qui commencent avant de décider si elles vont héberger elles-mêmes.

Le principal avantage d'Ory Network : passer à une solution auto-hébergée plus tard ne nécessite qu'un changement d'URL dans votre configuration. Le code de votre application ne change pas.

Comment Ory se compare à Auth0, Keycloak et Firebase

OryAuth0KeycloakAuthentification Firebase
Open source✅ Apache 2.0❌✅ Apache 2.0❌
Auto-hébergeable✅❌✅❌
Sans tête (possédez votre interface utilisateur)✅⚠️ Limité⚠️ Limité⚠️ Limité
Écrit enAllerMixteJavaMixte
Empreinte RAM~100-150 MoN/A~1,250 MoN/A
Mise à l'échelle horizontale✅ Sans état✅⚠️ Complexe✅
Autorisations granulaires✅ (Keto)⚠️ Basique⚠️ Basique⚠️ Basique
Agent IAM dédié✅❌❌❌
Verrouillage du fournisseurbasseHautbasseHaut

Qui devrait (et ne devrait pas) utiliser Ory

Ory est un bon choix si vous :

  • Nous construisons une application destinée aux clients qui doit pouvoir évoluer au-delà de dizaines de milliers d'utilisateurs
  • Voulez-vous la propriété complète de vos données utilisateur et de votre infrastructure d'identité
  • Avoir la capacité d'ingénierie pour intégrer des services API-first
  • Besoin d'auto-hébergement pour la conformité, la résidence des données ou les exigences RGPD
  • En avez-vous assez que les prix d'Auth0 augmentent avec le nombre de vos utilisateurs
  • Construisent-ils des agents IA ou des flux de travail machine-à-machine qui nécessitent une identité

Ory peut ne pas être adapté si vous :

  • Besoin de quelque chose qui fonctionne en moins d'une heure sans aucune configuration (Auth0 ou Firebase sont plus rapides à démarrer)
  • Avoir des opérateurs non techniques qui doivent gérer les identités via une interface utilisateur (Keycloak dispose d'une meilleure console d'administration)
  • Besoin de SAML 2.0 sur le forfait gratuit (Keycloak couvre cela ; Ory nécessite la licence Enterprise)
  • Vous dirigez un petit projet personnel où l'échelle n'est pas une préoccupation

Et ensuite ?

Auth0 a été l'une des plateformes d'identité les plus populaires pendant des années. Elle est soignée, bien documentée, et peut amener la plupart des applications de zéro à un processus de connexion fonctionnel en très peu de temps.

Mais à mesure que les applications se développent, de nombreuses équipes commencent à chercher des alternatives offrant des coûts à long terme plus faibles, des options d'hébergement autonome, des composants open source et un plus grand contrôle sur les données des utilisateurs.

Si vous voulez essayer Ory, vous avez de la chance. Lisez le guide suivant pour migrer Auth0 vers Ory :

  • Comment migrer vers Ory depuis Auth0

Conclusion

Ory existe parce que l'authentification est un problème résolu que la plupart des équipes continuent de résoudre, mal, sous pression temporelle. Il vous offre une pile d'identité éprouvée pour la production qui fonctionne à l'échelle d'OpenAI, construite sur des standards ouverts, sans dépendance à un fournisseur, et que vous pouvez inspecter ligne par ligne.

Bien sûr, Ory a une courbe d'apprentissage abrupte. Mais, le jeu en vaut la chandelle.