

# Introducción a las barandillas en la CLI AgentCore
<a name="policy-guardrails-getting-started"></a>

Las barandillas le permiten añadir políticas de filtrado de contenido a la puerta de enlace de su agente. Cuando una solicitud coincide con una regla de política (por ejemplo, contenido violento), la puerta de enlace la bloquea antes de que llegue al agente.

Esta guía explica cómo configurar una barandilla que bloquee el contenido violento en una puerta de enlace HTTP mediante la CLI AgentCore . [Para obtener información de referencia sobre las protecciones, las categorías, los efectos y los umbrales de las barreras, consulte las barreras en las políticas.](policy-guardrails-in-policies.md)

**Topics**
+ [Requisitos previos](#policy-guardrails-getting-started-prerequisites)
+ [Paso 1: Crear un proyecto](#policy-guardrails-getting-started-create)
+ [Paso 2: Conectar el motor, la puerta de enlace y el objetivo](#policy-guardrails-getting-started-wire)
+ [Paso 3: Implemente primero la infraestructura](#policy-guardrails-getting-started-deploy-infra)
+ [Paso 4: Agregue la política de barandillas](#policy-guardrails-getting-started-add-policy)
+ [Paso 5: Implemente las políticas](#policy-guardrails-getting-started-deploy-policy)
+ [Paso 6: Invoca a través de la puerta de enlace](#policy-guardrails-getting-started-invoke)
+ [Categorías de barandillas disponibles](#policy-guardrails-getting-started-categories)
+ [Efectos de las políticas](#policy-guardrails-getting-started-effects)
+ [Paso 7: limpiar](#policy-guardrails-getting-started-cleanup)

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

Antes de empezar, asegúrese de tener lo siguiente:
+  ** AWS credenciales** configuradas.
+  **Un entorno CDK iniciado**.

Instale la AgentCore CLI:

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

Verificar la instalación:

```
agentcore --version
```

## Paso 1: Crear un proyecto
<a name="policy-guardrails-getting-started-create"></a>

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

cd MyAgent
```

## Paso 2: Conectar el motor, la puerta de enlace y el objetivo
<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
```

## Paso 3: Implemente primero la infraestructura
<a name="policy-guardrails-getting-started-deploy-infra"></a>

```
agentcore deploy
```

Esto implementa el tiempo de ejecución, la puerta de enlace, el destino de la puerta de enlace y el motor de políticas. A continuación, se agrega la política en sí, porque necesita el ARN de la puerta de enlace implementada.

## Paso 4: Agregue la política de barandillas
<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
```

Esto genera una política de Cedar que bloquea las solicitudes con contenido violento. También puede utilizar el asistente interactivo:

```
agentcore add policy
```

### Paso 4b: Añadir una política permisiva
<a name="policy-guardrails-getting-started-add-permissive"></a>

Dado que un motor de políticas en el modo ENFORCE deniega todas las acciones a menos que se autorice explícitamente, añada una política permisiva para que las solicitudes benignas puedan tramitarse y llegar a su agente:

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

## Paso 5: Implemente las políticas
<a name="policy-guardrails-getting-started-deploy-policy"></a>

```
agentcore deploy
```

## Paso 6: Invoca a través de la puerta de enlace
<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"
```

Resultado de bloqueo esperado (`forbid`\+`ACTIVE`):

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

## Categorías de barandillas disponibles
<a name="policy-guardrails-getting-started-categories"></a>


| Categoría | Filtros | Description (Descripción) | 
| --- | --- | --- | 
|  `contentFilter`  |  `VIOLENCE`, `HATE`, `SEXUAL`, `MISCONDUCT`, `INSULTS`  | Filtros de seguridad de contenido | 
|  `promptAttack`  |  `JAILBREAK`, `PROMPT_INJECTION`, `PROMPT_LEAKAGE`  | Filtros de seguridad rápidos | 
|  `sensitiveInformation`  |  `ADDRESS`, `EMAIL``PHONE`,`CREDIT_DEBIT_CARD_NUMBER`, y [más](https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails-sensitive-filters.html)  | Detección de PII | 

## Efectos de las políticas
<a name="policy-guardrails-getting-started-effects"></a>


| Efecto | Comportamiento | 
| --- | --- | 
|  `forbid`  | Bloquee las solicitudes que superen el umbral de confianza | 
|  `permit`  | Permita solo las solicitudes por debajo del umbral | 
|  `suppressOutput`  | Bloquee la respuesta del modelo (fase de salida) cuando supere el umbral | 

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

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