Richtliniengenerierung: Überprüfung pro Richtlinie
Wenn Sie den Richtlinienerstellungsdienst verwenden, um Richtlinien aus natürlicher Sprache zu generieren, erfolgt die Validierung und Analyse während der Generierung für jede einzelne Richtlinie.
Funktionsweise
-
Natürliche Sprache wird in eine Cedar-Richtlinie umgewandelt
-
Jede generierte Richtlinie wird anhand des Gateway-Schemas validiert
-
Die Analyse wird für jede Richtlinie einzeln ausgeführt
-
Die Ergebnisse sind in der Generierungsantwort verfügbar
Beispiel: Generieren und validieren Sie eine Richtlinie
Das Abrufen der Generierungsergebnisse erfolgt in zwei Schritten: Überprüfen Sie zuerst den Generierungsstatus und listen Sie dann die generierten Ressourcen auf, um die Richtlinien und ihre Validierungsergebnisse zu sehen.
Starten Sie eine Richtliniengenerierung:
aws bedrock-agentcore-control start-policy-generation \ --policy-engine-id MyEngine-abc123 \ --name RefundPolicy \ --content '{ "rawText": "Allow customer service agents to process refunds up to 500 dollars for orders placed within the last 30 days" }' \ --resource '{ "arn": "arn:aws:bedrock-agentcore:us-east-1:123456789012:gateway/MyGateway-xyz789" }'
Die Antwort enthält eine ID und einen Status für die Richtliniengenerierung:
{ "policyGenerationId": "RefundPolicy-def456", "policyEngineId": "MyEngine-abc123", "status": "GENERATING" }
Überprüfen Sie den Status der Generierung mithilfe vonget-policy-generation:
aws bedrock-agentcore-control get-policy-generation \ --policy-engine-id MyEngine-abc123 \ --policy-generation-id RefundPolicy-def456
Die Antwort zeigt den allgemeinen Generierungsstatus:
{ "policyGenerationId": "RefundPolicy-def456", "status": "GENERATED", "statusReasons": [] }
Sobald der Status lautetGENERATED, listen Sie die generierten Ressourcen auf, um die Richtlinien und ihre Ergebnisse für die Überprüfung pro Richtlinie abzurufen:
aws bedrock-agentcore-control list-policy-generation-assets \ --policy-engine-id MyEngine-abc123 \ --policy-generation-id RefundPolicy-def456
Die Antwort umfasst jede generierte Richtlinie mit ihren Cedar-Definitionen und Validierungsergebnissen:
{ "policyGenerationAssets": [ { "policyGenerationAssetId": "asset-1", "definition": { "cedar": { "statement": "permit(\n principal is AgentCore::OAuthUser,\n action == AgentCore::Action::\"RefundTool___process_refund\",\n resource == AgentCore::Gateway::\"arn:aws:bedrock-agentcore:us-east-1:123456789012:gateway/MyGateway-xyz789\"\n) when {\n context.input.amount <= 500\n};" } }, "findings": [ { "type": "VALID" } ], "rawTextFragment": "Allow customer service agents to process refunds up to 500 dollars" }, { "policyGenerationAssetId": "asset-2", "definition": { "cedar": { "statement": "permit(\n principal,\n action == AgentCore::Action::\"RefundTool___view_order_history\",\n resource\n);" } }, "findings": [ { "type": "ALLOW_ALL", "description": "Overly Permissive: Policy Engine will allow every request for the specified principal (AgentCore::OAuthUser), action (RefundTool___view_order_history) and resource (gateway/*) combination if the policy is added or updated" } ], "rawTextFragment": "Allow customer service agents to view order history" } ] }
Validierungsergebnisse pro Richtlinie
Jedes generierte Richtlinienobjekt umfasst eine findings Reihe von Finding Objekten, jedes mit einem type unddescription. Die folgenden Beispiele zeigen verschiedene Arten von Ergebnissen:
Eine Richtlinie, die die Validierung und Analyse bestanden hat:
{ "findings": [ { "type": "VALID" } ] }
Eine Richtlinie, die als zu freizügig eingestuft wurde:
{ "findings": [ { "type": "ALLOW_ALL", "description": "Overly Permissive: Policy Engine will allow every request for the specified principal (AgentCore::OAuthUser), action (RefundTool___view_order_history) and resource (gateway/*) combination if the policy is added or updated" } ] }
Eine Richtlinie, die nicht aus der Eingabe in natürlicher Sprache generiert werden konnte:
{ "findings": [ { "type": "NOT_TRANSLATABLE", "description": "Unsupported Condition Error: The request includes conditions that rely on data or attributes currently not supported." } ] }
Gemeinsame Ergebnisse für generierte Richtlinien
In der folgenden Tabelle werden die Ergebnisarten beschrieben, die für generierte Richtlinien zurückgegeben werden können:
| Ergebnistyp | Schweregrad | Description | Empfohlene Aktion |
|---|---|---|---|
|
|
Herzlichen Glückwunsch |
Die Richtlinie ist gültig Cedar ohne Ergebnisse. Für diesen Befundtyp wurde keine Beschreibung zurückgegeben. |
Es ist keine Aktion erforderlich. Die Richtlinie ist einsatzbereit. |
|
|
Fehler |
Die generierte Cedar-Richtlinie enthält Syntaxfehler oder entspricht nicht dem Gateway-Schema. |
Überprüfen Sie die generierte Richtlinie auf Schemaverstöße oder Syntaxprobleme. Formulieren Sie die Eingabe in natürlicher Sprache neu und generieren Sie sie neu. |
|
|
Fehler |
Natürliche Sprache konnte nicht in gültiges Cedar konvertiert werden. Die Anfrage kann Bedingungen enthalten, die auf nicht unterstützten Daten oder Attributen beruhen. |
Überprüfen Sie die Ziel-Gateway-Ressource noch einmal auf die Definition der Tools. |
|
|
Warning |
Die Genehmigungsrichtlinie gilt für alle Haupt-, Aktions- und Ressourcenkombinationen. |
Vergewissern Sie sich, dass uneingeschränkter Zugriff beabsichtigt ist. Fügen Sie Bedingungen hinzu, um den Umfang einzuschränken, falls dies nicht der Fall ist. |
|
|
Warning |
Die Genehmigungsrichtlinie ist nicht entscheidend, da sie nichts zulässt. |
Überprüfen Sie die Versicherungsbedingungen. Die Richtlinie kann widersprüchliche oder unerreichbare Bedingungen enthalten. |
|
|
Warning |
Die Richtlinie lehnt alle Aktionen für alle Schulleiter ab. |
Vergewissern Sie sich, dass eine vollständige Ablehnung beabsichtigt ist. Dies hat aufgrund der Semantik „Forbid-Overrides-Permit“ Vorrang vor allen Genehmigungsrichtlinien Vorrang. |
|
|
Warning |
Die Verbotsrichtlinie ist nicht entscheidend, weil sie nichts leugnet. |
Lesen Sie die Versicherungsbedingungen. Die Richtlinie zum Verbot kann widersprüchliche oder unerreichbare Bedingungen enthalten. |