Blank white background with no objects or features visible.

Estamos disponibilizando acesso gratuito ao Gartner Hype Cycle for AI Governance 2026 completo. Obtenha sua cópia →

Autorização de Granularidade Fina: Quão Fina É o Suficiente?

By Ashish Dubey

Updated: November 3, 2026

Published: September 21, 2026

⚡ Resumo (TL;DR)
  • Autorização de granularidade fina (fine-grained authorization) significa tomar decisões sobre unidades menores: não “este sistema”, mas este recurso, esta ferramenta, esta chamada.
  • A granularidade não é gratuita. Cada dimensão multiplica os estados que alguém precisa raciocinar no momento da revisão, e um modelo de permissões que ninguém consegue ler acaba sendo burlado.
  • A pergunta útil não é quão fino eu posso ir, mas quão fino eu posso ir e ainda responder “quem pode fazer o quê?” a partir de uma consulta simples, e não de uma investigação.
  • Existe uma escala: capacidade em todo o tenant → função por recurso → por ferramenta dentro de um recurso → aprovação por invocação. Cada degrau continua barato de auditar apenas se você parar de subir quando o risco parar de aumentar.
  • A TrueFoundry implementa todos os quatro níveis. O aspecto mais interessante não é o nível mais fino; é o fato de que cada um deles continua sendo uma tabela legível.

O que a autorização de granularidade fina realmente significa

A autorização de granularidade fina diz respeito ao tamanho do elemento sobre o qual você está decidindo, e não ao mecanismo que você usa para decidir. A autorização genérica (coarse) pergunta: “esta identidade pode usar o gateway de IA?”. A autorização de granularidade fina pergunta: “esta identidade pode chamar a ferramenta delete_issue no servidor MCP do Linear, agora mesmo, para esta pessoa?”.

Essa transição ocorre ao longo de quatro dimensões independentes, que valem a pena ser separadas porque possuem custos diferentes:

Dimensão Genérica (Coarse) Fina (Fine) O que ela proporciona
Sujeito Todos no tenant Identidade de um usuário, equipe ou agente Atribuição — você sabe quem fez
Recurso Todos os servidores MCP Um servidor MCP específico Contenção do raio de impacto (blast radius)
Ação Acesso total Uma permissão única de recurso:Ação Separação de leitura/escrita
Occasião Sempre, uma vez concedida Esta chamada, esta janela de tempo Controle sobre operações irreversíveis

A maioria dos artigos sobre controle de acesso de granularidade fina reduz essas dimensões a um único controle deslizante rotulado como “mais seguro” e o ajusta no máximo. Esse é o erro. A granularidade de sujeito e de ação é quase gratuita — um usuário em vez de um grupo, uma permissão em vez de um pacote, não custa nada no momento da revisão. A granularidade de recurso e de ocasião é onde a conta realmente chega.

A granularidade também é ortogonal à escolha entre RBAC e ABAC. Funções simples expressam permissões muito finas se você delimitar as vinculações (bindings) com precisão, e políticas de atributos podem ser desesperadoramente genéricas. O modelo é a forma como você decide; a granularidade é aquilo sobre o qual você decide.

O custo que ninguém calcula

A matemática é simples: quarenta engenheiros e uma permissão em todo o gateway dão a uma revisão de acesso 40 estados para confirmar. Delimite essa permissão por recurso em 12 servidores MCP e você terá 480 estados. Passe para o nível de ferramenta, com 25 ferramentas por servidor, e você terá 12.000 células. Adicione aprovação por invocação e o objeto de revisão deixa de ser uma grade — torna-se um log de eventos.

Ninguém audita 12.000 células. Em vez disso, o verdadeiro risco da supergranularidade se concretiza:

  • O modelo passa a ser aproximado. Os revisores param de checar as células e passam a checar apenas os nomes das funções (roles), fazendo com que as permissões subjacentes sofram desvios não observados.
  • Alguém cria um atalho (escape hatch). Uma conta de serviço compartilhada com acesso amplo surge, porque o caminho correto exige três aprovações e um chamado. Todos os controles no caminho rigoroso tornam-se meramente decorativos.
  • As concessões se acumulam. Concessões de granularidade fina são individualmente pequenas, então ninguém sente o peso de deixar uma ativa. Concessões genéricas são revogadas porque são visíveis.
  • A fila de aprovação vira um carimbo automático. Coloque aprovação em tudo e os aprovadores clicarão sem ler — o que é pior do que não ter controle algum, pois agora existe um registro assinado dizendo que um humano concordou.

