

# AgentCore CLI でのガードレールの開始方法
<a name="policy-guardrails-getting-started"></a>

ガードレールを使用すると、エージェントのゲートウェイにコンテンツフィルタリングポリシーを追加できます。リクエストがポリシールール (暴力的なコンテンツなど) と一致すると、ゲートウェイはエージェントに到達する前にリクエストをブロックします。

このガイドでは、AgentCore CLI を使用して HTTP ゲートウェイで暴力的なコンテンツをブロックするガードレールを設定する方法について説明します。ガードレールの保護、カテゴリ、効果、しきい値の詳細については、「 [ポリシーのガードレール](policy-guardrails-in-policies.md)」を参照してください。

**Topics**
+ [前提条件](#policy-guardrails-getting-started-prerequisites)
+ [ステップ 1: プロジェクトを作成する](#policy-guardrails-getting-started-create)
+ [ステップ 2: エンジン、ゲートウェイ、ターゲットをワイヤリングする](#policy-guardrails-getting-started-wire)
+ [ステップ 3: 最初にインフラストラクチャをデプロイする](#policy-guardrails-getting-started-deploy-infra)
+ [ステップ 4: ガードレールポリシーを追加する](#policy-guardrails-getting-started-add-policy)
+ [ステップ 5: ポリシーをデプロイする](#policy-guardrails-getting-started-deploy-policy)
+ [ステップ 6: ゲートウェイ経由で を呼び出す](#policy-guardrails-getting-started-invoke)
+ [使用可能なガードレールカテゴリ](#policy-guardrails-getting-started-categories)
+ [ポリシーの効果](#policy-guardrails-getting-started-effects)
+ [ステップ 7: クリーンアップする](#policy-guardrails-getting-started-cleanup)

## 前提条件
<a name="policy-guardrails-getting-started-prerequisites"></a>

開始する前に、以下があることを確認してください。
+  ** AWS 認証情報**が設定されました。
+  **ブートストラップされた CDK 環境**。

AgentCore CLI をインストールします。

```
npm install -g @aws/agentcore
```

インストールを確認します。

```
agentcore --version
```

## ステップ 1: プロジェクトを作成する
<a name="policy-guardrails-getting-started-create"></a>

```
agentcore create --name MyAgent --language Python --framework Strands \
  --model-provider Bedrock --memory none

cd MyAgent
```

## ステップ 2: エンジン、ゲートウェイ、ターゲットをワイヤリングする
<a name="policy-guardrails-getting-started-wire"></a>

```
# 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: 最初にインフラストラクチャをデプロイする
<a name="policy-guardrails-getting-started-deploy-infra"></a>

```
agentcore deploy
```

これにより、ランタイム、ゲートウェイ、ゲートウェイターゲット、ポリシーエンジンがデプロイされます。次に、デプロイされたゲートウェイ ARN が必要なため、ポリシー自体が追加されます。

## ステップ 4: ガードレールポリシーを追加する
<a name="policy-guardrails-getting-started-add-policy"></a>

```
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: 許可ポリシーを追加する
<a name="policy-guardrails-getting-started-add-permissive"></a>

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: ポリシーをデプロイする
<a name="policy-guardrails-getting-started-deploy-policy"></a>

```
agentcore deploy
```

## ステップ 6: ゲートウェイ経由で を呼び出す
<a name="policy-guardrails-getting-started-invoke"></a>

```
# 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]"
```

## 使用可能なガードレールカテゴリ
<a name="policy-guardrails-getting-started-categories"></a>


| Category | フィルター | 説明 | 
| --- | --- | --- | 
|  `contentFilter`  |  `VIOLENCE`, `HATE`, `SEXUAL`, `MISCONDUCT`, `INSULTS`  | コンテンツ安全フィルター | 
|  `promptAttack`  |  `JAILBREAK`, `PROMPT_INJECTION`, `PROMPT_LEAKAGE`  | プロンプトセキュリティフィルター | 
|  `sensitiveInformation`  |  `ADDRESS`、`EMAIL`、`PHONE`、 `CREDIT_DEBIT_CARD_NUMBER`[など](https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails-sensitive-filters.html)  | PII 検出 | 

## ポリシーの効果
<a name="policy-guardrails-getting-started-effects"></a>


| 効果 | 動作 | 
| --- | --- | 
|  `forbid`  | 信頼度しきい値を超えるリクエストをブロックする | 
|  `permit`  | しきい値を下回るリクエストのみを許可する | 
|  `suppressOutput`  | しきい値を超えた場合のモデルの応答 (出力フェーズ) をブロックする | 

## ステップ 7: クリーンアップする
<a name="policy-guardrails-getting-started-cleanup"></a>

```
agentcore remove all --json
agentcore deploy
```