Authentification des agents IA : cas d'utilisation et besoins en matière d'identité
2025 est l'année de l'IA. À mesure que les LLM et les expériences des agents évoluent, de nouveaux défis en matière d'authentification et d'autorisation émergent. Cet article explore les interactions avec les agents IA, en mettant en évidence les principaux scénarios de sécurité et d'authentification.
2025 se profile comme l'année de l'IA. Avec la croissance rapide des LLM et des expériences des agents, on nous demande souvent : Comment embrasser cette nouvelle ère ? Et quels sont les nouveaux cas d'utilisation pour l'authentification et l'autorisation des agents IA ? Dans cet article, nous allons explorer l'expérience typique des agents et souligner les scénarios de sécurité et d'auth le long du chemin.
Expérience d'authentification de l'agent opérateur de ChatGPT
J'ai récemment acheté l'Opérateur ChatGPT et exploré quelques flux de travail courants. Un exemple était la réservation d'un séjour à Tokyo, Japon. L'Opérateur a rendu incroyablement facile de trouver une chambre appropriée en fonction de mon prompt.
Lors du paiement, il m'a demandé de me connecter puis m'a redonné le contrôle.
Cette expérience m'a mis mal à l'aise. Même si j'avais le contrôle et que l'agent ne pouvait pas se connecter pour moi, je devais toujours entrer mon email et mon mot de passe dans le navigateur de l'Opérateur. Cela signifie que si tu te connectes à ton email (ou à n'importe quel service) via l'Opérateur, tes identifiants sont stockés dans des cookies.
L'Opérateur d'OpenAI déclare qu'il ne stocke jamais les identifiants des utilisateurs et respecte des normes de conformité comme SOC II. Cependant, lorsque des agents tiers interagissent avec des services externes en ton nom, les risques de sécurité augmentent considérablement.
En général, donner directement à un agent l'accès à ton compte et tes identifiants est une mauvaise idée.
Il y a encore beaucoup de place pour l'amélioration. Dans la prochaine section, je vais plonger dans les différentes approches d'authentification et de gestion des identifiants, en en pesant les avantages et les inconvénients.
Comme ce X Threads en a discuté.
Comment sont gérés les identifiants et quels sont les risques de sécurité ?
Donner directement à l'agent IA tes identifiants
Dans cette approche, l'IA entre des identifiants en texte brut (comme un email et un mot de passe) en ton nom. Par exemple, un agent IA peut demander tes informations de connexion et les saisir pour toi.
Cependant, cette méthode comporte des risques de sécurité, car elle peut exposer des informations sensibles. Si la mise en œuvre est nécessaire, il est plus sûr d'intégrer un gestionnaire de mots de passe ou un système de gestion des secrets. De plus, limiter la durée de stockage des identifiants peut aider à minimiser le risque de fuites.
Au lieu d'identifiants en texte brut, les Jetons d'Accès Personnel (PATs) offrent un moyen plus sûr de garantir l'accès sans nécessiter de mot de passe ou de connexion interactive. Les PATs sont utiles pour CI/CD, les scripts et les applications automatisées qui ont besoin d'accéder aux ressources de manière programmatique. Pour améliorer la sécurité, il est préférable de limiter les portées des PAT, définir des durées d'expiration et autoriser la révocation pour prévenir les fuites et les détournements de compte.
Délégation d'utilisateur via OAuth
OAuth (Open Authorization) est une norme largement utilisée pour l'autorisation déléguée sur le web. Elle permet aux utilisateurs de donner à une application tierce un accès limité à leurs données sur un autre service sans partager leurs identifiants de connexion.
En essence, OAuth résout le problème de la délégation d'accès sécurisé : par exemple, tu peux autoriser une application de voyage à lire ton Google Calendar sans donner à l'application ton mot de passe Google. Cela est réalisé en demandant à l'utilisateur de s'authentifier auprès du fournisseur de données (par exemple, Google) puis en émettant des jetons à l'application tierce au lieu d'exposer les identifiants de l'utilisateur.
Une meilleure façon de gérer ce scénario est d'autoriser l'Opérateur ChatGPT (ou tout autre agent) à lire et écrire sur Airbnb sans partager ton mot de passe ou tes identifiants. Au lieu de laisser l'Opérateur se connecter directement, tu peux accorder l'accès via un processus d'autorisation sécurisé.
À mon avis, si l'Opérateur OpenAI veut renforcer la confiance et la sécurité de l'identité, il y a plusieurs façons d'y parvenir.
-
Déplacer le processus de connexion en dehors de l'Opérateur : gérer la connexion de l'utilisateur en dehors de l'Opérateur ChatGPT. Cela signifie que tu pourrais cliquer sur un bouton “Se connecter avec [Service]” et être redirigé vers la page de connexion sécurisée du service pour t'authentifier, entièrement en dehors du chat ou de l'opérateur ChatGPT. Par exemple, s'il y avait un plugin Airbnb, tu serais envoyé sur le site d'Airbnb pour entrer tes identifiants et autoriser ChatGPT, puis le plugin recevrait un jeton. ChatGPT ne reçoit qu'un jeton d'accès temporaire ou une clé, qui accorde un accès limité (par exemple, “lire mon itinéraire”), au lieu de voir ton mot de passe réel.
-
Demander à l'utilisateur de compléter le processus de consentement avant que l'agent IA n'effectue des tâches. Cette approche est similaire à celle de nombreux produits qui gèrent les intégrations, les places de marché et les services connectés.
Pages de connexion Notion
Voici un autre exemple, comme une intégration de marché Slack avec Notion. Slack demande l'accès à un espace de travail spécifique de Notion, il peut lire les articles et les présenter dans tes canaux Slack.
Dans le même temps, Slack fournit également une page de consentement pour autoriser Notion à accéder à l'espace de travail au cours de ce processus.
L'Opérateur ChatGPT devrait adopter une approche similaire en intégrant OAuth, permettant à l'agent d'accéder en toute sécurité à plusieurs services tiers. De cette façon, il peut obtenir des jetons d'accès avec les autorisations nécessaires pour effectuer des tâches en toute sécurité.
Authentification renforcée pour les actions sensibles
Un agent IA peut gérer des tâches routinières de manière autonome et indépendante, mais pour les actions à haut risque, une vérification supplémentaire est requise pour assurer la sécurité, — comme envoyer des fonds ou modifier les paramètres de sécurité — l'utilisateur doit vérifier son identité via une authentification multi-facteurs (MFA). Cela peut être effectué via des notifications push, des mots de passe à usage unique (OTPs), ou une confirmation biométrique.
Cependant, une authentification renforcée fréquente peut entraîner une frustration de l'utilisateur, surtout si elle est déclenchée trop souvent. Ainsi, l'expérience spécifique à l'agent doit réfléchir à l'expérience utilisateur tout au long de ce nouveau paradigme.
Pour améliorer la sécurité sans compromettre l'expérience utilisateur, une authentification adaptative et MFA devrait être utilisée pour déterminer quand une vérification supplémentaire est nécessaire. Les déclencheurs basés sur le risque, tels que les changements d'adresse IP ou les comportements inhabituels, aident à minimiser les demandes d'authentification inutiles.
Identité fédérée et authentification unique (SSO) pour des écosystèmes multi-agents
Dans un écosystème d'entreprise multi-agents, les agents IA doivent souvent interagir sur différentes plateformes. Pour simplifier l'authentification, les utilisateurs s'authentifient une fois via un fournisseur d'identité (IdP) tel que Okta, Azure AD, ou Google Workspace. Les agents s'authentifient ensuite en utilisant SAML, OpenID Connect (OIDC), avec un accès géré via un contrôle d'accès basé sur les rôles (RBAC) ou les attributs (ABAC).
Cette approche élimine le besoin pour les utilisateurs de se connecter plusieurs fois tout en améliorant la sécurité et la conformité grâce à une gestion centralisée des identités. Elle permet également des politiques d'accès dynamiques, garantissant que les agents fonctionnent dans les permissions définies.
Gestion des portées et des autorisations
Comme les Opérateurs et les Agents peuvent agir au nom des utilisateurs, il est important de donner aux humains suffisamment de contrôle et de définir soigneusement les permissions des agents IA. Deux principes clés à suivre sont :
- Privilèges minimaux – N'accorder que les permissions nécessaires pour la tâche.
- Accès limité dans le temps – Limiter la durée d'accès pour réduire les risques de sécurité.
Le contrôle d'accès basé sur les rôles (RBAC) aide à gérer la portée d'un agent en assignant des rôles spécifiques pour certaines tâches. Pour un contrôle plus granulaire, le contrôle d'accès basé sur les attributs (ABAC) permet une gestion des permissions dynamique et contextuelle, garantissant que les agents IA n'accèdent qu'à ce dont ils ont besoin quand ils en ont besoin.
Connecter les serveurs MCP avec Auth
MCP est devenu de plus en plus populaire pour améliorer les agents IA en fournissant plus d'informations contextuelles, améliorant leur performance globale et l'expérience utilisateur.
Pourquoi le serveur MCP est-il lié à l'authentification et pourquoi importe-t-il ?
Nous avons précédemment écrit un article pour t'aider à comprendre ce qu'est un serveur MCP.
Un serveur MCP est une partie clé du Protocole de Contexte Modèle, agissant comme un pont entre les modèles IA et les sources de données externes. Il permet les requêtes en temps réel et la récupération de données à partir de services comme Slack, Gmail, et Google Calendar. En construisant un serveur MCP, tu peux connecter ces services distants aux LLM, enrichissant tes applications alimentées par l'IA avec un meilleur contexte et une exécution de tâches plus intelligente.
Contrairement aux systèmes de Génération Augmentée par la Récupération (RAG), qui nécessitent de générer des embeddings et de stocker des documents dans des bases de données vectorielles, un serveur MCP accède directement aux données sans indexation préalable. Cela signifie que les informations ne sont pas seulement plus précises et à jour, mais s'intègrent avec une surcharge computationnelle plus faible et sans compromettre la sécurité.
Référence : https://norahsakal.com/blog/mcp-vs-api-model-context-protocol-explained
Pour les agents IA utilisant un serveur MCP, de multiples interactions se produisent entre le serveur MCP
, le LLM
, l'agent
, et l'utilisateur
.
Dans le monde actuel dirigé par l'IA, où les agents gèrent de multiples tâches sur différents services, les intégrer avec plusieurs serveurs MCP devient très demandé.
L'authentification des agents émerge — ton produit doit s'adapter
Un bon exemple est Composio.dev, une plate-forme d'intégration orientée développeur qui simplifie la façon dont les agents IA et les LLM se connectent avec des applications et services externes. Baptisé “Auth for AI Agents to Act on Users’ Behalf,” il fournit essentiellement une collection de serveurs MCP (connecteurs) qui peuvent être facilement intégrés dans des produits alimentés par l'IA.
En tant que personne dans le domaine de l'auth, mais en réalité, ce n'est qu'une petite partie du champ plus large du CIAM (Gestion de l'identité et de l'accès client). Ce qu'ils ont construit est en fait une collection de serveurs MCP (connecteurs) — utile, mais seulement une fraction de ce que les solutions CIAM complètes englobent.
En se basant sur les exemples précédents, si nous considérons Google Drive (services distants) comme un serveur MCP au lieu d'Airbnb, cela devient plus qu'une simple intégration tierce — cela sert de source de données externe. Cela permet à l'agent d'accéder à des informations contextuelles, d'interagir avec le LLM, et potentiellement d'obtenir des permissions pour créer, lire, mettre à jour et supprimer (CRUD) des fichiers.
Cependant, les exigences fondamentales en matière d'authentification et d'autorisation restent les mêmes.
Utiliser Logto pour gérer l'authentification de tes produits d'agent
Logto est une solution CIAM polyvalente qui prend en charge les produits SaaS et les produits d'agent IA, rendant l'authentification et l'autorisation sans faille. Voici pourquoi :
- Authentification gérée pour les produits d'agent IA – Logto prend en charge OAuth 2.0, SAML, les clés API, les Jetons d'Accès Personnel et JWT, permettant une intégration facile avec plusieurs serveurs MCP. Tu peux même construire ton propre serveur MCP et le connecter à Logto, grâce à ses fondations sur des normes ouvertes.
- Capacités de fournisseur d'identité (IdP) – Une fois que ton produit a intégré des utilisateurs, Logto peut agir en tant qu'IdP, transformant ton service en un serveur MCP et l'intégrant dans l'écosystème IA.
- Autorisation avancée
- Contrôle d'accès basé sur les rôles (RBAC) pour gérer les rôles des utilisateurs
- ABAC personnalisé basé sur JWT pour un contrôle d'accès fin et dynamique
- Sécurité améliorée – Des fonctionnalités comme l'authentification multi-facteurs (MFA) et l'authentification renforcée aident à sécuriser les actions critiques et à améliorer la sécurité des agents.
Tu as des questions ? Contacte-nous pour savoir comment Logto peut améliorer ton expérience avec les agents IA et répondre à tes besoins en matière de sécurité.