Portanto, a restrição é a capacidade de resposta (answerability). Em qualquer degrau, você deve ser capaz de responder a três perguntas sem precisar executar um job: quem pode acessar este recurso, o que pode fazer com ele e quando o fez pela última vez. Quebre isso e você terá comprado precisão ao custo da visibilidade.

É por isso também que permissões de menor privilégio (least privilege) e granularidade máxima não são o mesmo objetivo. O menor privilégio concede apenas a autoridade necessária para a função; não exige que ela seja dividida o máximo que o sistema permitir. Uma função que possui exatamente as sete permissões de que um job precisa é de menor privilégio. Setecentas concessões separadas que somam essa mesma autoridade são apenas caras.

A escala da granularidade

Quatro degraus, do genérico ao fino, cada um com uma função específica. A regra é permanecer no degrau mais baixo que contenha o risco.

Degrau O que ele decide Onde é configurado Unidade de auditoria Quando usar
1. Capacidade em todo o tenant Se uma identidade pode fazer algo em qualquer recurso de um determinado tipo Funções do tenant e personalizadas, criadas a partir de chaves recurso:Ação Definição da função + lista de atribuição A capacidade é o próprio limite — criar recursos, listar usuários, alterar configurações
2. Função por recurso O que uma identidade pode fazer em um recurso específico Página de Controle de Acesso (Access Control) daquele recurso Uma tabela de concessões por recurso Equipes diferentes possuem servidores, grupos de secrets ou contas de provedor diferentes
3. Por ferramenta dentro de um recurso Quais ferramentas individuais podem ser chamadas A guia Tools do recurso Uma lista de habilitadas/desabilitadas por recurso Um único servidor expõe tanto leituras inofensivas quanto escritas destrutivas
4. Por invocação Se esta chamada específica pode prosseguir Políticas de aprovação humana Um registro de solicitação de aprovação A ação é irreversível ou visível externamente

Duas propriedades tornam esse estrutura uma escala, e não um menu.

Os degraus se compõem de cima para baixo, e não para os lados. O Degrau 3 só importa para identidades que passaram pelo Degrau 2, e uma ferramenta desabilitada é inacessível, independentemente da função que alguém possua. Você pode ser generoso em um degrau genérico e rígido em um fino, e a rigidez será mantida.

Cada degrau possui um formato diferente de registro. Os Degraus 1 e 2 são tabelas que você lê. O Degrau 3 é uma lista que você compara com a do trimestre anterior. O Degrau 4 é um log do qual você retira amostras. Tratar o Degrau 4 como uma tabela é a razão pela qual as equipes terminam com duzentas políticas que ninguém consegue resumir.

Onde as equipes erram

Usar o degrau 1 para fazer o trabalho do degrau 2. De longe, o erro mais comum. Alguém precisa de um servidor MCP, então recebe uma função em todo o tenant contendo mcp-server:ReadMcpServer — o que concede acesso a todos os servidores MCP do tenant. A concessão parece restrita porque a lista de permissões é curta. Mas não é.

Subir para o degrau 4 para evitar uma discussão sobre o degrau 2. Políticas de aprovação são atraentes porque adiam a decisão. No entanto, uma barreira em uma ferramenta que as pessoas erradas nem deveriam acessar é apenas um portão em frente a uma porta aberta. Corrija a vinculação (binding) primeiro.

Tratar alternadores no nível de ferramenta como uma barreira contra chamadores não confiáveis. Desabilitar uma ferramenta a remove da descoberta e bloqueia a invocação — excelente contra um agente que, de outra forma, escolheria algo perigoso em uma lista longa. Mas isso não substitui as permissões do próprio sistema de origem na credencial.

