View a markdown version of this page

Richtlinien erstellen und aktualisieren: Überprüfung pro Policy-Engine - Amazon Grundgestein AgentCore

Richtlinien erstellen und aktualisieren: Überprüfung pro Policy-Engine

Bei der direkten Erstellung oder Aktualisierung von Richtlinien (nicht durch Generierung) werden bei der Validierung und Analyse die neue Richtlinie sowie ihre Interaktionen mit allen bereits vorhandenen Richtlinien in der Policy-Engine berücksichtigt.

Funktionsweise

  1. Die Richtlinie wird für alle Gateways, die mit der Policy-Engine verknüpft sind, anhand des Cedar-Schemas geprüft. Schemaprüfungen werden immer unabhängig vom Validierungsmodus ausgeführt.

  2. Wenn der Validierungsmodus auf eingestellt istFAIL_ON_ANY_FINDINGS, wird die semantische Validierung im Kontext der gesamten Policy-Engine ausgeführt und nach zu freizügigen, zu restriktiven und ineffektiven Richtlinien gesucht. Wenn entweder Schemaprüfungen oder die semantische Validierung Ergebnisse liefern, wird die Richtlinie abgelehnt. Einzelheiten zu den einzelnen Prüfungen finden Sie unter Übersicht über Validierung und Analyse.

Anmerkung

Mit IGNORE_ALL_FINDINGS werden nur Schemaprüfungen ausgeführt. Richtlinien werden akzeptiert, solange sie die Schemaprüfungen bestehen. Weitere Informationen finden Sie unter Hinzufügen von Richtlinien zur Policy Engine.

Beispiel: Erstellen Sie eine Richtlinie mit Validierung

Erstellen Sie eine Richtlinie mit strenger Validierung, die Richtlinien mit beliebigen Ergebnissen ablehnt:

aws bedrock-agentcore-control create-policy \ --policy-engine-id MyEngine-abc123 \ --name RestrictRefunds \ --validation-mode FAIL_ON_ANY_FINDINGS \ --definition '{ "cedar": { "statement": "forbid(\n principal,\n action == Action::\"processRefund\",\n resource\n) when {\n context.amount > 1000\n};" } }'

Die Antwort weist darauf hin, dass die Richtlinie gerade erstellt wird:

{ "policyId": "RestrictRefunds-ghi789", "status": "CREATING" }

Überprüfen Sie den Status der Richtlinie, um zu bestätigen, dass die Validierung erfolgreich war:

aws bedrock-agentcore-control get-policy \ --policy-engine-id MyEngine-abc123 \ --policy-id RestrictRefunds-ghi789

Wenn die Validierung erfolgreich ist, wird die Richtlinie aktiv:

{ "policyId": "RestrictRefunds-ghi789", "status": "ACTIVE", "statusReasons": [] }

Beispiel: Überprüfung fehlgeschlagen

Wenn eine Richtlinie auf eine Aktion verweist, die im Schema eines zugehörigen Gateways nicht vorhanden ist, schlägt die Überprüfung fehl:

aws bedrock-agentcore-control create-policy \ --policy-engine-id MyEngine-abc123 \ --name InvalidPolicy \ --validation-mode FAIL_ON_ANY_FINDINGS \ --definition '{ "cedar": { "statement": "permit(\n principal,\n action == Action::\"nonExistentTool\",\n resource\n);" } }'

Wenn Sie den Richtlinienstatus überprüfen, zeigt die Antwort, dass die Überprüfung fehlgeschlagen ist:

aws bedrock-agentcore-control get-policy \ --policy-engine-id MyEngine-abc123 \ --policy-id InvalidPolicy-jkl012
{ "policyId": "InvalidPolicy-jkl012", "status": "CREATE_FAILED", "statusReasons": [ "Validation failed: Action 'nonExistentTool' is not defined in the schema for any associated gateway" ] }