c1.3 Filtra entradas y salidas con Amazon Bedrock Guardrails
Coloca un guardrail de Bedrock versionado frente al modelo para bloquear contenido dañino, temas denegados y patrones de prompt injection, y para redactar PII tanto en entradas como en salidas.
Guía de implementación
Cómo implementarlo en AWS
Configura un guardrail con filtros de contenido, temas denegados y filtros de ataques de prompt ajustados a tu tolerancia al riesgo; habilita filtros de PII. Despliega un guardrail versionado e invócalo en cada llamada al modelo. Cifra el guardrail con una clave gestionada por el cliente.
Qué te aporta un guardrail
Amazon Bedrock Guardrails es una capa de políticas que colocas frente al modelo para que las reglas de seguridad y privacidad vivan fuera de tu prompt y fuera del código de tu aplicación. Un solo guardrail puede reutilizarse en varios modelos y aplicaciones, dándote una base de seguridad consistente y auditable. Aplica varios tipos de política a la vez:
- Filtros de contenido — bloquean las categorías Odio, Insultos, Sexual, Violencia, Mala conducta y Ataque de prompt (inyección de prompt / jailbreak), con una intensidad ajustable por categoría.
- Temas denegados — temas en lenguaje natural que tu aplicación debe rechazar (p. ej. "asesoría de inversión").
- Filtros de palabras — palabras/frases de coincidencia exacta a bloquear (groserías, nombres de competidores).
- Filtros de información sensible — detectan PII y bloquean la solicitud o la redactan de la respuesta.
Crea un guardrail versionado
Define las políticas una vez y crea un guardrail. El bloque de filtro de contenido siguiente activa la detección de ataque de prompt en las entradas y el filtrado de contenido dañino en ambos lados:
aws bedrock create-guardrail \
--name "prod-genai-guardrail" \
--description "Baseline safety + PII controls for the app" \
--blocked-input-messaging "Your request was blocked by our safety policy." \
--blocked-outputs-messaging "The response was blocked by our safety policy." \
--content-policy-config '{
"filtersConfig": [
{ "type": "PROMPT_ATTACK", "inputStrength": "HIGH", "outputStrength": "NONE" },
{ "type": "HATE", "inputStrength": "HIGH", "outputStrength": "HIGH" },
{ "type": "VIOLENCE", "inputStrength": "HIGH", "outputStrength": "HIGH" }
]
}' \
--sensitive-information-policy-config '{
"piiEntitiesConfig": [
{ "type": "EMAIL", "action": "ANONYMIZE" },
{ "type": "CREDIT_DEBIT_CARD_NUMBER", "action": "BLOCK" }
]
}'
Nota:PROMPT_ATTACKsolo admiteinputStrength(es una detección del lado de entrada), por lo que suoutputStrengthdebe serNONE.
Fija una versión y aplícala
create-guardrail devuelve un guardrailId. Publica una versión inmutable con create-guardrail-version y luego referencia guardrailIdentifier + guardrailVersion en cada llamada, ya sea como parámetros de InvokeModel/Converse, o de forma independiente con la API ApplyGuardrail para filtrar texto antes incluso de invocar un modelo:
aws bedrock-runtime apply-guardrail \
--guardrail-identifier "gr-0abc123456789def0" \
--guardrail-version "1" \
--source "INPUT" \
--content '[{"text":{"text":"<user prompt to screen>"}}]'
Aplicar el guardrail antes de la invocación te permite rechazar un prompt malo sin pagar por una llamada al modelo.
Nota de nomenclatura: fija unaguardrailVersionespecífica en producción en lugar delDRAFTmutable, para que un cambio de política sea un despliegue deliberado y revisable.
Cómo encaja todo
Criterios de aceptación
Toda ruta de inferencia invoca un guardrail versionado; un prompt injection de prueba y una muestra de PII se bloquean/redactan; las métricas de activación del guardrail aparecen en CloudWatch.
Implementación práctica
Cómo se implementa este control en cada arquitectura de referencia:
Un guardrail versionado definido en la cuenta de IA generativa se aplica en cada llamada InvokeModel, para que ninguna ruta de inferencia evada los filtros de contenido, de ataques de prompt y de PII.
- En la cuenta de IA generativa, crea un guardrail con filtros de contenido, temas denegados, filtros de ataques de prompt y filtros de PII ajustados a tu tolerancia al riesgo, y publica una versión numerada.
- Pasa el guardrailIdentifier y el guardrailVersion en cada llamada InvokeModel/Converse desde la aplicación, y deniega (con una condición de IAM) las invocaciones que omitan el guardrail.
- Cifra el guardrail con la clave gestionada por el cliente y emite métricas de activación del guardrail a CloudWatch para su monitoreo.
Cómo validar: Una cadena de prompt injection de prueba y una muestra de PII se bloquean/redactan; CloudWatch muestra métricas de intervención del guardrail; una llamada InvokeModel sin guardrail es denegada.
Evita: Adjuntar el guardrail en la consola pero dejar que las llamadas directas por SDK/API lo salten. Aplica el guardrail en cada ruta, idealmente con una condición de IAM, no por convención.
Un guardrail versionado en la cuenta se invoca en cada llamada al modelo desde la capa de IA generativa, con los filtros habilitados desde el primer día.
- Crea un guardrail con filtros de contenido, temas denegados, ataques de prompt y PII y publica una versión; trata el id de versión como un artefacto desplegable.
- Cablea el id/versión del guardrail en las llamadas a Bedrock de la aplicación para que toda petición y respuesta pase por él; rechaza las rutas de código que llamen al modelo sin él.
- Cifra el guardrail con la clave gestionada por el cliente y envía métricas de intervención a CloudWatch.
Cómo validar: Un injection sintético y una muestra de PII se bloquean/redactan; CloudWatch muestra métricas del guardrail; ninguna ruta de código de la app llama al modelo sin el guardrail.
Evita: Publicar la app primero y 'agregar guardrails después'. Habilita el guardrail desde el primer despliegue; incorporarlo tras el lanzamiento deja una ventana expuesta.
Amenazas que atiende
- Prompt injection que incrusta instrucciones ocultas en la entrada del usuario.
- Divulgación de datos sensibles a través de las respuestas del modelo.
Servicios AWS
Precios
Los guardrails se facturan por el volumen de texto evaluado (por cada 1.000 unidades de texto) y por las políticas habilitadas; las comprobaciones de información sensible y de fundamentación contextual se cobran por separado. Consulta la página de precios de Amazon Bedrock para las tarifas actuales. Consulta Detect and filter harmful content by using Amazon Bedrock Guardrails.
Mapeos de frameworks
OWASP GenAI/LLM Top 10 (2026)
- LLM01 Prompt Injection
- LLM02 Sensitive Information Disclosure
NIST AI Risk Management Framework (AI 100-1)
- MEASURE.2 AI systems are evaluated for trustworthy characteristics
- MANAGE.1 AI risks are prioritized, responded to and managed
AWS Well-Architected Generative AI Lens (Security)
- GENSEC02-BP01 Implement guardrails to mitigate harmful or incorrect model responses
- GENSEC04-BP02 Sanitize and validate user inputs to foundation models
Recursos de aprendizaje
Referencias
- AWS AI Security Framework — Capa de aplicación de IA
AI Security Maturity Model