Nunca revisar os degraus mais finos. Concessões genéricas são revisadas porque são visíveis. Uma ferramenta habilitada para uma migração pontual há oito meses torna-se invisível. Audite as listas de ferramentas habilitadas na mesma frequência com que audita as funções.

Quer ver a escala em um único console?
Restrinja uma função a um único recurso e desabilite uma ferramenta nele — leva cerca de cinco minutos do início ao fim.

Como a escala funciona na TrueFoundry

A TrueFoundry implementa todos os quatro degraus. Um sujeito (usuário, equipe, conta virtual ou agente) mais um recurso mais uma função (role) formam uma vinculação de função (role binding), gerenciada de forma independente da configuração do recurso — permitindo alterar quem pode acessar algo sem precisar fazer o redeploy do recurso.

Degrau 1 — capacidade em todo o tenant

Três funções de tenant vêm integradas: Admin (controle total, não editável), Member (a linha de base padrão e editável) e Read-Only Member (somente leitura, também fixa).

Default Roles list showing the Member role available to edit beside the fixed built-in roles
Lista de funções padrão exibindo a função Member disponível para edição ao lado das funções integradas fixas

Quando essas opções forem muito amplas ou muito restritas, crie uma função personalizada em Access > Custom Roles. O catálogo é a essência das permissões de granularidade fina aqui: cada entrada é uma chave recurso:Ação agrupada por tipo de recurso, e a nomenclatura indica a granularidade existente antes mesmo de você projetar qualquer coisa.

Chave de permissão O que ela permite
mcp-server:CreateMcpServer Criar novos servidores MCP
mcp-server:UseMcpServer Usar um servidor MCP para operações
mcp-server:ApproveMcpServer Aprovar ou negar solicitações de aprovação de ferramentas MCP
provider-account:UseIntegrations Usar integrações vinculadas a uma conta de provedor
secret-group:ReadSecretGroup Visualizar detalhes de um grupo de secrets
secret-group:ReadData Ler valores de secrets
virtual-account:ManageVirtualAccount Atualizar contas virtuais e recuperar seus tokens
Custom role form showing the available tenant permissions grouped by resource type
Formulário de função personalizada mostrando as permissões de tenant disponíveis agrupadas por tipo de recurso

Criar um servidor MCP e gerenciar um são chaves separadas. Essas divisões fornecem ao design do modelo de autorização sua resolução utilizável.

Uma regra governa este degrau: as permissões de funções personalizadas se aplicam a todos os recursos do tipo selecionado. Para um único recurso, use a página de Access Control desse recurso específico. Fazer o inverso é cometer o erro do degrau 1 fazendo o trabalho do degrau 2 citado anteriormente.

Degrau 2 — funções por recurso

Abra o menu de três pontos do recurso e selecione Access Control.

Three-dot menu on the nm-gemini2 model provider account with the Access Control option selected
Menu de três pontos na conta do provedor de modelo nm-gemini2 com a opção Access Control selecionada

Escolha os sujeitos e uma função. O painel lateral lista as ações que cada função inclui, para que você veja a concessão antes de confirmá-la.

Grant Access drawer showing the subject selector with the Manager and User roles for a provider account
Painel Grant Access exibindo o seletor de sujeitos com as funções Manager e User para uma conta de provedor

As funções dependem do recurso: Manager e User em uma conta de provedor; MCP Server Manager, MCP Server User e MCP Server Approver em um servidor MCP; Agent Manager e Agent Access em um agente; níveis de admin, member e viewer em clusters e workspaces. Conceder permissão a uma equipe é melhor do que conceder a uma pessoa — novos membros a herdarão automaticamente, e a tabela de concessões permanecerá curta o suficiente para ser lida. O modelo de controle de acesso do MCP é construído sobre este degrau.

Degrau 3 — por ferramenta dentro de um recurso

Este é o degrau que as equipes demoram mais para adotar, mas do qual os agentes mais precisam. Em um servidor MCP remoto ou gerenciado pela TrueFoundry, a guia Tools controla quais ferramentas podem ser chamadas.

