View a markdown version of this page

Sécurité des paiements Amazon Bedrock AgentCore - Base rocheuse de l'Amazonie AgentCore

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

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 empêchent les actions dangereuses avant qu'elles ne se produisent. Les commandes de détective détectent les activités inattendues afin que vous puissiez y réagir.

Contrôles préventifs

Utilisez ces contrôles pour limiter ce que votre agent peut faire et pour garder les matériaux sensibles hors de sa portée.

Appliquez le principe du moindre privilège grâce au modèle IAM à cinq 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

ControlPlaneRole

Gère le service.

2

ManagementRole

Configure les sessions. Ce rôle est explicitement refuséProcessPayment.

3

ProcessPaymentRole

Exécute les paiements.

4

ResourceRetrievalRole

Service-assumed. Récupère l'état de la session et des informations d'identification.

5

AWSMarketplaceManageSubscriptions(surControlPlaneRole)

Pour Coinbase, abonne le compte à la liste Marketplace. Une politique AWS gérée concernant l'administrateur, et non un rôle distinct pouvant être assumé.

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 dans les variables d'environnement.

  • Stockez les informations d'identification Coinbase CDP ou Stripe (Privy) dans Identity. PaymentCredentialProvider AgentCore

  • Le service les récupère lors de l'exécution en utilisantResourceRetrievalRole.

  • Effectuez une rotation des informations d'identification selon le calendrier recommandé par le fournisseur du portefeuille. Si un identifiant est compromis, révoquez-le immédiatement.

Pour en savoir plus, consultez la page Identité AgentCore .

Réglez correctement UserId l'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, mais AgentCore Payments ne le vérifie pas. Il vous incombe de définir correctement cette valeur.

AgentCore payments vérifie l'appelant IAM et le JWT (lors de l'utilisation d'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 multi-locataires sécurisés

Pour les déploiements multi-locataires qui desservent plusieurs utilisateurs finaux, utilisez le type d'autorisation CUSTOM_JWT (OAuth) dans le gestionnaire de paiement. Cela confère 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.

Le financement et la délégation sont deux décisions distinctes de 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.

Isolez l'agent 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. Le point de vue de l'agent s'arrête à « l'autorisation de dépenser depuis 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 informations relatives à un instrument de paiement par le biais d'invites, de saisies d'outils ou de fenêtres contextuelles.

Accès à l'outil Scope avec Policy dans AgentCore

Pour une autorisation au niveau de l'outil, exposez les terminaux 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 couvrent 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 pendant combien de temps.

Ensemble, ils vous fournissent des leviers orthogonaux pour l'accès aux outils et le montant des dépenses.

  • Rédigez des politiques Cedar définies en fonction de l'identité de l'agent, du groupe d'utilisateurs et des paramètres de demande.

  • Refusez l'accès à des outils onéreux aux agents qui n'en ont pas besoin.

  • Passez en revue et auditez régulièrement 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 limites budgétaires et TTL

Chaque paiement est effectué au cours d'une session de paiement qui comporte un montant de dépense maximum et une date d'expiration. La couche d'infrastructure applique ces limites, de sorte que l'injection rapide et le non-déterminisme du modèle ne peuvent pas les contourner.

  • Réglez maxSpendAmount au 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, voir Créer une session de paiement.

Valider et restreindre les adresses PayTo

L'payToadresse indique le portefeuille du destinataire. AgentCore payments n'applique pas de payTo restrictions côté serveur. Votre application doit donc valider l'adresse avant d'appeler l'ProcessPaymentAPI.

  • Tenez à jour une liste d'adresses commerciales pré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 payTo adresses 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 marchand, validée par rapport à votre liste d'autorisation.

  • Sélection des bénéficiaires. Les limites de session limitent le montant qu'un agent peut dépenser, et non les personnes qu'il peut payer. Utilisez une politique de portefeuille pour refuser les paiements à des destinataires spécifiques. Pour Stripe (Privy), suivez les instructions relatives au filtrage des sanctions pour les paiements sur le site Web de Privy. Coinbase filtre automatiquement toutes les transactions par rapport à la liste des sanctions de l'OFAC.

  • Utilisez les politiques des fournisseurs de paiement pour restreindre les actions du portefeuille, telles que la signature et le transfert. Pour plus d'informations, consultez la documentation sur les politiques de Stripe (Privy) sur le site Web de Privy et la documentation sur la sécurité et les politiques de Coinbase sur le site Web de Coinbase.

Accès réseau sécurisé

  • Utilisez des points de terminaison VPC pour empêcher le trafic d'accéder à l'Internet public.

  • Appliquez les politiques relatives aux terminaux et les conditions IAM (aws:sourceVpc,aws:sourceVpce) pour restreindre les origines.

  • Activez tous AWS CloudTrail les appels d'API de AgentCore paiement.

Conception adaptée aux échecs de paiement et aux annulations

  • Mettez en œuvre l'idempotence pour éviter les paiements en double lors des 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é de paiement 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 sur un plan de données est enregistré (qui, quoi, combien et à qui).

  • Sphères vendues  : les traces complètes du cycle de vie des paiements sont disponibles dans. AWS X-Ray

  • Réglez des alarmes en cas de habitudes de dépenses anormales, telles que des paiements vers 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 la section Observabilité avec Amazon CloudWatch.

Passez régulièrement en revue les configurations

  • Auditez les budgets et réduisez les limites pour les agents qui sous-dépensent.

  • 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.