As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Barreiras nas políticas
Esta seção explica como definir Bedrock Guardrails na política. O Bedrock Guardrails fornece proteções configuráveis que podem ser executadas tanto em solicitações quanto em respostas para manter os aplicativos de IA seguros. Atualmente, você pode definir ataques imediatos, filtros de conteúdo e proteções de informações confidenciais na política. Cada grade de proteção deve ser configurada com uma categoria e um limite entre 0 e 1.
Quando uma grade de proteção avalia o contexto, ela retorna uma pontuação de confiança entre 0 e 1, indicando o grau de confiança de que o conteúdo avaliado exibe a propriedade definida (por exemplo). PROMPT_INJECTION
Disponibilidade regional do Guardrails
A tabela a seguir mostra quais AWS regiões têm suporte para barreiras na política:
| Leste dos EUA (Norte da Virgínia) | Leste dos EUA (Ohio) | Oeste dos EUA (N. da Califórnia) | Oeste dos EUA (Oregon) | Ásia-Pacífico (Hyderabad) | Ásia-Pacífico (Malásia) | Ásia-Pacífico (Mumbai) | Ásia-Pacífico (Seul) | Ásia-Pacífico (Singapura) | Ásia-Pacífico (Sydney) | Ásia-Pacífico (Tailândia) | Ásia-Pacífico (Tóquio) | Canadá (Central) | Europa (Frankfurt) | Europa (Irlanda) | Europa (Londres) | Europa (Milão) | Europa (Paris) | Europa (Espanha) | Europa (Estocolmo) | América do Sul (São Paulo) | AWS GovCloud (US-West) | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Suporte para guardrails |
✓ Sim |
✓ Sim |
Não |
✓ Sim |
Não |
Não |
Não |
Não |
Não |
✓ Sim |
Não |
✓ Sim |
Não |
Não |
Não |
✓ Sim |
Não |
Não |
Não |
✓ Sim |
Não |
Não |
Antes de começar
Antes de começar, você precisa configurar adequadamente sua função do IAM.
Permissões
A função de execução do AgentCore gateway configurada no gateway associado ao seu mecanismo de políticas deve ter permissões tanto para as AgentCore operações do Bedrock quanto para o Bedrock Guardrails. A bedrock:InvokeGuardrailChecks permissão é necessária porque o plano de dados da política usa credenciais FAS (Forward Access Session) derivadas da função de execução do gateway para chamar a API Bedrock Guardrails em seu nome.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "bedrock-agentcore:*", "Resource": "*" }, { "Effect": "Allow", "Action": "bedrock:InvokeGuardrailChecks", "Resource": "*" } ] }
Corrimãos suportados
| Nome da salvaguarda | Tipo de entidade | Categorias de salvaguarda |
|---|---|---|
|
Filtro de conteúdo |
|
|
|
Detecção imediata de ataques |
|
|
|
Informações confidenciais |
|
|
Definindo barreiras nas políticas
Para definir barreiras na política, você pode escrever a política como código ou descrever a política em linguagem natural. Semelhante a qualquer política existente que você já tenha criado, você precisa especificar um efeito (por exemplopermit) com uma condição (when guardrails). Na condição, você precisa fornecer a proteção específica que deseja ativar, a categoria de proteção a ser usada, o contexto que você deseja que a proteção de proteção avalie e o limite da pontuação de confiança.
Exemplo de definição de guardrail
suppressOutput (principal, action == AgentCore::Action::"<TARGET_NAME>_<METHOD>:<URI>", resource == AgentCore::Gateway::"<GATEWAY_ARN>") when guardrails { BedrockGuardrails::ContentFilter(["HATE"],[context.output.message])["HATE"] .confidenceScore .greaterThan(decimal("0.2")) };
Especificando uma proteção de guardrail
Para escolher um tipo específico de entidade de proteção, use o BedrockGuardrails namespace:
| Safeguard | Nome da função Guardrail |
|---|---|
|
Filtro de conteúdo |
|
|
Ataque imediato |
|
|
Informações confidenciais |
|
Seleção de uma categoria de salvaguarda
Selecione uma categoria para a salvaguarda fornecida (consulteCorrimãos suportados).
ex. BedrockGuardrails::ContentFilter(["HATE"],[context.output.message])
Efeitos para grades de proteção
Para criar grades de proteção para uso em solicitações de autorização, use os efeitos permit e. forbid Eles continuam a reger a autorização de solicitação.
forbid (principal, action == AgentCore::Action::"<TargetName>___POST:/invocations", resource) when guardrails { BedrockGuardrails::PromptAttack(["PROMPT_INJECTION"], [context.input.prompt])["PROMPT_INJECTION"].confidenceScore.greaterThan(decimal("0.6")) };
Para criar grades de proteção para uso na supressão de saídas de ferramentas, agentes ou modelos, use o efeito. suppressOutput suppressOutputé um novo efeito que opera nos dados que uma ação retorna. Depois que uma ação autorizada é concluída, ela avalia as saídas contra a grade de proteção e suprime a saída quando a grade de proteção é violada.
suppressOutput (principal, action == AgentCore::Action::"<TargetName>___POST:/invocations", resource) when guardrails { BedrockGuardrails::SensitiveInformation(["US_SOCIAL_SECURITY_NUMBER"], [context.output.text])["US_SOCIAL_SECURITY_NUMBER"] .confidenceScore .greaterThan(decimal("0.5")) };
nota
suppressOutputé compatível somente com políticas de guardrail. Sua condição deve consistir apenas em verificações de proteção, escritas em um when guardrails {…} bloco ou em um bloco simpleswhen {…}. suppressOutputnão suporta cedro ou temporal {…} condições padrão.
Passando o contexto para sua grade de proteção
Ao definir barreiras na política, você deve especificar caminhos de dados (por exemplocontext.input.message) que identifiquem os valores a serem extraídos da carga útil da ação. O guardrail avalia os valores extraídos. Você pode especificar um ou mais caminhos para os dados com base em seu esquema de solicitação ou resposta.
ex. [context.input.message, context.input.systemPrompt]
Limites para grades de proteção
Com filtros de conteúdo e detecção imediata de ataques, o guardrail retorna uma pontuação de confiança, que é um valor numérico no intervalo [0, 1], em que 0 é baixa confiança e 1 é alta confiança. A pontuação representa a confiança com que o guardrail detectou uma violação. As pontuações atuais possíveis são valores discretos {0, 0,2, 0,4, 0,6, 0,8 e 1,0}.
Para definir um limite, você precisa fornecer o valor decimal ao operador de comparação (por exemplo). greaterThan(decimal("0.4"))
Operadores de comparação de pontuação
Você pode aplicar os operadores de comparação abaixo a qualquer um dos confidenceScoremaxConfidenceScore(), ouminConfidenceScore():
| Operador | Usage |
|---|---|
|
|
Pontuação > limite |
|
|
Pontuação ≥ limite |
|
|
Pontuação < limite |
|
|
Pontuação ≤ limite |
Você pode usar uma agregação em sua política para extrair e comparar as pontuações retornadas pelos guardrails:
Agregações
| Agregação | Description | Exemplo |
|---|---|---|
|
|
Acesse a pontuação de confiança de uma categoria específica (decimal |
|
|
|
Confiança máxima em todas as categorias digitalizadas (decimal |
|
|
|
Confiança mínima em todas as categorias digitalizadas (decimal |
|
|
|
Número de descobertas detectadas (longo |
|
Como escolher um limite
Se você não especificar um limite ao solicitar o serviço de criação, AgentCore definirá um valor padrão. Se você escrever suas políticas sem a ajuda do serviço de criação, deverá fornecer o valor limite.
Os padrões abaixo são calibrados para fornecer ampla cobertura com precisão aceitável para a maioria das cargas de trabalho:
| Safeguard | Limite padrão |
|---|---|
|
Filtro de conteúdo |
0.2 |
|
Detecção imediata de ataques |
0.4 |
|
Informações confidenciais |
0.2 |
Escolhendo um limite personalizado
Se os limites padrão não atenderem aos seus requisitos, você poderá determinar o limite ideal para sua carga de trabalho usando uma das seguintes abordagens.
Opção 1: avaliar com base em um conjunto de testes dourado
Use essa abordagem quando você tiver um conjunto selecionado de entradas de teste com resultados esperados claros.
-
Crie suas políticas e defina seu modo de mecanismo de políticas como LOG_ONLY.
-
Execute seu conjunto de testes por meio do gateway ao qual seu mecanismo de política está conectado.
-
Revise os registros de cada avaliação. Cada entrada de registro inclui o conteúdo avaliado e a pontuação de confiança retornada pela grade de proteção.
-
Para cada resultado, identifique se a grade de proteção deveria ter sinalizado o conteúdo ou não ter feito nada (verdadeiro e falso, respectivamente).
-
Usando esses rótulos, combinados com as pontuações de confiança disponíveis em seus registros, crie uma matriz de confusão com vários valores limite. Compare a precisão e a recuperação em cada limite para selecionar o valor que se alinha à sua tolerância para falsos positivos versus detecções perdidas.
Opção 2: avaliar em relação ao tráfego de produção
Use essa abordagem quando você não tiver um conjunto de testes pré-criado e quiser calibrar usando padrões reais de tráfego.
-
Crie suas políticas e defina seu modo de mecanismo de políticas como LOG_ONLY.
-
Permita que o mecanismo de políticas avalie o tráfego de produção. Cada entrada de registro inclui o conteúdo avaliado e a pontuação de confiança retornada pela grade de proteção.
-
Use an LLM-as-a-judge para rotular cada resultado registrado como verdadeiro (a grade de proteção deveria ter sinalizado o conteúdo) ou falso (a grade de proteção não deveria ter sinalizado o conteúdo).
-
Usando esses rótulos, crie uma matriz de confusão com vários valores limite. Compare a precisão e a recuperação em cada limite para selecionar o valor que se alinha à sua tolerância para falsos positivos versus detecções perdidas.
Teste as barreiras de proteção na política
AgentCore fornece vários mecanismos para testar as políticas de proteção antes de aplicá-las ao tráfego de produção. Você pode controlar a aplicação no nível do mecanismo de políticas, no nível da política individual ou em ambos, permitindo que você valide o comportamento do guardrail de forma incremental. Consulte testar uma política para obter mais informações.
Como os guardrails funcionam com a política
As políticas de guardrail podem ser aplicadas a qualquer destino de gateway. Os Guardrails são executados em: * Metas de MCP — POST /mcp (JSON-RPC tools/call) * Metas de tempo de execução HTTP — * Metas de inferência HTTP — POST /<target>/invocations POST /inference
Quando uma chamada chega ao seu gateway, o avaliador de políticas realiza o seguinte:
-
Corresponde ao escopo — Identifica quais políticas de proteção se aplicam a essa solicitação
-
Extrai conteúdo — Extrai o campo especificado por
dataPath(por exemplo,context.input.message) do corpo da solicitação -
Calls Bedrock InvokeGuardrailChecks API — Avalia o conteúdo e injeta as pontuações de confiança retornadas no contexto de avaliação de políticas
-
Avalia a política usando pontuações de proteção — Compara as pontuações de confiança retornadas com o limite definido na política
-
Retorna uma decisão —
ALLOWouDENYcom anotações de política — de volta ao gateway
Nota: As grades de proteção não são determinísticas. A mesma entrada pode resultar em saídas diferentes. As políticas, no entanto, são determinísticas, a mesma entrada sempre resultará na mesma saída.
Limitações das grades de proteção na política
-
Sem suporte para regex ou correspondência de padrões — os guardrails usam pontuação de ML, não expressões regulares
-
Você não pode misturar políticas padrão do Cedar com grades de proteção — substitui
when guardrails {…}when {…} -
É necessário um corrimão em um
when guardrails {…}bloco — os blocos de grades de proteção devem ter pelo menos um corrimão definido dentro -
suppressOutputé compatível apenas com políticas de guardrail — sua condição deve consistir apenas em verificações de guardrail e não suporta cedro ou condições padrãotemporal {…}