MCP server Tools tab showing per-tool toggles, Enable new tools by default, and Bulk Action
Guia Tools do servidor MCP mostrando alternadores por ferramenta, Enable new tools by default e Bulk Action

Ferramentas desabilitadas são omitidas das respostas de tools/list e não podem ser invocadas. Ambas as partes contam: o modelo não pode escolher o que nunca vê, e o gateway recusa a chamada se algo tentar chamá-la mesmo assim.

O alternador Enable new tools by default define a linha de base e é uma escolha real de arquitetura. Ativado, a lista funciona como uma lista de bloqueio (denylist) e novas ferramentas do fornecedor aparecem automaticamente. Desativado, funciona como uma lista de permissão (allowlist) e novas ferramentas de origem permanecem ocultas até que alguém as habilite. A lista de permissão é a opção correta para qualquer coisa que toque em produção.

A opção Edit Tool faz algo mais sutil. Além de permitir a substituição da descrição, você pode definir as MCP Tool Annotations como None, Read-only ou Destructive, o que ajusta readOnlyHint ou destructiveHint.

Edit Tool modal with the description field and the MCP Tool Annotations selector
Modal Edit Tool com o campo de descrição e o seletor de MCP Tool Annotations

Essa anotação é o rótulo que o degrau 4 lê, fazendo com que uma classificação feita uma única vez se torne uma política contínua sem a necessidade de nomear ferramentas duas vezes.

Degrau 4 — aprovação por invocação

As políticas de aprovação de ferramentas retêm uma chamada de tools/call no gateway, criam uma solicitação pendente e notificam os aprovadores. A ferramenta não é executada. Uma vez aprovada, as chamadas são bem-sucedidas dentro de uma janela de validade; após esse período, uma nova aprovação é necessária.

New Approval Policy form showing tool selection with Once and time-based approval validity options
Formulário New Approval Policy mostrando a seleção de ferramentas com opções de validade de aprovação Once e por tempo

Dois controles definem a granularidade, e ambos possuem regras de precedência documentadas:

Controle Opções Precedência quando vários se aplicam
Escopo da aprovação nomeadas (ferramentas listadas), destrutivas (ferramentas marcadas com destructiveHint: true), todas A mais específica vence: nomeadas > destrutivas > todas
Validade da aprovação Once (única execução) ou baseada em tempo (minutos) A mais restritiva vence: Once > menor tempo > maior tempo

As concessões são restritas ao solicitante, ao servidor específico e à ferramenta, e não são compartilhadas entre usuários. Os aprovadores trabalham a partir de Pending Requests, que exibe a ferramenta, a política, o solicitante, a janela de validade e os argumentos da ferramenta.

Pending Requests tab listing approval requests with Approve and Deny actions
Guia Pending Requests listando solicitações de aprovação com as ações Approve e Deny

Quem pode fazer o quê aqui também é dividido entre os degraus. Apenas administradores do tenant criam, atualizam ou excluem políticas. Aprovar ou negar exige perfil de admin do tenant ou a função MCP Server Approver naquele servidor, adicionada a partir de sua lista de Collaborators.

Update MCP Server drawer showing Collaborators with the MCP Server Manager and MCP Server Approver roles
Painel Update MCP Server mostrando os Collaborators com as funções MCP Server Manager e MCP Server Approver

Se um servidor especificado por uma política não tiver colaboradores com a função Approver, apenas os administradores do tenant poderão decidir — uma maneira silenciosa de canalizar todas as aprovações para três pessoas sobrecarregadas.

Um limite importante: uma negação não é um bloqueio definitivo. Ela é registrada e a chamada seguinte gerará uma nova solicitação. Para interromper o acesso de forma duradoura, desça na escala — remova o acesso do sujeito ao servidor ou desabilite a ferramenta. O Degrau 4 governa ocasiões, não autoridade.

Exemplo prático: leitura versus uso em um grupo de secrets

Grupos de secrets mostram claramente por que a granularidade de ação vale a pena, pois o objetivo é separar a visualização de um valor da dependência em relação a ele.

