

# Memulai dengan pagar pembatas di CLI AgentCore
<a name="policy-guardrails-getting-started"></a>

Guardrails memungkinkan Anda menambahkan kebijakan pemfilteran konten ke gateway agen Anda. Jika permintaan cocok dengan aturan kebijakan (misalnya, konten kekerasan), gateway akan memblokirnya sebelum mencapai agen Anda.

Panduan ini berjalan melalui pengaturan pagar pembatas yang memblokir konten kekerasan pada gateway HTTP menggunakan CLI AgentCore . [Untuk detail referensi tentang perlindungan pagar pembatas, kategori, efek, dan ambang batas, lihat pagar pembatas dalam kebijakan.](policy-guardrails-in-policies.md)

**Topics**
+ [Prasyarat](#policy-guardrails-getting-started-prerequisites)
+ [Langkah 1: Buat proyek](#policy-guardrails-getting-started-create)
+ [Langkah 2: Kawat mesin, gateway, dan target](#policy-guardrails-getting-started-wire)
+ [Langkah 3: Terapkan infrastruktur terlebih dahulu](#policy-guardrails-getting-started-deploy-infra)
+ [Langkah 4: Tambahkan kebijakan pagar pembatas](#policy-guardrails-getting-started-add-policy)
+ [Langkah 5: Menyebarkan kebijakan](#policy-guardrails-getting-started-deploy-policy)
+ [Langkah 6: Memanggil melalui gateway](#policy-guardrails-getting-started-invoke)
+ [Kategori pagar pembatas yang tersedia](#policy-guardrails-getting-started-categories)
+ [Efek kebijakan](#policy-guardrails-getting-started-effects)
+ [Langkah 7: Bersihkan](#policy-guardrails-getting-started-cleanup)

## Prasyarat
<a name="policy-guardrails-getting-started-prerequisites"></a>

Sebelum memulai, pastikan Anda memiliki yang berikut:
+  ** AWS kredensi** dikonfigurasi.
+  **Lingkungan CDK yang di-bootstrap**.

Instal AgentCore CLI:

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

Verifikasi instalasi:

```
agentcore --version
```

## Langkah 1: Buat proyek
<a name="policy-guardrails-getting-started-create"></a>

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

cd MyAgent
```

## Langkah 2: Kawat mesin, gateway, dan target
<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
```

## Langkah 3: Terapkan infrastruktur terlebih dahulu
<a name="policy-guardrails-getting-started-deploy-infra"></a>

```
agentcore deploy
```

Ini menyebarkan runtime, gateway, target gateway, dan engine kebijakan. Kebijakan itu sendiri ditambahkan berikutnya, karena membutuhkan gateway ARN yang diterapkan.

## Langkah 4: Tambahkan kebijakan pagar pembatas
<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
```

Ini menghasilkan kebijakan Cedar yang memblokir permintaan dengan konten kekerasan. Anda juga dapat menggunakan wizard interaktif:

```
agentcore add policy
```

### Langkah 4b: Tambahkan kebijakan permisif
<a name="policy-guardrails-getting-started-add-permissive"></a>

Karena mesin kebijakan dalam mode ENFORCE menolak semua tindakan kecuali diizinkan secara eksplisit, tambahkan kebijakan permisif sehingga permintaan jinak dapat melewati dan mencapai agen Anda:

```
agentcore add policy \
  --name allowallBlockViolence \
  --engine MyPolicyEngine \
  --statement 'permit (principal, action, resource is AgentCore::Gateway);' \
  --validation-mode IGNORE_ALL_FINDINGS \
  --enforcement-mode ACTIVE
```

## Langkah 5: Menyebarkan kebijakan
<a name="policy-guardrails-getting-started-deploy-policy"></a>

```
agentcore deploy
```

## Langkah 6: Memanggil melalui gateway
<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"
```

Hasil yang diharapkan diblokir (`forbid`\+`ACTIVE`):

```
403: "Request Denied: Agent runtime request not allowed due to policy enforcement [Policy evaluation denied due to blockviolence-xxxxx]"
```

## Kategori pagar pembatas yang tersedia
<a name="policy-guardrails-getting-started-categories"></a>


| Kategori | Penyaring | Deskripsi | 
| --- | --- | --- | 
|  `contentFilter`  |  `VIOLENCE`, `HATE`, `SEXUAL`, `MISCONDUCT`, `INSULTS`  | Filter keamanan konten | 
|  `promptAttack`  |  `JAILBREAK`, `PROMPT_INJECTION`, `PROMPT_LEAKAGE`  | Filter keamanan yang cepat | 
|  `sensitiveInformation`  |  `ADDRESS`,`EMAIL`,`PHONE`,`CREDIT_DEBIT_CARD_NUMBER`, dan [banyak lagi](https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails-sensitive-filters.html)  | Deteksi PII | 

## Efek kebijakan
<a name="policy-guardrails-getting-started-effects"></a>


| Efek | Perilaku | 
| --- | --- | 
|  `forbid`  | Blokir permintaan yang melebihi ambang kepercayaan | 
|  `permit`  | Izinkan hanya permintaan di bawah ambang batas | 
|  `suppressOutput`  | Blokir respons model (fase keluaran) saat melebihi ambang batas | 

## Langkah 7: Bersihkan
<a name="policy-guardrails-getting-started-cleanup"></a>

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