c1.3 Filtre entradas e saídas com o Amazon Bedrock Guardrails
Coloque um guardrail do Bedrock versionado à frente do modelo para bloquear conteúdo nocivo, tópicos negados e padrões de prompt injection, e para redigir PII tanto em entradas quanto em saídas.
Guia de implementação
Como implementar na AWS
Configure um guardrail com filtros de conteúdo, tópicos negados e filtros de ataques de prompt ajustados à sua tolerância a risco; habilite filtros de PII. Implante um guardrail versionado e invoque-o em cada chamada ao modelo. Criptografe o guardrail com uma chave gerenciada pelo cliente.
O que um guardrail oferece
O Amazon Bedrock Guardrails é uma camada de políticas que você coloca à frente do modelo para que as regras de segurança e privacidade fiquem fora do seu prompt e fora do código da sua aplicação. Um único guardrail pode ser reutilizado em vários modelos e aplicações, oferecendo uma base de segurança consistente e auditável. Ele aplica vários tipos de política ao mesmo tempo:
- Filtros de conteúdo — bloqueiam as categorias Ódio, Insultos, Sexual, Violência, Má conduta e Ataque de prompt (injeção de prompt / jailbreak), com intensidade ajustável por categoria.
- Tópicos negados — tópicos em linguagem natural que sua aplicação deve recusar (por exemplo, "aconselhamento de investimento").
- Filtros de palavras — palavras/frases de correspondência exata a bloquear (palavrões, nomes de concorrentes).
- Filtros de informação sensível — detectam PII e bloqueiam a solicitação ou a removem da resposta.
Crie um guardrail versionado
Defina as políticas uma vez e crie um guardrail. O bloco de filtro de conteúdo abaixo ativa a detecção de ataque de prompt nas entradas e a filtragem de conteúdo nocivo em ambos os 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_ATTACKsó suportainputStrength(é uma detecção do lado da entrada), portanto seuoutputStrengthdeve serNONE.
Fixe uma versão e aplique-a
create-guardrail retorna um guardrailId. Publique uma versão imutável com create-guardrail-version e depois referencie guardrailIdentifier + guardrailVersion em cada chamada — seja como parâmetros de InvokeModel/Converse, seja de forma independente com a API ApplyGuardrail para filtrar texto antes mesmo de invocar um modelo:
aws bedrock-runtime apply-guardrail \
--guardrail-identifier "gr-0abc123456789def0" \
--guardrail-version "1" \
--source "INPUT" \
--content '[{"text":{"text":"<user prompt to screen>"}}]'
Aplicar o guardrail antes da invocação permite rejeitar um prompt ruim sem pagar por uma chamada ao modelo.
Nota de nomenclatura: fixe umaguardrailVersionespecífica em produção em vez doDRAFTmutável, para que uma mudança de política seja uma implantação deliberada e revisável.
Como tudo se encaixa
Critérios de aceitação
Todo caminho de inferência invoca um guardrail versionado; um prompt injection de teste e uma amostra de PII são bloqueados/redigidos; as métricas de ativação do guardrail aparecem no CloudWatch.
Implementação prática
Como este controle é implementado em cada arquitetura de referência:
Um guardrail versionado definido na conta de IA generativa é aplicado em cada chamada InvokeModel, para que nenhum caminho de inferência ignore os filtros de conteúdo, de ataques de prompt e de PII.
- Na conta de IA generativa, crie um guardrail com filtros de conteúdo, tópicos negados, filtros de ataques de prompt e filtros de PII ajustados à sua tolerância a risco, e publique uma versão numerada.
- Passe o guardrailIdentifier e o guardrailVersion em cada chamada InvokeModel/Converse a partir da aplicação, e negue (por condição de IAM) as invocações que omitam o guardrail.
- Criptografe o guardrail com a chave gerenciada pelo cliente e emita métricas de ativação do guardrail ao CloudWatch para monitoramento.
Como validar: Uma string de prompt injection de teste e uma amostra de PII são bloqueadas/redigidas; o CloudWatch mostra métricas de intervenção do guardrail; uma chamada InvokeModel sem guardrail é negada.
Evite: Anexar o guardrail no console mas deixar as chamadas diretas por SDK/API ignorá-lo. Aplique o guardrail em cada caminho, idealmente com uma condição de IAM, não por convenção.
Um guardrail versionado na conta é invocado em cada chamada ao modelo a partir da camada de IA generativa, com os filtros habilitados desde o primeiro dia.
- Crie um guardrail com filtros de conteúdo, tópicos negados, ataques de prompt e PII e publique uma versão; trate o id da versão como um artefato implantável.
- Conecte o id/versão do guardrail nas chamadas ao Bedrock da aplicação para que toda requisição e resposta passe por ele; rejeite os caminhos de código que chamem o modelo sem ele.
- Criptografe o guardrail com a chave gerenciada pelo cliente e envie métricas de intervenção ao CloudWatch.
Como validar: Um injection sintético e uma amostra de PII são bloqueados/redigidos; o CloudWatch mostra métricas do guardrail; nenhum caminho de código do app chama o modelo sem o guardrail.
Evite: Publicar o app primeiro e 'adicionar guardrails depois'. Habilite o guardrail desde o primeiro deploy; incorporá-lo após o lançamento deixa uma janela exposta.
Ameaças atendidas
- Prompt injection embutindo instruções ocultas na entrada do usuário.
- Divulgação de dados sensíveis por meio das respostas do modelo.
Serviços AWS
Preços
Os guardrails são cobrados pelo volume de texto avaliado (por 1.000 unidades de texto) e pelas políticas habilitadas; as verificações de informação sensível e de fundamentação contextual são cobradas separadamente. Consulte a página de preços do Amazon Bedrock para as tarifas atuais. Consulte Detect and filter harmful content by using Amazon Bedrock Guardrails.
Mapeamentos 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 aprendizado
Referências
- AWS AI Security Framework — Camada de aplicação de IA
AI Security Maturity Model