Sécurité des paiements Amazon Bedrock AgentCore
Les bonnes pratiques suivantes peuvent vous aider à prévenir les incidents de sécurité lors de l'utilisation des AgentCore paiements Amazon Bedrock. Les contrôles préventifs mettent fin aux actions dangereuses avant qu'elles ne se produisent. Les commandes Detective détectent les activités inattendues afin que vous puissiez y répondre.
Contrôles préventifs
Utilisez ces contrôles pour limiter les actions de votre agent et pour garder les informations sensibles hors de sa portée.
Appliquez le principe du moindre privilège grâce au modèle IAM à quatre rôles
AgentCore payments sépare le plan de contrôle du plan de données en utilisant des rôles IAM distincts. Configurez les autorisations IAM en fonction du personnage correspondant à chaque rôle. Dans ce schéma, aucun rôle ne peut à la fois augmenter un budget et dépenser en conséquence.
| # | Role | Objectif |
|---|---|---|
|
1 |
|
Gère le service. |
|
2 |
|
Configure les sessions. Ce rôle est explicitement refusé |
|
3 |
|
Exécute les paiements. |
|
4 |
|
Service-assumed. Récupère l'état de la session et des informations d'identification. |
Pour plus d'informations, consultez la section Rôles IAM pour les AgentCore paiements.
Stocker les informations d'identification dans AgentCore Identity
N'intégrez jamais les informations d'identification du fournisseur de portefeuille dans le code de l'agent ou les variables d'environnement.
-
Stockez les informations d'identification Coinbase CDP ou Stripe (Privy) sous forme d'
PaymentCredentialProvideridentifiant. AgentCore -
Le service les récupère au moment de l'exécution en utilisant
ResourceRetrievalRole. -
Alternez les informations d'identification selon le calendrier recommandé par le fournisseur de portefeuille. Si un identifiant est compromis, révoquez-le immédiatement.
Pour en savoir plus, consultez la page Identité AgentCore .
Définissez correctement l' UserId en-tête
Sur un gestionnaire de paiements avec autorisation IAM-configured entrante, votre backend affirme l'X-Amzn-Bedrock-AgentCore-Payments-User-Iden-tête et AgentCore Payments ne le vérifie pas. Il est de votre responsabilité de définir correctement cette valeur.
AgentCore payments vérifie l'identité de l'appelant IAM et du JWT (lorsque vous utilisez OAuth), mais vous êtes responsable de l'exactitude de l'UserIden-tête des appels d'API. Ne laissez pas les utilisateurs finaux ou les agents influencer directement cet en-tête.
Déploiements mutualisés sécurisés
Pour les déploiements multi-locataires desservant plusieurs utilisateurs finaux, utilisez le type d'autorisation CUSTOM_JWT (OAuth) dans le gestionnaire de paiements. Cela fournit au service une identité d'utilisateur final vérifiée. Avec le gestionnaire IAM-configured de paiement, AgentCore les paiements ne vérifient pas l'identité de l'utilisateur final.
Exiger le consentement et la délégation explicites de l'utilisateur final
Le financement et la délégation sont deux décisions distinctes pour l'utilisateur final, qui sont toutes deux prises hors bande par l'agent :
-
Financement — L'utilisateur final dépose des fonds via le portail du fournisseur de portefeuille. L'agent n'a aucun accès API au financement et ne doit jamais le demander ou le lancer automatiquement.
-
Délégation — L'utilisateur final accorde l'autorisation via Coinbase Spend Permissions ou Privy Delegated Actions. Ne présumez pas que la délégation est permanente, car les utilisateurs peuvent la révoquer à tout moment. Gérez la délégation révoquée avec élégance.
Gardez l'agent isolé des instruments de paiement
L'agent ne doit jamais accéder aux numéros de carte, aux valeurs CVV, aux coordonnées bancaires ou aux clés privées du portefeuille. L'avis de l'agent se limite à « une autorisation de dépenser à partir d'un portefeuille appartenant à l'utilisateur ».
-
Les clés du portefeuille sont détenues par le fournisseur en toute autonomie, et non par le développeur ou par AWS le développeur.
-
Ne transmettez jamais les détails de l'instrument de paiement par le biais d'invites, de saisies d'outils ou de fenêtres contextuelles.
Accès à l'outil Scope avec Policy in AgentCore
Pour obtenir une autorisation au niveau de l'outil, exposez les points de terminaison payants via Amazon Bedrock Gateway. AgentCore Chaque appel via la passerelle est intercepté par Policy in AgentCore, un Cedar-based moteur qui évalue la demande (y compris l'identité de l'agent, le nom de l'outil et les paramètres) et décide de l'autoriser ou non.
Les sessions relatives aux politiques et aux paiements portent sur différentes décisions :
-
La politique contrôle qui appelle quel outil avec quels paramètres.
-
Les sessions de paiement contrôlent le montant qui peut être dépensé et pour combien de temps.
Ensemble, ils vous donnent des leviers orthogonaux pour l'accès aux outils et le montant des dépenses.
-
Rédigez des politiques Cedar définies par l'identité de l'agent, le groupe d'utilisateurs et les paramètres de demande.
-
Refusez l'accès à des outils onéreux aux agents qui n'en ont pas besoin.
-
Passez régulièrement en revue et auditez les politiques à mesure que votre catalogue d'outils change.
Pour plus d'informations, consultez la section Politique dans AgentCore.
Utilisez des sessions de paiement avec des limites budgétaires et un TTL
Chaque paiement s'effectue dans le cadre d'une session de paiement assortie d'un montant maximum de dépenses et d'une date d'expiration. La couche d'infrastructure impose ces limites, de sorte que l'injection rapide et le non-déterminisme du modèle ne peuvent pas les contourner.
-
Définissez
maxSpendAmountle minimum requis pour la tâche et définissez un TTL court. -
Commencez par des budgets prudents et augmentez-les uniquement lorsque l'agent s'avère fiable.
-
Les signatures échouées annulent automatiquement les déductions budgétaires.
Pour plus d'informations, consultez la section Création d'une session de paiement.
Valider et restreindre les adresses PayTo
L'payToadresse indique le portefeuille du destinataire. AgentCore les paiements n'appliquent pas de payTo restrictions côté serveur. Votre application doit donc valider l'adresse avant d'appeler l'ProcessPaymentAPI.
-
Tenez à jour une liste autorisée d'adresses de commerçants préalablement vérifiées et rejetez les adresses inconnues.
-
Ne laissez jamais le modèle générer des adresses PayTo. Ils doivent provenir d'une source fiable, telle qu'une demande de paiement x402 ou un registre vérifié.
-
Validez par rapport au vendeur attendu lors du traitement des réponses x402.
-
Préférez AgentCore Gateway pour la découverte des terminaux, car il fournit des
payToadresses vérifiées via le x402 Bazaar. -
Appliquez les politiques de Cedar pour limiter les adresses qu'un agent peut payer.
-
Ne mettez pas les adresses en cache entre les sessions. Utilisez toujours l'adresse actuelle fournie par le vendeur, validée par rapport à votre liste d'autorisation.
Accès réseau sécurisé
-
Utilisez des points de terminaison VPC pour empêcher le trafic d'accéder à l'Internet public.
-
Appliquez des politiques relatives aux terminaux et des conditions IAM (
aws:sourceVpc,aws:sourceVpce) pour restreindre les origines. -
Activez tous AWS CloudTrail les appels de l'API de AgentCore paiement.
Conception pour les échecs de paiement et les annulations
-
Mettez en œuvre l'idempotencie pour éviter les paiements en double lors de nouvelles tentatives.
-
Gérez les échecs de paiement grâce à un comportement de repli clair. Ne réessayez pas indéfiniment.
-
Surveillez les défaillances partielles et mettez en œuvre des transactions compensatoires.
Contrôles de détection
Utilisez ces contrôles pour observer l'activité des paiements et détecter les anomalies afin de pouvoir y répondre.
Activez l'observabilité et la journalisation des audits
AgentCore payments fournit une observabilité automatique via Amazon CloudWatch :
-
Journaux automatiques : chaque appel du plan de données est enregistré (qui, quoi, combien et à qui).
-
Périmètres vendus — Les traces complètes du cycle de vie des paiements sont disponibles dans. AWS X-Ray
-
Définissez des alarmes en cas de modèles de dépenses anormaux, tels que des paiements à des adresses non répertoriées, un nombre anormalement élevé de destinataires distincts ou des changements d'adresse soudains pour des commerçants connus.
-
Conservez les journaux conformément à vos exigences de conformité.
-
Ne vous fiez pas au code de l'agent pour enregistrer ses propres actions.
Pour plus d'informations, consultez Observability with Amazon CloudWatch.
Passez régulièrement en revue les configurations
-
Auditez les budgets et réduisez les limites pour les agents qui sous-estiment leurs dépenses.
-
Passez en revue les politiques de Cedar et les rôles IAM tous les trimestres.
-
Surveillez les tableaux de bord des fournisseurs de portefeuilles pour détecter toute activité de délégation ou de financement imprévue.