Um grupo de secrets organiza secrets relacionados para que você gerencie o acesso uma única vez, e não por secret. Quando você salva um secret, o valor vai para o seu próprio gerenciador de secrets — AWS SSM, GCP Secret Manager, HashiCorp Vault, Azure Vault — e a TrueFoundry armazena um nome totalmente qualificado (FQN) que você referencia em implantações, montagens de volume, integrações e chaves de API de modelos no gateway.

Essa indireção é o mecanismo: uma implantação que consome um secret por FQN não exige que nenhum humano tenha lido o valor. Isso torna essa divisão real, e não apenas cosmética:

Função (Role) O que a documentação diz que ela pode fazer
Secret Group Admin Criar, editar e excluir secrets no grupo
Secret Group Editor Editar e excluir secrets no grupo, e visualizar os valores dos secrets
Secret Group Viewer Visualizar as chaves dos secrets, mas não os valores

A linha da função Viewer é o grande ganho. Alguém pode ver que a chave stripe-live-key existe aqui — o suficiente para revisar do que um projeto depende — sem que o valor apareça na tela. O catálogo de permissões torna essa mesma divisão explícita: secret-group:ReadSecretGroup visualiza o grupo, secret-group:ReadData lê os valores. Chaves diferentes permitem que uma função personalizada contenha uma sem conter a outra.

Dois alertas, porque aqui a documentação é mais restrita do que o conceito. Um administrador de tenant tem acesso a todos os grupos de secrets por padrão; para membros e equipes, você atribui uma função em cada grupo individualmente. Além disso, a lista de funções de recursos indica uma quarta função, Secret Group Access, ao lado de Admin, Editor e Viewer — mas a página de gerenciamento de secrets documenta apenas as três acima. Verifique seu próprio console antes de construir um processo baseado nisso.

O padrão se generaliza. Sempre que um recurso tiver tanto uma descrição quanto um payload, procure por chaves separadas cobrindo cada um — repositórios possuem a mesma divisão entre ReadRepository e ReadData — e conceda a descrição sem o payload sempre que isso for suficiente.

Pronto para separar a leitura do uso?
Crie um grupo de secrets, conceda a função Viewer a um colega de equipe e veja os valores permanecerem ocultos.

Pegadinhas que valem a pena conhecer

Concessões se combinam, e remover uma não remove a outra. Um sujeito pode ter acesso direto e também herdá-lo por meio de uma equipe. A TrueFoundry combina ambos, portanto, revogar a concessão direta mantém a herdada intacta. Verifique ambos, nessa ordem. A granularidade fina agrava isso: mais concessões pequenas significam mais locais para verificar.

Editar a função padrão de uma equipe a altera para todas as equipes. Team Member e Team Manager são editados em Access > Default Roles, e a alteração é global. Adicionar virtual-account:ManageVirtualAccount para que uma equipe possa recuperar tokens concede essa capacidade em todas as equipes. As pessoas continuam limitadas às suas próprias equipes, mas a capacidade se espalha. É uma alteração do degrau 1 disfarçada de degrau 2.

Uma aprovação pendente é uma resposta de sucesso, não um erro. Enquanto uma solicitação está pendente, o gateway retorna um resultado JSON-RPC com isError: false e _meta.approval_status: "pending", cujo texto solicita que o chamador aguarde. Um agente que verifica apenas erros tratará isso como um resultado real da ferramenta e continuará a execução. Leia _meta.approval_status e tente novamente.

Leitura relacionada

Conclusão

A autorização de granularidade fina é vendida como um botão que você ajusta para cima. Na verdade, é uma escala que você sobe deliberadamente, parando quando o risco para de aumentar, e não quando a plataforma fica sem opções.

Cada degrau responde a uma pergunta diferente. A capacidade do tenant pergunta o que alguém pode fazer no geral. As funções por recurso perguntam onde. As permissões no nível de ferramenta perguntam quais operações existem para serem escolhidas. A aprovação por invocação pergunta se esta chamada deve acontecer agora. Nessa ordem, cada degrau restringe o anterior, e todos permanecem legíveis.

