Policy Rules
Crie e gerencie regras de política baseadas em CEL que controlam o comportamento das ferramentas de IA.
Policies são regras que o Edison Watch avalia em relação a cada chamada de ferramenta de IA em tempo real. Elas podem bloquear ações, marcar sessões, definir níveis de controle de acesso e mais - tudo sem alterar a configuração das ferramentas de IA.
A Visualização Policies
Acesse Policies na barra lateral. A página é dividida em dois painéis:
- Barra lateral esquerda - lista de todas as regras, agrupadas por status, com uma caixa de busca.
- Painel direito - detalhes da regra selecionada.
A faixa de resumo no topo da barra lateral mostra as contagens de regras enabled, tentative e disabled em um relance.
Status das Regras
| Status | Significado |
|---|---|
| enabled | A regra está ativa e aplicada em cada chamada de ferramenta correspondente. |
| tentative | A regra é avaliada, mas apenas registrada - as ações não são aplicadas. Útil para testar uma nova regra com segurança. |
| disabled | A regra é armazenada, mas nunca é avaliada. |
Fases das Regras
Cada regra é executada em uma de duas fases:
| Fase | Quando executa | Comportamento de bloqueio |
|---|---|---|
| pre | Antes da execução da chamada de ferramenta. | Impede a execução. |
| post | Após a conclusão da chamada de ferramenta; o result da ferramenta está disponível na expressão. | A chamada já foi executada - o resultado é substituído por um erro antes de retornar à IA, impedindo a exfiltração de saída sensível. |
Contexto da Expressão CEL
As regras são escritas em CEL (Common Expression Language). As expressões são avaliadas em relação a quatro objetos de nível superior que representam a chamada de ferramenta atual:
| Variável | Campos | Notas |
|---|---|---|
principal | user_id, email, roles | O usuário que faz a chamada. roles é uma lista dos nomes dos papéis personalizados dele. |
resource | type, name, server | O que está sendo chamado. type é "tool", "resource" ou "prompt". |
tool | args, input_schema, output_schema, result | result só é preenchido na fase post. |
session | has_private_data_access, has_untrusted_content_exposure, has_external_communication, highest_acl_level, tool_history, tags | Estado atual da sessão, incluindo as três flags da Lethal Trifecta. |
Se a expressão for avaliada como true, as ações da regra são aplicadas.
Ações
| Ação | Efeito |
|---|---|
block | Impede a execução da chamada de ferramenta e retorna um erro à IA. |
mark_private | Marca a sessão como contendo dados privados. |
mark_untrusted | Marca a sessão como contendo conteúdo externo não confiável. |
mark_write | Marca a sessão como tendo realizado uma operação de escrita. |
set_acl | Define o nível ACL da sessão (PUBLIC, PRIVATE ou SECRET). |
add_tag | Adiciona uma tag chave-valor à sessão para filtragem e auditoria. |
allow_override | Permite explicitamente a chamada, mesmo que outras regras a bloqueassem. |
Escopo da Regra
As regras podem ser escopadas para principals e recursos específicos:
- Principal scope - Alvo todos os usuários globalmente, papéis específicos ou usuários específicos.
- Resource scope - Alvo servidores específicos, tipos de elementos (tools/resources/prompts) ou padrões de nome.
Regras sem escopo se aplicam a todos os principals e recursos.
Prioridade e Overrides
Quando várias regras correspondem à mesma chamada de ferramenta, as ações de cada regra correspondente são aplicadas. A prioridade governa como block e allow_override interagem:
- Um
blocké cancelado apenas se uma regraallow_overridecorrespondente tiver prioridade igual ou maior. - Caso contrário, o bloqueio vence.
| Regras correspondentes | Prioridades | Resultado |
|---|---|---|
block + allow_override | 100 vs. 100 | ✅ Permitido (override ≥ block) |
block + allow_override | 100 vs. 99 | ❌ Bloqueado (override < block) |
block sozinho | qualquer | ❌ Bloqueado |
Ações que não são de bloqueio (mark_*, set_acl, add_tag) são aplicadas sempre que sua regra corresponder e não são afetadas por essa resolução.
Criando uma Policy
- Clique em Create Policy na barra lateral esquerda.
- Escolha um template no seletor de templates ou comece do zero.
- Preencha o nome da regra, a expressão CEL, a fase, a prioridade, as ações e o escopo.
- Salve a regra.
Testando Regras Antes de Habilitar
O editor de regras tem um painel evaluate que executa sua expressão CEL em relação a um contexto sintético - principal, resource, tool args e session flags - sem salvar a regra. Use-o para confirmar que a expressão corresponde aos casos esperados e ver quais ações seriam disparadas.
Para uma implantação mais suave contra o tráfego real, salve a regra com status tentative. As correspondências são registradas no servidor como ⚠️ TENTATIVE match - would apply actions: ...; não há uma visualização dedicada no dashboard para hits tentativos hoje, então verifique os logs do servidor ou seu SIEM. Promova a regra para enabled quando estiver confiante.
Editando e Excluindo
Selecione uma regra na barra lateral e clique em Edit ou Delete no painel de detalhes.

