Passerelle d'actions pour agent IA : cinq signes que vous en avez besoin
Une passerelle d'actions pour agent IA empêche les agents de programmation de détenir directement les secrets, clarifie les approbations et enregistre chaque action HTTP ou SSH.

Un agent de programmation IA a besoin d'une passerelle d'actions lorsqu'il peut agir hors de son espace de travail avec une autorité que personne ne peut clairement inspecter, approuver ou révoquer. Le problème n'est pas qu'il écrit du code. Le problème est qu'il peut utiliser un identifiant, modifier un service hébergé ou ouvrir une session SSH après que quelqu'un a collé un secret dans son contexte et appelé cela une configuration.
Les équipes ne parlent souvent de passerelle d'actions pour agent IA qu'après un incident évité de peu. Un jeton apparaît dans une conversation. Une exécution utilise le compte de déploiement de production parce que c'était le seul disponible. Quelqu'un demande qui a approuvé une modification de base de données, et la réponse consiste en une suite confuse de messages et une session de terminal partagée. Ce ne sont pas de simples problèmes administratifs. Ils montrent que l'équipe a donné une autorité opérationnelle à un processus non fiable sans frontière utilisable.
Une passerelle ne rend pas un agent sûr en déterminant si chaque commande est moralement bonne. Ce n'est pas la promesse à faire. Elle garde les identifiants hors de l'agent, place une décision humaine aux bons endroits et laisse une trace qui permet de comprendre ce qui s'est passé sans tout reconstituer de mémoire. Si les signes suivants vous parlent, l'accès direct aux identifiants a déjà dépassé le stade où sa commodité le justifiait.
Les clés API copiées sont devenues une étape normale de la configuration
Un agent a besoin d'une frontière d'action distincte lorsqu'un développeur colle des clés API dans des invites, des fichiers d'environnement, des sessions de terminal ou la configuration de l'agent pour pouvoir travailler. Cette habitude semble inoffensive, car la première exécution fait souvent exactement ce qui est demandé. Elle crée aussi des copies dans des emplacements qui n'ont jamais été conçus pour stocker une autorité de production.
Un identifiant présent dans le contexte de l'agent peut s'échapper par davantage de chemins que l'invite d'origine. L'agent peut le répéter dans une commande, l'écrire dans un fichier de configuration, l'inclure dans un rapport d'erreur, le placer dans une documentation générée ou le révéler en expliquant un échec. Le défilement du terminal, l'historique du shell, les environnements de processus, les journaux CI, les sauvegardes et les captures d'écran du support ajoutent d'autres copies. Masquer un seul message visible ne supprime pas ces copies.
La distinction que les équipes mélangent est simple : un agent qui utilise un secret est différent d'un agent qui possède un secret. Un navigateur peut envoyer un paiement sans exposer le numéro de carte à chaque script de la page. La même séparation est possible pour un agent. Il peut demander POST /deployments avec un corps décrit, tandis qu'un exécuteur de confiance injecte l'identifiant et renvoie la réponse.
N'acceptez pas une fausse séparation où le système remplace API_KEY=... par ${SECRET_NAME}, puis résout ce paramètre dans le processus de l'agent. Le texte en clair atteint toujours le même processus. Une extension compromise, une instruction malveillante dans un dépôt ou une sortie de débogage trop bavarde peut le récupérer.
Une frontière de requête plus sûre ressemble à ceci :
{
"channel": "http",
"credential": "deploy-service",
"method": "POST",
"url": "https://api.example.internal/deployments",
"headers": {"content-type": "application/json"},
"body": {"service": "catalog", "revision": "a1b2c3d"}
}
L'agent peut voir le point de terminaison, le corps, le statut d'approbation et la réponse. Il ne voit jamais le jeton bearer qui autorise la requête. Cette différence permet de renouveler les identifiants sans devoir nettoyer les invites et les espaces de travail locaux à la recherche de copies divulguées.
Lorsqu'une clé est déjà entrée dans le contexte d'un agent, considérez-la comme exposée. Révoquez-la ou renouvelez-la, inspectez les destinations où l'exécution a enregistré des sorties et supprimez le modèle qui transmet directement les secrets. Les équipes retardent parfois le renouvellement parce qu'elles ne peuvent pas prouver que le jeton a fuité. Vous n'avez pas besoin de la preuve qu'un identifiant copié a été volé. Il suffit de constater que vous ne contrôlez plus où il se trouve.
Les comptes partagés dissimulent l'auteur de la modification
Un agent a besoin d'une passerelle d'actions lorsqu'il agit avec un utilisateur de déploiement partagé, un jeton cloud commun à l'équipe ou un compte SSH utilisé par tous les développeurs et les tâches d'automatisation. L'accès partagé simplifie l'administration à court terme et détruit la traçabilité dès qu'un problème survient.
Prenons un échec courant. Un agent reçoit une demande de réparation d'un échec de compilation. Il trouve un ancien paramètre d'infrastructure et se connecte à une machine avec ops@production. Le compte fonctionne parce qu'il dispose de permissions étendues et que sa clé privée se trouve dans les notes d'intégration du dépôt. L'agent modifie un fichier, redémarre un service et signale que tout est terminé.
Plus tard, le service commence à renvoyer des erreurs. Le journal du serveur indique que ops l'a redémarré. La piste d'audit cloud indique que le jeton de l'équipe a appelé l'API de déploiement. Aucun des deux enregistrements n'identifie le processus de l'agent, la demande qui l'a déclenché, la personne qui a lancé ce processus ni le fait que quelqu'un ait vu l'opération avant son exécution. L'équipe doit alors enquêter en déduisant les faits.
Un identifiant distinct pour chaque personne vaut mieux qu'un compte partagé, mais cela ne résout pas entièrement l'utilisation par les agents. Si l'agent reçoit la clé privée ou le jeton longue durée d'Alice, la piste d'audit peut seulement dire que l'identifiant d'Alice a agi. Elle ne peut pas déterminer de manière fiable si la demande vient d'Alice, de son terminal, d'une instruction de dépôt compromise ou de son agent.
Utilisez les identités et les enregistrements pour des fonctions différentes :
- Une identité de service définit ce que le système externe autorise.
- Une session d'agent identifie le processus en cours qui a demandé l'opération.
- Une approbation identifie la personne qui a accepté une portée d'action.
- Un enregistrement d'action identifie la requête exacte et son résultat.
Ne regroupez pas ces informations dans un seul champ appelé user. Chacune répond à une question différente lors d'une panne ou d'une revue des accès.
Pour SSH, les comptes partagés étendus doivent éveiller une méfiance particulière. Une clé privée SSH est une autorité de signature transportable. Si l'agent possède le fichier, les contrôles que vous comptiez appliquer après la connexion ont déjà perdu leur frontière la plus utile. Les commandes forcées et les restrictions de compte peuvent limiter les dégâts, et il vaut la peine de les utiliser, mais elles ne changent pas le fait que l'agent peut lancer toutes les connexions autorisées par la clé.
Déplacez la clé dans un exécuteur qui réalise lui-même l'opération SSH. Donnez à l'agent une interface de requête qui enregistre l'hôte, la commande, l'identité, la session et le résultat. La requête doit être assez précise pour qu'un réviseur la comprenne. systemctl restart catalog peut être contrôlé. ssh host 'bash -c \"$(curl ... )\"' est un tunnel opaque vers une autorité arbitraire.
Une seule approbation pour tout n'est pas une approbation
Un agent a besoin d'une passerelle d'actions lorsqu'un développeur approuve une permission vague une fois, sans pouvoir savoir quelles requêtes ultérieures l'ont utilisée. Un bouton intitulé « Autoriser l'accès de l'agent » n'est qu'une simulation de consentement s'il couvre un ensemble inconnu de points de terminaison, de commandes, de comptes et de durées.
Les approbations fonctionnent lorsqu'elles répondent à deux questions pratiques : quel processus a fait la demande et que couvre cette approbation ? L'identité du processus compte, car une machine locale peut exécuter un agent de programmation fiable, un script non signé copié d'un dépôt et un processus malveillant qui a repris le nom de l'agent. Un simple libellé ne suffit pas à établir la confiance. L'autorité de signature du code fournit un élément utile à vérifier.
La portée compte aussi, car la fatigue liée aux approbations transforme les utilisateurs en personnes qui cliquent automatiquement. Demander à chaque développeur d'examiner cinquante appels courants par heure ne crée pas un contrôle humain. Cela lui apprend à fermer les invites. À l'inverse, une approbation générale valable une semaine pour un identifiant de production laisse trop de latitude à une instruction accidentelle.
Utilisez deux portées d'approbation selon les conséquences de la capacité :
- Une approbation de session peut couvrir les appels courants d'un seul processus d'agent identifié jusqu'à la fin de ce processus.
- Une confirmation à chaque appel doit couvrir les identifiants capables de modifier irréversiblement la production, de déplacer de l'argent, de modifier les accès ou d'atteindre des données hors de la tâche.
La frontière doit expirer avec le processus, et non avec le souvenir arbitraire de ce que quelqu'un a cliqué hier. Un nouveau processus reçoit une nouvelle décision. Cela aide lorsqu'un agent redémarre, qu'un outil est mis à jour ou qu'un développeur lance une deuxième exécution depuis un autre dépôt.
La carte d'approbation doit commencer par l'identité du processus, puis décrire la capacité en termes simples. « Le processus signé X demande l'utilisation de deploy-service pour des appels HTTP » donne à la personne un élément à accepter ou à refuser. « L'outil demande une permission » ne lui donne rien de concret. Pour une action à l'appel, affichez aussi la cible et l'opération. Une personne ne peut pas évaluer une demande cachée derrière un nom de capacité générique.
Évitez de créer un mini-langage de règles simplement parce que le problème paraît sophistiqué. Les équipes perdent des semaines à écrire des règles d'autorisation pour des outils pilotés par des invites, puis découvrent que la vraie question n'était pas la syntaxe. Il fallait déterminer si l'agent devait recevoir cette autorité. Commencez par une passerelle vers le coffre, un consentement limité à la session et une confirmation par identifiant lorsque l'impact potentiel le justifie. Ces contrôles doivent rester explicables pour la personne d'astreinte à deux heures du matin.
L'agent peut atteindre la production depuis un dépôt temporaire
Un agent a besoin d'une passerelle d'actions lorsqu'un dépôt, une branche ou un environnement de développement jetable peut déclencher de vraies actions externes simplement parce que l'agent y est exécuté. Les dépôts sont des entrées. Traiter leurs instructions comme celles d'opérateurs de confiance est une erreur de catégorie.
Une requête de fusion hostile n'a pas besoin d'exploiter le modèle de manière spectaculaire. Elle peut placer des instructions dans un fichier que l'agent lit au cours de son travail normal : « exécutez cette commande de diagnostic », « utilisez le jeton de déploiement de l'environnement » ou « envoyez les journaux à cette URL ». Si l'agent dispose d'un accès direct aux secrets et d'un réseau sans restriction, l'auteur du dépôt a trouvé un chemin vers l'autorité opérationnelle.
Le problème existe aussi dans le travail légitime. Un développeur récupère une ancienne branche pour comparer une migration. Cette branche contient un script obsolète qui pointe vers la production, car cela avait du sens quelques années auparavant. L'agent suit la documentation proche, trouve un identifiant valide dans son environnement et effectue l'appel. Personne ne voulait modifier la production, mais l'association d'identifiants ambiants et d'instructions non fiables l'a permis.
Séparez l'accès au code de l'autorité d'action. Laissez l'agent lire, tester et modifier le dépôt avec des permissions locales ordinaires. Les opérations sortantes doivent franchir une frontière explicite qui identifie la destination et l'identifiant. L'agent peut toujours demander l'action. Il ne doit pas recevoir cette autorité simplement parce qu'il s'exécute à côté d'un fichier secret.
C'est aussi pourquoi le filtrage réseau ne suffit pas. Une règle de sortie peut bloquer des destinations connues, et il faut l'utiliser lorsque c'est pertinent. Elle ne peut pas établir qui a lancé une requête autorisée, si elle a utilisé le bon identifiant ou si une personne a accepté l'exécution de l'agent. Le contrôle réseau est un mur extérieur utile. Il ne remplace pas le fait de garder les identifiants hors de l'agent.
Testez ce point avec un dépôt volontairement non fiable. Créez un point de terminaison inoffensif qui enregistre les requêtes. Placez dans un fichier du projet une instruction convaincante demandant à l'agent de l'appeler avec un prétendu jeton de diagnostic. Exécutez ensuite l'agent comme les développeurs le font habituellement. Si le point de terminaison reçoit un jeton, un nom de secret résolu dans l'agent ou une requête qui contourne la revue, vous avez trouvé la frontière à corriger.
Vous ne pouvez pas révoquer rapidement un agent en cours d'exécution
Un agent a besoin d'une passerelle d'actions lorsque la seule réponse à une mauvaise exécution consiste à arrêter un terminal, à révoquer tous les identifiants qu'il a peut-être copiés ou à espérer qu'il ait terminé. Un contrôle sérieux permet à un opérateur d'arrêter l'autorité actuelle sans transformer une erreur locale en crise générale d'identifiants.
La durée de vie du processus fournit une unité de révocation naturelle. Si une approbation est attachée à un processus d'agent, la révocation de cette session bloque les actions suivantes de cette exécution même si le processus reste ouvert. L'agent peut continuer à rédiger du code, mais il ne peut plus atteindre les canaux externes contrôlés par la passerelle. C'est bien moins perturbant que d'arrêter le travail d'autres développeurs ou de renouveler un jeton utilisé par toute l'organisation.
Les équipes mélangent souvent trois révocations différentes :
- Révoquer une session empêche une exécution d'agent identifiée d'effectuer d'autres requêtes approuvées.
- Verrouiller le coffre d'identifiants arrête toute action protégée jusqu'à ce qu'une personne autorisée le rouvre.
- Renouveler ou désactiver un identifiant externe supprime l'autorité auprès du service qui l'a délivré.
Utilisez l'action la plus limitée qui contient l'incident, puis élargissez-la si les éléments l'exigent. Si un développeur a simplement choisi la mauvaise tâche, la révocation de session peut suffire. Si l'agent a imprimé un jeton dans une transcription externe, renouvelez-le. Si vous ne savez pas quelles sessions y ont accès, verrouillez d'abord le coffre et enquêtez depuis une position stable.
Une passerelle doit refuser les actions lorsque son coffre est verrouillé. Cela paraît évident jusqu'à ce que vous rencontriez des outils qui mettent en cache les identifiants déchiffrés par commodité. Une autorité mise en cache annule l'intérêt du verrouillage au moment où les opérateurs en ont le plus besoin. Un état verrouillé doit signifier que l'exécuteur ne peut pas effectuer d'appels HTTP ou de connexions SSH nécessitant des secrets stockés.
Répétez cette procédure avant un incident. Lancez une session d'agent qui demande une action protégée inoffensive, révoquez la session, puis répétez la même demande. La réponse attendue doit indiquer que l'autorisation n'est plus valide. Lancez ensuite un nouveau processus et vérifiez qu'il doit obtenir sa propre approbation. Si l'ancien processus continue de fonctionner, vous avez créé un système de notification, pas un contrôle.
Vos journaux enregistrent les sorties, mais pas les actions
Un agent a besoin d'une passerelle d'actions lorsque vous disposez de transcriptions et de sorties de terminal, mais ne pouvez pas produire un enregistrement fiable des actions. Une transcription décrit ce que l'agent affirme avoir fait. Elle ne prouve pas ce qui a traversé le réseau ni quel identifiant l'a autorisé.
Un enregistrement d'action doit capturer l'événement près de l'exécuteur. Pour un appel HTTP, enregistrez la session de l'agent, l'heure de la requête, la cible, la méthode, la référence de l'identifiant, la décision d'autorisation et le statut du résultat. Pour SSH, enregistrez l'hôte, la référence du compte, la commande demandée, la décision et le résultat de sortie. Ne journalisez pas les mots de passe bruts, les clés privées, les jetons bearer ni les corps de réponse entièrement sensibles simplement pour donner une impression de complétude au journal.
La Logging Cheat Sheet d'OWASP souligne le même point pratique : les journaux doivent faciliter les investigations de sécurité, mais les applications doivent éviter d'y inscrire directement les jetons d'accès, les mots de passe, les identifiants de session et autres secrets. De nombreuses équipes ne suivent que la première moitié de ce conseil. Elles activent un débogage détaillé après l'échec d'un agent, puis créent une deuxième fuite de secrets dans le système de journaux.
Un meilleur enregistrement sépare les éléments de preuve du contenu secret. L'exécuteur peut conserver une référence d'identifiant telle que deploy-service, un condensat de la requête et le résultat de l'action. Un enquêteur peut établir qu'une session autorisée précise a utilisé cet identifiant pour une opération donnée sans recevoir l'identifiant lui-même.
L'enregistrement doit aussi fournir une preuve de modification. Si le même processus qui effectue les actions peut réécrire discrètement le journal d'hier, celui-ci ne raconte plus que ce que le processus veut vous faire croire. Le chaînage des hachages est une défense pratique : chaque entrée inclut le condensat de l'entrée précédente, de sorte que la modification ou la suppression d'une ancienne entrée interrompt la vérification des suivantes.
La vérification ne doit pas exiger le déchiffrement de chaque événement sensible. Un outil d'audit utile peut valider l'intégrité de la chaîne à partir d'enregistrements chiffrés, ce qui permet de détecter une modification sans donner largement accès à leur contenu. Cela ne prouve pas que chaque action initiale était judicieuse. Cela prouve que la séquence enregistrée n'a pas été discrètement modifiée après coup.
Posez une question d'audit qui va au-delà de « l'agent a-t-il réussi ? » Demandez : « Quelle exécution d'agent a utilisé l'identifiant de déploiement de production hier, quel processus a reçu le consentement et quel résultat chaque requête a-t-elle renvoyé ? » Si vous devez réunir l'historique du shell, les journaux cloud, une exportation de conversation et le souvenir de quelqu'un, vous n'avez pas de journal d'actions.
Un proxy surveille le trafic, mais l'agent détient toujours le pouvoir
Un agent a besoin d'une passerelle d'actions lorsque la solution proposée est un proxy qui observe le trafic alors que l'agent détient toujours le jeton API ou la clé SSH. Les proxys ont des fonctions légitimes, mais la visibilité du trafic et la garde des identifiants sont deux contrôles différents.
Un proxy inverse peut authentifier les requêtes à la périphérie d'une application. Un proxy sortant peut filtrer les destinations ou conserver les journaux de requêtes. Aucun de ces modèles n'empêche nécessairement l'agent local de lire un jeton, de le placer dans une autre requête, de l'enregistrer dans un fichier ou d'utiliser un autre chemin autorisé. Pour SSH, un proxy réseau ne résout pas le problème d'une clé privée présente dans l'environnement de l'agent.
Une conception de type intermédiaire ajoute aussi sa propre charge opérationnelle. Elle doit gérer la confiance TLS, le déploiement des certificats, les exceptions de protocole et le trafic que les applications épinglent ou chiffrent séparément. Les équipes la construisent parfois parce qu'elle semble offrir un point de contrôle universel. Elles découvrent ensuite qu'elles doivent toujours décider quel processus peut utiliser quel identifiant.
Placez la frontière au niveau de l'action, pas seulement du paquet. L'agent émet une requête structurée. L'exécuteur choisit l'identifiant stocké, l'injecte dans une requête HTTP ou l'utilise pour SSH, enregistre la décision et renvoie le résultat. L'agent détient les informations nécessaires pour demander une opération, pas le matériel nécessaire pour usurper ailleurs l'identité du service.
Cette conception a une limite utile : elle n'essaie pas de devenir un moteur de règles général capable de deviner l'intention à partir du langage naturel. Elle rend l'autorité explicite. Un agent demande une opération par un canal connu. Une personne ou un contrôle d'identifiants configuré décide si ce canal est disponible pour cette session. L'enregistrement décrit ce qui s'est passé.
Pour les équipes macOS, Sallyport applique ce modèle avec un shim MCP stdio : l'agent demande des actions HTTP ou SSH, tandis que l'application conserve les secrets API et SSH dans son coffre chiffré et exécute elle-même l'action. Cela ne dispense pas de choisir de bonnes permissions de service, mais supprime l'habitude de transmettre des identifiants bruts à l'agent.
Vous vous fiez au moindre privilège sans en tester les limites
Un agent a besoin d'une passerelle d'actions lorsque l'équipe affirme que ses jetons appliquent le moindre privilège, sans avoir testé ce que ces permissions permettent entre les mains d'un processus autonome. Le moindre privilège est une propriété d'un identifiant réel et des opérations qu'il peut atteindre, pas une étiquette attachée à un rôle.
Un jeton qui ne peut déployer qu'un seul service peut malgré tout modifier ses variables d'environnement, ce qui peut rediriger le trafic ou exposer des données. Un compte SSH limité à un hôte peut encore lire une configuration de déploiement contenant les identifiants d'autres systèmes. Un rôle cloud incapable de supprimer des ressources peut créer une charge de travail dotée d'une identité trop permissive. Les noms de permissions révèlent rarement toutes les conséquences.
Examinez les permissions en fonction des actions, pas des produits. Notez ce que l'agent peut demander à un exécuteur de faire et inspectez les règles d'autorisation du service pour chaque action. Incluez les lectures. Un agent peut provoquer des incidents coûteux ou sensibles avec des points d'exportation, la récupération de journaux, la lecture de configurations et les API de découverte, sans modifier une seule ressource.
Utilisez un petit tableau pendant la revue :
| Action demandée | Identité externe | Conséquence en cas d'utilisation abusive | Portée de l'approbation |
|---|---|---|---|
| Créer un déploiement de prévisualisation | compte de déploiement de prévisualisation | Charge de travail et coût temporaires | Session |
| Redémarrer un service de production | compte d'opérations de production | Interruption pour les utilisateurs | Par appel |
| Lire un ensemble de journaux d'incident | compte de support | Exposition possible de données sensibles | Par appel |
| Ouvrir une session SSH vers l'hôte de compilation | compte de l'hôte de compilation | Exécution de commandes sur l'hôte | Session si la portée des commandes est limitée |
Le tableau force une conversation inconfortable, mais productive. Si vous ne pouvez pas décrire la conséquence en quelques mots, la permission est probablement trop large ou l'interface de requête trop vague.
N'utilisez pas une passerelle d'actions comme excuse pour laisser les identités de service surdimensionnées. Elle réduit l'exposition des secrets et améliore le consentement ainsi que les éléments de preuve. L'API externe ou l'hôte décide toujours de ce que l'identifiant peut faire. Réduisez ces droits, utilisez des identités distinctes pour les environnements distincts et imposez une règle d'approbation plus stricte aux opérations irréversibles.
La première frontière doit couvrir l'action qui peut vous nuire cette semaine
Une passerelle d'actions justifie sa place lorsqu'elle remplace un chemin d'accès direct à un identifiant que votre équipe utilise déjà, et non lorsqu'elle devient une refonte des accès de six mois. Choisissez l'action la plus lourde de conséquences qu'un agent effectue actuellement et déplacez d'abord ce chemin.
Pour de nombreuses équipes, il s'agit d'une API de déploiement de production. Pour d'autres, c'est l'accès SSH à un hôte de compilation ou d'exploitation. Le choix doit suivre l'autorité réelle, pas l'intégration la plus facile à montrer. Un jeton en lecture seule pour un outil de suivi peut compter, mais il ne doit pas détourner l'attention d'une clé privée capable de redémarrer les services de production.
Rendez le premier déploiement concret :
- Inventoriez les jetons, clés SSH, comptes partagés et variables d'environnement accessibles à l'agent.
- Sélectionnez un identifiant qui franchit une véritable frontière de confiance et supprimez sa valeur en clair de l'environnement de l'agent.
- Définissez la requête d'action structurée que l'agent peut effectuer, avec la destination et l'opération.
- Exigez une autorisation limitée au processus pour ce chemin de requête, puis choisissez une confirmation par appel si l'action peut causer un dommage important.
- Effectuez un test inoffensif, révoquez la session et vérifiez que le journal montre l'appel autorisé ainsi que la nouvelle tentative refusée.
Commencez par un identifiant de préproduction uniquement si celle-ci reproduit fidèlement le même chemin d'action. Un jeton de préproduction utilisé dans un outil complètement différent prouve très peu de choses sur le comportement de l'autorisation en production. Le test doit couvrir l'exécuteur, l'approbation, la révocation et le parcours d'audit réels.
N'attendez pas un comportement parfait de l'agent. Les défenses contre l'injection d'instructions, la revue des dépôts, le bac à sable, les permissions de service et les contrôles réseau réduisent tous les risques. Aucun de ces dispositifs ne vous donne une réponse claire lorsqu'un processus d'agent demande une action externe avec un identifiant qu'il ne devrait jamais posséder. Placez l'identifiant derrière la frontière avant que le prochain jeton copié ne se transforme en enquête d'incident.
FAQ
Qu'est-ce qu'une passerelle d'actions pour un agent de programmation IA ?
Une passerelle d'actions garde les identifiants hors du processus de l'agent et exécute à sa place les actions externes approuvées. Un gestionnaire de secrets stocke et récupère les secrets. S'il renvoie un jeton API à l'agent, celui-ci détient toujours le jeton et peut l'exposer ou le réutiliser.
Les petites équipes ont-elles besoin d'une passerelle d'actions ?
Vous pouvez commencer par un seul canal dangereux, généralement l'accès HTTP à la production ou SSH. La première frontière utile est simple : l'agent demande une action, un composant de confiance séparé détient l'identifiant, et une personne peut voir et arrêter l'exécution.
Que faire si un agent a copié une clé API dans une invite ?
Considérez un jeton copié comme exposé dès qu'il arrive dans une invite, une transcription, l'historique du shell, une capture du terminal ou un fichier généré. Révoquez-le, remplacez-le, recherchez où il est apparu, puis modifiez le processus qui a permis à l'agent de le recevoir.
Les clés SSH restreintes peuvent-elles être données directement à un agent ?
Non. Une clé SSH peut être limitée par le compte, l'adresse source ou la commande, mais le processus de l'agent peut toujours utiliser toutes les permissions de cette clé. Gardez la clé privée dans un exécuteur séparé et approuvez ou limitez les commandes qu'il exécute.
Pourquoi les comptes de service partagés posent-ils problème pour l'accès des agents ?
Les comptes partagés suppriment la traçabilité : une requête réussie indique quel compte a agi, mais pas quelle session d'agent ou quelle personne l'a lancée. Donnez si possible une identité distincte à chaque charge de travail et enregistrez la session de l'agent avec chaque action.
Que doit afficher une demande d'approbation pour une action d'agent ?
Une approbation utile nomme le processus de l'agent, la destination, l'opération, l'identifiant ou la capacité concernés, ainsi que la portée de l'approbation. Une approbation qui dit seulement qu'un agent demande un accès oblige la personne à deviner ce qui compte réellement.
Que doit contenir le journal d'actions d'un agent IA ?
Les enregistrements d'actions doivent contenir la session de l'agent, l'heure, la destination, la méthode ou la commande, le résultat de l'autorisation et l'issue de l'opération. Ils doivent exclure les identifiants bruts, les jetons et les corps de réponse sensibles, sauf si vous disposez d'un processus protégé prévu pour ces données.
Un proxy inverse peut-il remplacer une passerelle d'actions ?
Un proxy peut observer ou acheminer le trafic, mais il n'empêche pas automatiquement un agent de détenir les identifiants ou d'utiliser un autre chemin réseau. Une passerelle d'actions doit détenir l'identifiant et exécuter l'action, au lieu de simplement se placer sur le trajet de la requête.
Quand faut-il demander une approbation pour chaque appel d'un agent ?
L'approbation par session convient au travail courant d'un processus d'agent connu, lorsque la session se termine proprement et que sa portée est limitée. Demandez une confirmation à chaque utilisation pour les identifiants ayant un large impact en production, les opérations irréversibles ou les cas où des erreurs se sont déjà produites.
Comment introduire des contrôles sur les actions des agents sans arrêter le développement ?
Commencez par inventorier tous les identifiants, clés SSH, comptes partagés et intégrations sortantes accessibles à un agent. Supprimez ensuite la transmission directe des secrets sur le chemin le plus sensible et vérifiez que vous pouvez reconstituer une action de test, de la demande au résultat en passant par l'approbation.