Edison Watch

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:

Página Policies
  • 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

StatusSignificado
enabledA regra está ativa e aplicada em cada chamada de ferramenta correspondente.
tentativeA regra é avaliada, mas apenas registrada - as ações não são aplicadas. Útil para testar uma nova regra com segurança.
disabledA regra é armazenada, mas nunca é avaliada.

Fases das Regras

Cada regra é executada em uma de duas fases:

FaseQuando executaComportamento de bloqueio
preAntes da execução da chamada de ferramenta.Impede a execução.
postApó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ávelCamposNotas
principaluser_id, email, rolesO usuário que faz a chamada. roles é uma lista dos nomes dos papéis personalizados dele.
resourcetype, name, serverO que está sendo chamado. type é "tool", "resource" ou "prompt".
toolargs, input_schema, output_schema, resultresult só é preenchido na fase post.
sessionhas_private_data_access, has_untrusted_content_exposure, has_external_communication, highest_acl_level, tool_history, tagsEstado 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.

resource.server == "github" && resource.name == "delete_branch" &&
tool.args.branch == "main"

Ações

AçãoEfeito
blockImpede a execução da chamada de ferramenta e retorna um erro à IA.
mark_privateMarca a sessão como contendo dados privados.
mark_untrustedMarca a sessão como contendo conteúdo externo não confiável.
mark_writeMarca a sessão como tendo realizado uma operação de escrita.
set_aclDefine o nível ACL da sessão (PUBLIC, PRIVATE ou SECRET).
add_tagAdiciona uma tag chave-valor à sessão para filtragem e auditoria.
allow_overridePermite 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 regra allow_override correspondente tiver prioridade igual ou maior.
  • Caso contrário, o bloqueio vence.
Regras correspondentesPrioridadesResultado
block + allow_override100 vs. 100✅ Permitido (override ≥ block)
block + allow_override100 vs. 99❌ Bloqueado (override < block)
block sozinhoqualquer❌ 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

  1. Clique em Create Policy na barra lateral esquerda.
  2. Escolha um template no seletor de templates ou comece do zero.
  3. Preencha o nome da regra, a expressão CEL, a fase, a prioridade, as ações e o escopo.
  4. 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.

On this page