View a markdown version of this page

Richtliniengenerierung: Überprüfung pro Richtlinie - Amazon Grundgestein AgentCore

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

  1. Natürliche Sprache wird in eine Cedar-Richtlinie umgewandelt

  2. Jede generierte Richtlinie wird anhand des Gateway-Schemas validiert

  3. Die Analyse wird für jede Richtlinie einzeln ausgeführt

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

VALID

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.

INVALID

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.

NOT_TRANSLATABLE

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.

ALLOW_ALL

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.

ALLOW_NONE

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.

DENY_ALL

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.

DENY_NONE

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.