Cada aresta no mapa de acesso transporta dois factos independentes: se o acesso e permitido e se foi observado. A diferença entre essas duas camadas e o diferenciador — e o que transforma um grafo estatico num achado.
Duas camadas numa aresta
O mapa não mantém um “grafo de políticas” e um “grafo de telemetria” separados. Cada aresta e uma única relação (origem para recurso, tipada como leitura ou leitura-escrita) que transporta ambas as flags:
- Permitido — uma concessão ou política autoriza este acesso. A fonte de sinal e a própria política declarada.
- Observado — o acesso foi efetivamente visto a acontecer, derivado de telemetria e auditoria nativa (OpenTelemetry de agentes cooperativos, PostgreSQL pgAudit, registos de auditoria na nuvem, um backstop eBPF ao nível do kernel).
Uma nuance que importa para a honestidade: não permitido significa “não se sabe que é permitido”, não “proibido”. O mapa regista o que consegue provar a partir de concessões declaradas; a ausência de uma concessão e uma lacuna a investigar, não um veredicto de aplicação.
A diferença: onde esta o valor
O desvio de menor privilégio e simplesmente o conjunto de arestas onde as duas flags discordam. Divide-se em dois achados operacionalmente distintos:
- Acesso inesperado — observado mas não permitido. Um agente tocou num recurso que nenhuma concessão cobre. Este e o lado relevante para segurança, apresentado como o achado principal.
- Concessões não utilizadas — permitido mas nunca observado. Uma concessão que ninguém nunca exerceu. Esta e a sua lista concreta de limpeza de menor privilégio, não um vago “reveja o seu IAM”.
As arestas onde ambas as flags concordam — permitido e utilizado, ou nenhum — são o estado estavel esperado e sem interesse. A diferença e a fatia pequena e acionavel entre eles.
Honestidade dentro da diferença
Uma diferença ingenua produz achados falsos, portanto a reconciliação e deliberadamente conservadora.
Reconciliação pendente
A auditoria atribui um acesso a uma credencial ou papel; uma concessão e escrita contra uma
identidade; um sinal cooperativo nomeia um agente ou sessão. Quando o mapa de acesso ainda não
consegue vincular firmemente o agente que atuou a identidade para a qual a sua concessão foi escrita,
não pode provar que o acesso e permitido — mas não deve destaca-lo como uma
violação tampouco. Tais arestas são sinalizadas reconciliation_pending: incerteza
honesta, não um achado fabricado. Resolvem-se de forma limpa assim que a identidade por agente
vincula a credencial ao agente.
Concessões em recursos que ninguém monitoriza
Algumas concessões existem em tipos de recurso que não tem coletor do lado observado — não há nada a monitorizar quem realmente usou um diretório LDAP ou uma atribuição de aplicação IdP. Para estes, “nunca observado” e o estado estavel esperado, não evidência de sobre-provisionamento. São mantidos fora da lista principal de concessões não utilizadas em vez de infla-la com ruido.
Cobertura e atribuição continuam a acompanhar a aresta
A diferença herda a fidelidade escalonada das arestas
subjacentes. Num armazém opaque (Redis, SQLite, D1) não há sinal passivo de leitura/escrita,
portanto a ausência de uma aresta observada não e prova de que o acesso não
aconteceu — e silencio. Do mesmo modo, uma conta de serviço partilhada colapsa a atribuição para
approximate. A diferença nunca apresenta um achado de baixa confiança como se fosse firme.
Quando a diferença e calculada sobre uma janela parcial (um ambiente muito grande que excede o limite de página), o resultado e explicitamente marcado como parcial em vez de apresentado como autoritativo.
Detetivo, não no caminho
Produzir esta diferença e uma atividade fora de banda, detetiva. O plano de controlo funciona na sua própria infraestrutura (e pode ser air-gapped); observa através de registos, OpenTelemetry e auditoria nativa, e não se coloca no caminho do pedido entre um agente e os seus recursos. Um coletor que falha nunca quebra o trafego de produção.
Duas consequências decorrem. Primeiro, a diferença e um relatório, não um portão: apresenta o que já aconteceu. Onde o produto atua sobre um achado, fa-lo deny-closed e a pedido — nunca como um executor genérico. Segundo, ler a diferença e em si uma ação privilegiada, com escopo de inquilino e totalmente auditada: o ato de inspecionar quem-pode-alcançar-o-que e relevante para reconhecimento, e a leitura e registada no registo de auditoria apenas adicao antes de qualquer aresta ser devolvida.
E também por isso que a diferença e segura de executar em ambientes sensiveis: o mapa armazena a relação — origem, recurso, leitura/escrita, fonte, confiança, timestamps — nunca os payloads, corpos SQL, segredos ou PII que fluiram pela aresta. O que não e armazenado não pode vazar.
Relacionado
- O mapa de acesso leitura/escrita — o grafo sobre o qual esta diferença opera.
- Fidelidade — como os níveis de cobertura e atribuição são derivados.
- Governar e aprovar — atuar sobre um achado.
- Tour do produto do mapa de acesso — a sobreposição permitido-vs-observado numa captura real.