

# Sicherheit bei Zahlungen mit Amazon Bedrock AgentCore
<a name="payments-security-best-practices"></a>

Die folgenden bewährten Methoden können Ihnen helfen, Sicherheitsvorfälle bei der Verwendung von Amazon AgentCore Bedrock-Zahlungen zu verhindern. Präventive Kontrollen verhindern unsichere Aktionen, bevor sie passieren. Detective Controls deckt unerwartete Aktivitäten auf, sodass Sie darauf reagieren können.

## Präventive Kontrollen
<a name="payments-security-preventative"></a>

Verwenden Sie diese Kontrollen, um die Möglichkeiten Ihres Agenten einzuschränken und vertrauliches Material außerhalb seiner Reichweite zu halten.

### Erzwingen Sie mit dem IAM-Muster mit vier Rollen die geringsten Rechte
<a name="payments-security-least-privilege"></a>

AgentCore Payments trennt die Steuerungsebene von der Datenebene, indem unterschiedliche IAM-Rollen verwendet werden. Richten Sie IAM-Berechtigungen auf der Grundlage der Persona ein, die jeder Rolle entspricht. Bei diesem Muster kann keine einzelne Rolle gleichzeitig ein Budget aufbringen und dafür Geld ausgeben.


| \# | Rolle | Zweck | 
| --- | --- | --- | 
| 1 |  `ControlPlaneRole`  | Verwaltet den Dienst. | 
| 2 |  `ManagementRole`  | Konfiguriert Sitzungen. Diese Rolle wurde ausdrücklich verweigert`ProcessPayment`. | 
| 3 |  `ProcessPaymentRole`  | Führt Zahlungen aus. | 
| 4 |  `ResourceRetrievalRole`  | Service-assumed. Ruft den Status der Sitzung und der Anmeldeinformationen ab. | 

Weitere Informationen finden Sie unter [IAM-Rollen](payments-iam-roles.md) für Zahlungen. AgentCore 

### Speichern Sie Anmeldeinformationen in Identity AgentCore
<a name="payments-security-credentials"></a>

Betten Sie niemals Anmeldeinformationen eines Wallet-Anbieters in Agentencode oder Umgebungsvariablen ein.
+ Speichern Sie Coinbase CDP- oder Stripe (Privy) -Anmeldeinformationen als `PaymentCredentialProvider` in Identity. AgentCore 
+ Der Dienst ruft sie zur Laufzeit ab, indem er `ResourceRetrievalRole`
+ Wechseln Sie die Anmeldeinformationen nach dem vom Wallet-Anbieter empfohlenen Zeitplan ab. Wenn ein Berechtigungsnachweis kompromittiert wurde, widerrufe ihn sofort.

Weitere Informationen finden Sie unter [AgentCore -Identität](identity.md).

### Stellen Sie den Header richtig UserId ein
<a name="payments-security-userid-header"></a>

Bei einem Zahlungsmanager für IAM-configured eingehende Autorisierungen bestätigt Ihr Backend den `X-Amzn-Bedrock-AgentCore-Payments-User-Id` Header, und AgentCore Payments verifiziert ihn **nicht**. Sie sind dafür verantwortlich, diesen Wert korrekt einzustellen.

AgentCore payments verifiziert den IAM-Aufrufer und das JWT (bei Verwendung von OAuth), aber die Richtigkeit des `UserId` Headers bei API-Aufrufen liegt in Ihrer Verantwortung. Lassen Sie nicht zu, dass Endbenutzer oder Agenten diesen Header direkt beeinflussen.

### Sichere Bereitstellungen mit mehreren Mandanten
<a name="payments-security-multi-tenant"></a>

Verwenden Sie für Mehrmandantenbereitstellungen, die mehrere Endbenutzer bedienen, den Autorisierungstyp `CUSTOM_JWT` (OAuth) im Zahlungsmanager. Dadurch erhält der Dienst eine verifizierte Endbenutzeridentität. Mit dem IAM-configured Zahlungsmanager überprüft AgentCore Payments nicht die Identität des Endbenutzers.

