View a markdown version of this page

ポリシーの作成と更新: ポリシーごとのエンジン検証 - Amazon Bedrock AgentCore

ポリシーの作成と更新: ポリシーごとのエンジン検証

ポリシーを直接 (生成ではなく) 作成または更新する場合、検証と分析では、新しいポリシーと、ポリシーエンジン内のすべての既存のポリシーとのやり取りが考慮されます。

仕組み

  1. ポリシーは、ポリシーエンジンに関連付けられているすべてのゲートウェイの Cedar スキーマと照合されます。スキーマチェックは、検証モードに関係なく常に実行されます。

  2. 検証モードが に設定されている場合FAIL_ON_ANY_FINDINGS、セマンティック検証はポリシーエンジン全体のコンテキストで実行され、過度に寛容、過度に制限的、無効なポリシーをチェックします。スキーマチェックまたはセマンティック検証のいずれかで検出結果が生成された場合、ポリシーは拒否されます。各チェックの詳細については、「検証と分析の概要」を参照してください。

注記

ではIGNORE_ALL_FINDINGS、スキーマチェックのみが実行されます。ポリシーは、スキーマチェックに合格する限り受け入れられます。詳細については、「ポリシーエンジンにポリシーを追加する」を参照してください。

例: 検証を含むポリシーを作成する

検出結果を含むポリシーを拒否する厳格な検証を含むポリシーを作成します。

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};" } }'

レスポンスは、ポリシーが作成されていることを示します。

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

ポリシーのステータスをチェックして、検証に合格したことを確認します。

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

検証に合格すると、ポリシーがアクティブになります。

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

例: 検証の失敗

ポリシーが、関連付けられたゲートウェイのスキーマに存在しないアクションを参照している場合、検証は失敗します。

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);" } }'

ポリシーのステータスを確認すると、検証の失敗がレスポンスに表示されます。

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" ] }