Fora de ordem — como uma barreira por chamada protegendo uma vinculação ampla demais ou uma função em todo o tenant substituindo uma concessão de recurso — você obtém um modelo que parece rigoroso em um diagrama, mas que não pode ser explicado em uma auditoria. O modelo de autorização mais fino não é o melhor. O melhor modelo é o mais fino que você consegue ler em voz alta.

Delimite seu primeiro agente na TrueFoundry

Try now.

One gateway for all your models, MCP servers, and agents.
No credit card needed.

Start free
Table of Contents

One Gateway for Every LLM, Agent and MCP Server

Book a 30-min with our AI expert

Book a Demo

The fastest way to build, govern and scale your AI

Book Demo
Summarize with
ChatGPT logo by OpenAI
Perplexity AI logo
Blurry red snowflake on white background, symmetrical frosty design with soft edges and abstract shape.

Discover More

No items found.
November 5, 2026
|
5 min read

AI Gateway Security for Agents: Straiker on TrueFoundry

No items found.
TrueFoundry AI gateway governs production systems in enterprise AI deployments
June 6, 2026
|
5 min read

O que é um Sistema de Produção em IA? Um Guia Completo para Equipes Empresariais

No items found.
October 8, 2026
|
5 min read

O que é o OpenRouter? Um guia técnico sobre o que acontece com a sua requisição

No items found.
TrueFoundry AI gateway enables Multi-Model orchestration across enterprise LLM providers
October 12, 2026
|
5 min read

O que é Orquestração Multimodelo? Um Guia Prático para Equipes de Enterprise

No items found.
No items found.

Recent Blogs

Black left pointing arrow symbol on white background, directional indicator.
Black left pointing arrow symbol on white background, directional indicator.

Frequently asked questions

O que é autorização granular?

Autorização granular é o controle de acesso que decide sobre unidades pequenas, e não sobre sistemas inteiros — um recurso nomeado em vez de um tipo de recurso, uma ação em vez de acesso total, uma ferramenta em vez de um servidor, uma chamada em vez de uma concessão permanente. O mecanismo pode ser papéis, atributos ou código de política; a granularidade diz respeito ao tamanho do que é decidido, não ao modo de decidir.

Quão granulares as permissões devem ser?

Tão granulares quanto o risco exigir, mas não mais do que você consegue auditar. A cada nível que adicionar, pergunte se ainda consegue responder “quem pode fazer o quê com este recurso” a partir de uma tabela, e não de uma investigação. A granularidade por sujeito e por ação é barata. A granularidade por recurso e por chamada traz um custo real de revisão, então use-a onde uma operação for irreversível ou visível externamente.

O que são permissões em nível de ferramenta e por que os agentes precisam delas?

As permissões em nível de ferramenta decidem quais ferramentas individuais de um servidor um agente pode chamar. Os agentes precisam delas porque um agente escolhe as próprias ferramentas entre as que descobre, e suas entradas podem ser adversárias — um documento envenenado pode direcioná-lo para uma ferramenta destrutiva. Desativar uma ferramenta no TrueFoundry a remove de tools/list e bloqueia a invocação, de modo que o modelo não pode escolher o que não vê. O que é autorização no MCP explica o modelo em que isso se insere.

Posso implantar o TrueFoundry na minha própria VPC ou on-prem?

Sim. O TrueFoundry é executado na sua VPC, on-prem, em ambiente air-gapped ou híbrido, de modo que os prompts e as respostas nunca saem do seu domínio, mesmo quando você roteia entre muitos provedores.

O TrueFoundry oferece suporte a MCP e a agentes de IA em geral?

Sim. Ele inclui um MCP Gateway, um Agent Gateway e um MCP & Agents Registry com controle de acesso em nível de ferramenta. Agentes criados com LangGraph, CrewAI, AutoGen ou um framework próprio podem ser governados de forma centralizada.

Ele se integra com a minha stack de observabilidade existente?

Sim. O gateway é compatível com OpenTelemetry e se integra com Grafana, Datadog, Prometheus ou a sua stack preferida. Ele rastreia cada requisição, do prompt à execução da ferramenta e do modelo, para que você obtenha logs unificados sem precisar remover o que você já usa.

Take a quick product tour
Start Product Tour
Product Tour