### Erfordern Sie die ausdrückliche Zustimmung und Delegierung des Endbenutzers
<a name="payments-security-consent"></a>

Bei Finanzierung und Delegierung handelt es sich um zwei separate Entscheidungen der Endnutzer, und beide Entscheidungen werden außerhalb der Bandbreite des Agenten getroffen:
+  **Finanzierung** — Der Endnutzer zahlt Geld über das Portal des Wallet-Anbieters ein. Der Agent hat keinen API-Zugriff auf Finanzierungen und darf niemals danach fragen oder sie automatisch initiieren.
+  **Delegierung** — Der Endbenutzer erteilt die Erlaubnis über Coinbase Spend Permissions oder Privy Delegated Actions. Gehen Sie nicht davon aus, dass die Delegierung dauerhaft ist, da Benutzer sie jederzeit widerrufen können. Gehen Sie mit der widerrufenen Delegierung vorsichtig um.

### Halten Sie den Agenten von Zahlungsinstrumenten fern
<a name="payments-security-isolation"></a>

Der Agent darf niemals auf Kartennummern, CVV-Werte, Bankdaten oder private Wallet-Schlüssel zugreifen. Die Ansicht des Agenten endet bei „einer Erlaubnis, Geld aus einer Wallet des Benutzers auszugeben“.
+ Wallet-Schlüssel werden vom Anbieter selbst verwahrt — nicht vom Entwickler oder vom Entwickler. AWS 
+ Geben Sie Informationen zu Zahlungsinstrumenten niemals über Eingabeaufforderungen, Tooleingaben oder Kontextfenster weiter.

### Umfassen Sie den Zugriff auf Tools mit eingeschalteter Richtlinie AgentCore
<a name="payments-security-policy"></a>

Stellen Sie für die Autorisierung auf Tool-Ebene kostenpflichtige Endgeräte über Amazon Bedrock Gateway zur Verfügung. AgentCore Jeder Anruf über das Gateway wird von Policy In abgefangen AgentCore, einer Cedar-based Engine, die die Anfrage — einschließlich der Identität des Agenten, des Tool-Namens und der Parameter — bewertet und entscheidet, ob sie zugelassen werden soll.

In den Richtlinien- und Zahlungssitzungen werden unterschiedliche Entscheidungen getroffen:
+  **Die Richtlinie** legt *fest, wer* *welches Tool* mit *welchen Parametern* aufruft.
+  Bei **Zahlungssitzungen** wird festgelegt, *wie viel* und *für wie lange* ausgegeben werden kann.

Zusammen bieten sie Ihnen orthogonale Hebel für den Zugriff auf Tools und die Höhe der Ausgaben.
+ Schreiben Sie Cedar-Richtlinien, die sich nach Agentenidentität, Benutzergruppe und Anforderungsparametern richten.
+ Verweigern Sie Agenten, die diese nicht benötigen, den Zugriff auf teure Tools.
+ Überprüfen und überprüfen Sie die Richtlinien regelmäßig, wenn sich Ihr Toolkatalog ändert.

Weitere Informationen finden Sie unter [Richtlinie in AgentCore](policy.md).

### Verwenden Sie Zahlungssitzungen mit Budgetlimits und TTL
<a name="payments-security-sessions"></a>

Jede Zahlung erfolgt innerhalb einer Zahlungssitzung mit einem maximalen Ausgabenbetrag und einer Ablaufzeit. Die Infrastrukturebene erzwingt diese Grenzwerte, sodass eine schnelle Injektion und der Nichtdeterminismus des Modells sie nicht außer Kraft setzen können.
+ Stellen Sie `maxSpendAmount` das für die Aufgabe erforderliche Minimum ein und legen Sie eine kurze TTL fest.
+ Beginnen Sie mit konservativen Budgets und erhöhen Sie diese nur, wenn sich der Agent als zuverlässig erweist.
+ Fehlgeschlagene Unterschriften machen Budgetabzüge automatisch rückgängig.

Weitere Informationen finden Sie unter [Eine Zahlungssitzung erstellen](payments-create-session.md).

### PayTo-Adressen validieren und einschränken
<a name="payments-security-payto"></a>

