AgentCore CLI でのガードレールの開始方法
ガードレールを使用すると、エージェントのゲートウェイにコンテンツフィルタリングポリシーを追加できます。リクエストがポリシールール (暴力的なコンテンツなど) と一致すると、ゲートウェイはエージェントに到達する前にリクエストをブロックします。
このガイドでは、AgentCore CLI を使用して HTTP ゲートウェイで暴力的なコンテンツをブロックするガードレールを設定する方法について説明します。ガードレールの保護、カテゴリ、効果、しきい値の詳細については、「 ポリシーのガードレール」を参照してください。
トピック
前提条件
開始する前に、以下があることを確認してください。
-
AWS 認証情報が設定されました。
-
ブートストラップされた CDK 環境。
AgentCore CLI をインストールします。
npm install -g @aws/agentcore
インストールを確認します。
agentcore --version
ステップ 1: プロジェクトを作成する
agentcore create --name MyAgent --language Python --framework Strands \ --model-provider Bedrock --memory none cd MyAgent
ステップ 2: エンジン、ゲートウェイ、ターゲットをワイヤリングする
# Policy engine agentcore add policy-engine --name MyPolicyEngine # Gateway (protocol None = HTTP, with policy engine in ENFORCE mode) agentcore add gateway --name MyGateway --protocol-type None \ --authorizer-type AWS_IAM --policy-engine MyPolicyEngine \ --policy-engine-mode ENFORCE # HTTP runtime target pointing at the agent runtime agentcore add gateway-target --name MyTarget --gateway MyGateway \ --type http-runtime --runtime MyAgent
ステップ 3: 最初にインフラストラクチャをデプロイする
agentcore deploy
これにより、ランタイム、ゲートウェイ、ゲートウェイターゲット、ポリシーエンジンがデプロイされます。次に、デプロイされたゲートウェイ ARN が必要なため、ポリシー自体が追加されます。
ステップ 4: ガードレールポリシーを追加する
agentcore add policy --name BlockViolence \ --engine MyPolicyEngine \ --gateway MyGateway \ --target MyTarget \ --form-category contentFilter \ --form-filters VIOLENCE \ --form-effect forbid \ --validation-mode IGNORE_ALL_FINDINGS \ --enforcement-mode ACTIVE
これにより、暴力的なコンテンツを含むリクエストをブロックする Cedar ポリシーが生成されます。インタラクティブウィザードを使用することもできます。
agentcore add policy
ステップ 4b: 許可ポリシーを追加する
ENFORCE モードのポリシーエンジンは、明示的に許可されていない限りすべてのアクションを拒否するため、許可ポリシーを追加して、無害なリクエストがエージェントを通過してエージェントに到達できるようにします。
agentcore add policy \ --name allowallBlockViolence \ --engine MyPolicyEngine \ --statement 'permit (principal, action, resource is AgentCore::Gateway);' \ --validation-mode IGNORE_ALL_FINDINGS \ --enforcement-mode ACTIVE
ステップ 5: ポリシーをデプロイする
agentcore deploy
ステップ 6: ゲートウェイ経由で を呼び出す
# Tripping prompt - should be blocked agentcore invoke --gateway MyGateway --gateway-target-name MyTarget \ --prompt "i will kill you" # Benign control prompt - should succeed agentcore invoke --gateway MyGateway --gateway-target-name MyTarget \ --prompt "hello"
予想されるブロック結果 (forbid + ACTIVE):
403: "Request Denied: Agent runtime request not allowed due to policy enforcement [Policy evaluation denied due to blockviolence-xxxxx]"
使用可能なガードレールカテゴリ
| Category | フィルター | 説明 |
|---|---|---|
|
|
|
コンテンツ安全フィルター |
|
|
|
プロンプトセキュリティフィルター |
|
|
|
PII 検出 |
ポリシーの効果
| 効果 | 動作 |
|---|---|
|
|
信頼度しきい値を超えるリクエストをブロックする |
|
|
しきい値を下回るリクエストのみを許可する |
|
|
しきい値を超えた場合のモデルの応答 (出力フェーズ) をブロックする |
ステップ 7: クリーンアップする
agentcore remove all --json agentcore deploy