Die `payTo` Adresse gibt die Brieftasche des Empfängers an. AgentCore Payments erzwingt serverseitig keine `payTo` Einschränkungen, sodass Ihre Anwendung die Adresse überprüfen muss, bevor sie die `ProcessPayment` API aufruft.
+  **Pflegen Sie eine Zulassungsliste mit** vorab verifizierten Händleradressen und lehnen Sie unbekannte Adressen ab.
+  **Lassen Sie das Modell niemals PayTo-Adressen generieren.** Sie müssen aus einer vertrauenswürdigen Quelle stammen, z. B. aus einer x402-Zahlungsanforderung oder einer verifizierten Registrierung.
+  **Prüfen Sie bei der Bearbeitung von x402-Antworten anhand des erwarteten Händlers**.
+  **Bevorzugen Sie AgentCore Gateway** für die Endpunkterkennung, da es verifizierte `payTo` Adressen über den x402-Bazaar bereitstellt.
+  **Wenden Sie die Richtlinien von Cedar** an, um einzuschränken, welche Adressen ein Agent bezahlen kann.
+  **Zwischenspeichern Sie Adressen nicht sitzungsübergreifend.** Verwenden Sie immer die aktuelle vom Händler angegebene Adresse, die anhand Ihrer Zulassungsliste validiert wurde.

### Sicherer Netzwerkzugriff
<a name="payments-security-network"></a>
+ Verwenden Sie VPC-Endpunkte, um den Datenverkehr vom öffentlichen Internet fernzuhalten.
+ Wenden Sie Endpunktrichtlinien und IAM-Bedingungen (`aws:sourceVpc`,`aws:sourceVpce`) an, um die Herkunft einzuschränken.
+ Aktivieren Sie AWS CloudTrail diese Option für alle API-Aufrufe für AgentCore Zahlungen.

### Design für Zahlungsfehler und Rollback
<a name="payments-security-failure"></a>
+ Implementieren Sie Idempotenz, um doppelte Zahlungen bei Wiederholungsversuchen zu verhindern.
+ Behandeln Sie Zahlungsausfälle mit klarem Fallback-Verhalten. Versuchen Sie es nicht auf unbestimmte Zeit erneut.
+ Achten Sie auf Teilausfälle und implementieren Sie Ausgleichstransaktionen.

## Detektivische Kontrollen
<a name="payments-security-detective"></a>

Verwenden Sie diese Kontrollen, um die Zahlungsaktivität zu beobachten und Anomalien aufzudecken, damit Sie darauf reagieren können.

### Aktivieren Sie die Beobachtbarkeit und die Auditprotokollierung
<a name="payments-security-observability"></a>

AgentCore Payments bietet automatische Beobachtbarkeit über Amazon CloudWatch:
+  **Versandprotokolle** — Jeder Anruf auf der Datenebene wird protokolliert (wer, was, wie viel und an wen).
+  **Lieferfristen — Vollständige Nachverfolgungen** des Zahlungslebenszyklus sind in verfügbar. AWS X-Ray
+ Richten Sie Alarme für ungewöhnliche Ausgabenmuster ein, z. B. Zahlungen an Adressen, die nicht in der Liste aufgeführt sind, eine ungewöhnlich große Anzahl unterschiedlicher Empfänger oder plötzliche Adressänderungen bei bekannten Händlern.
+ Bewahren Sie die Protokolle gemäß Ihren Compliance-Anforderungen auf.
+ Verlassen Sie sich nicht auf Agentencode, um eigene Aktionen zu protokollieren.

Weitere Informationen finden Sie unter [Observability with Amazon CloudWatch](payments-observability.md).

### Überprüfen Sie die Konfigurationen regelmäßig
<a name="payments-security-review"></a>
+ Prüfen Sie Budgets und reduzieren Sie die Limits für Agenten, die zu wenig ausgeben.
+ Überprüfen Sie vierteljährlich die Richtlinien und IAM-Rollen von Cedar.
+ Überwachen Sie die Dashboards der Wallet-Anbieter auf unerwartete Delegierungs- oder Finanzierungsaktivitäten.