Pular para o conteúdo
fernando.moretes.com
BlogEstudosCursosE-booksOpen SourcePodcasts
Loading…
Fernando Azevedo

Arquiteto de TI Especialista

Arquitetura, AWS, IA em produção, sistemas financeiros e FinOps, escritos a partir do que foi operado, com os números.

  • LinkedIn
  • GitHub
  • E-mail

Conteúdo

  • Blog
  • Estudos de arquitetura
  • Cursos
  • E-books
  • Open Source
  • Podcasts
  • Assuntos
  • Trilhas

Ferramentas

  • Well-Architected self-check
  • Arquitetura deste site
  • Números públicos
  • Histórico de estudo

Sobre

  • Comunidade
  • IA Builder
  • Perfil
  • Currículo (CV)
  • Trabalhe comigo
  • Media kit
  • RSS do blog
  • RSS dos estudos
  • Artigos narrados (podcast)
  • llms.txt
  • Termos, privacidade e uso de IA

(c) 2026 Fernando Francisco Azevedo

Blog/Artigo
RSSMarkdownLLMs
Segurança & ResiliênciaNotas de Campo

Depois do login: autorização por operação, revogação e recuperação em ferramentas de agentes

21 de out. de 2026 12 minAvançado Com apoio de IA000 visualizações00 reproduções

Um login válido não autoriza toda ferramenta. Separe identidade, permissão e aprovação; recupere operações interrompidas com evidência durável.

Ouvir artigo

cerca de 12 min · áudio gerado ao tocar

Introdução

Um agente pode continuar conversando depois que um usuário perde uma permissão. A pergunta operacional é direta: a próxima chamada de ferramenta ainda pode alterar o recurso? Este artigo propõe um exercício de arquitetura. Ele não relata um deploy nem um teste AWS já executado. Os cenários AWS abaixo estão explicitamente colocados como propostas de teste, não como resultados já medidos.

O ponto de partida é o trabalho de Carlos Biagolini sobre AgentCore Identity (Primeiros passos com Amazon Bedrock AgentCore Identity) e sobre um servidor MCP serverless com autenticação IAM (Construindo um servidor MCP serverless na AWS com autenticação IAM). Esses dois artigos usam mecanismos de identidade diferentes de propósito: o primeiro valida um JWT do Cognito no AgentCore Runtime, enquanto o segundo se apoia em IAM e SigV4 no API Gateway. Esta continuação credita ambos e trata as escolhas abaixo como decisões de projeto que ainda precisam de testes.

Três decisões que você não deve misturar

Autenticação, autorização e aprovação são perguntas diferentes, e um único artefato raramente responde às três:

  1. Autenticar identifica o chamador.
  1. Autorizar decide se esse chamador pode executar uma operação específica sobre determinado recurso e tenant.
  1. Aprovar uma alteração registra consentimento para uma proposta concreta.

Um token válido, uma ferramenta visível ou uma aprovação antiga não substituem as outras decisões. Essa separação é a espinha dorsal de todo o exercício.

A rota é uma fronteira, não toda a política

Em uma HTTP API do Amazon API Gateway, há mecanismos como IAM, JWT authorizers e Lambda authorizers. Este exercício compara duas alternativas:

  • Autorização AWS_IAM: exige SigV4 e permissão de invocação para a rota.
  • Lambda authorizer: aplica a lógica de autorização da aplicação. O formato 1.0 exige uma policy IAM; o formato 2.0 também permite resposta simples booleana, quando habilitada. O escopo da decisão e a chave de cache exigem desenho explícito.

Esse controle de entrada é real e necessário, mas, em qualquer um dos dois modos, opera no nível da rota, do método e do caminho.

O limite aparece quando várias ferramentas MCP compartilham uma mesma rota, como POST /mcp: o nome da ferramenta e seus argumentos estão no corpo. A permissão de invocação da rota não substitui a decisão sobre essa operação. Neste desenho, a autorização fina fica no executor; outra camada confiável pode aplicá-la desde que conheça a operação, não possa ser contornada e seja obrigatória antes do efeito. Separar operações por rota ajuda o controle de entrada, mas não elimina a validação de recurso e tenant.

De qualquer modo, o executor deve validar a operação e o escopo usando uma identidade confiável. Não aceite o tenant informado pelo modelo como prova de autorização. No fluxo JWT, use claims validados e seu vínculo com o recurso; no fluxo IAM/SigV4, use o principal autenticado e um mapeamento de autorização controlado pelo serviço. Propague esse contexto de forma confiável até o ponto de execução.

A role que permite a uma função Lambda acessar o DynamoDB representa permissões do serviço. Ela não demonstra automaticamente que cada usuário tem direito a cada item que essa função consegue ler. Acesso no nível do serviço e direito no nível do usuário são camadas distintas.

Fluxo de requisição proposto

O diagrama a seguir mostra o pipeline de autorização proposto neste exercício, do chamador autenticado até a evidência durável do resultado.

A revogação tem uma janela observável

A documentação do IAM informa que as permissões de credenciais temporárias são avaliadas a cada solicitação AWS, mas atualizações de política podem levar alguns minutos para surtir efeito. Portanto, checado a cada chamada não significa revogação instantânea.

Se a alternativa usa um Lambda authorizer, um resultado em cache pode ser reutilizado durante o TTL. A chave do cache, a separação por rota e o prazo de vida precisam entrar no desenho e no plano de testes. Um deny para trabalho futuro também não desfaz um efeito que já foi concluído. Operações sensíveis exigem uma política para o trabalho em andamento e uma nova validação junto ao ponto de execução.

Proposta aprovada e efeito aplicado são fatos distintos

Uma aprovação deveria vincular a identidade do revisor, o digest da proposta, o escopo, a validade e o estado esperado do recurso. Se o worker reiniciar, a existência de um registro pending não comprova que a alteração ocorreu. Procure evidência durável no alvo antes de repetir. Sem prova suficiente, mantenha o estado incerto e encaminhe para revisão.

O laboratório público (v0.4.0), disponível no repositório lab-security-remediation, permite estudar essa última fronteira com SQLite e um alvo sintético. Ele não implementa IAM, revogação ou aprovação autenticada. A gravação atômica de alvo e recibo local também não prova execução única quando uma API remota participa. Manter essa separação clara é essencial, para que o material não ensine uma garantia que o código não oferece.

Matriz de testes proposta

Para cada cenário, registre a entrada sintética, o resultado esperado, o resultado observado e o limite conhecido. Não registre tokens, segredos ou dados de clientes. Os testes de autorização AWS abaixo são propostos, não resultados já obtidos.

  1. Um principal válido tenta outro tenant: negar antes de consultar dados protegidos.
  1. O mesmo endpoint MCP recebe uma ferramenta fora do escopo: negar no executor.
  1. Uma permissão é retirada durante a sessão: medir quando as novas chamadas deixam de ser autorizadas.
  1. O authorizer possui uma resposta em cache: testar a repetição antes e depois do TTL, com rotas e tenants diferentes.
  1. Uma proposta é modificada depois da aprovação: rejeitar o digest divergente.
  1. O recurso muda antes da execução: rejeitar a precondição obsoleta.
  1. O processo para após o efeito e antes do reconhecimento: reconciliar por evidência; não reaplicar às cegas.

Trade-offs e próximo passo

Revalidar junto ao ponto de efeito aumenta as consultas e a latência; o cache reduz o custo, mas pode ampliar a janela de autorização desatualizada. A decisão deve partir do impacto da operação, da política de revogação e de medições do ambiente. Leituras de baixo risco e remediações destrutivas podem justificar níveis de rigor diferentes.

Antes de adicionar outro agente, eu pediria que a equipe demonstrasse qual identidade decide, qual componente faz cumprir a decisão e como ela recupera uma operação interrompida. O próximo incremento do laboratório deve testar aprovação autenticada e revogação em ambiente isolado, com custo e limpeza definidos desde o início.

Referências

  • Controlling access to an HTTP API with IAM authorization
  • Disabling permissions for temporary security credentials
  • Working with Lambda authorizers for HTTP APIs
  • Primeiros passos com Amazon Bedrock AgentCore Identity
  • Construindo um servidor MCP serverless na AWS com autenticação IAM
  • Laboratório lab-security-remediation (v0.4.0)

Fronteiras de autorização

Desenho proposto; a identidade e a política precisam chegar ao ponto de efeito.

Trusted application boundary
  • Authenticated caller
  • Route entry control
  • Tool contract
  • Operation + resource + tenant
  • Proposal approval
  • Constrained executor
  • Durable evidence

Visão C4 do desenho

Usuário solicita uma remediação por um agente; o modelo propõe, a aplicação impõe limites.

Containers

C4

API / MCP endpoint

API Gateway + application

Autentica o chamador e controla a entrada.

C4

Tool executor

Application service

Verifica operação, recurso, tenant e aprovação antes do efeito.

C4

Evidence store

SQLite in local lab

Preserva proposta, estado e recibo sintéticos para recuperação.

Componentes

C4

Policy check

Usa contexto confiável, independente de argumentos do modelo.

C4

Recovery reconciler

Reconcilia com evidência; conserva incerteza sem prova.

Lente AWS Well-Architected

Segurança

Negar operações fora do escopo antes do efeito; não confiar no tenant enviado pelo modelo.

Confiabilidade

Recuperar com recibos e precondições, sem prometer exactly-once remoto.

Excelência operacional

Registrar esperado e observado com versão e evidências sintéticas.

Otimização de custos

Executar primeiro o laboratório local; planejar teto e limpeza antes de qualquer teste AWS.

Checklist antes de automatizar

  1. 1

    Vincular identidade, digest, escopo e validade à aprovação.

    Documentar a evidência, o responsável e o limite conhecido.

  2. 2

    Testar tenant incorreto antes do acesso a dados.

    Documentar a evidência, o responsável e o limite conhecido.

  3. 3

    Medir propagação e cache durante revogação.

    Documentar a evidência, o responsável e o limite conhecido.

  4. 4

    Simular queda após efeito e conferir o recibo.

    Documentar a evidência, o responsável e o limite conhecido.

Antipadrões para evitar

  • Tratar autenticação ou aprovação antiga como autorização universal.
  • Repetir um efeito só porque o ledger ainda diz pending.
  • Prometer revogação instantânea ou execução única remota sem medição.
#AWS#IAM#Agentic AI#MCP#Security#Recovery
Compartilhar:LinkedInWhatsAppXBaixar em Markdown
Fonte analisada: Public security lab architecture exercise
Próximo passo
Trilha Arquiteto de IA, gratuitaFundamentos, LLMs, RAG, tools, MCP e arquitetura na AWS, em aulas curtas e interativas.Começar a trilhaAgentes de IA em produção na AWSComo eu desenho, oriento e audito agentes que vão ao ar, com os números e as fontes.Ver o IA Builder

Continue lendo

Segurança & ResiliênciaIAM Roles para Stream Sessions: Comparativo de Estratégias de CredenciaisO suporte a IAM roles em sessões do Amazon GameLift Streams, lançado em julho de 2026, elimina a necessidade de chaves de acesso de longa duração em aplicações de streaming. Neste artigo, comparo as quatro abordagens de credenciais disponíveis, chaves estáticas, variáveis de ambiente, AWS Secrets Manager e IAM roles via RoleArn, usando critérios de segurança, complexidade operacional, custo e rastreabilidade. A conclusão é direta: IAM roles vence em quase todos os eixos relevantes para ambientes de produção.Ler Segurança & ResiliênciaIAM Roles para GameLift Streams: O Fim das Credenciais EmbutidasO Amazon GameLift Streams passou a suportar IAM roles em sessões de streaming, eliminando a necessidade de credenciais de longa duração embutidas em bundles ou variáveis de ambiente. A mudança alinha o serviço ao mesmo mecanismo de container credential provider já consolidado no ECS e EKS, sem alteração de código na aplicação. Neste artigo, analiso o que essa feature realmente entrega, onde ainda existem limites relevantes e como adotá-la com rigor em ambientes de produção.Ler Segurança & ResiliênciaAmazon Managed Grafana FedRAMP High: Observabilidade em Ambientes ReguladosO Amazon Managed Grafana alcançou autorização FedRAMP High nas regiões AWS GovCloud (US-East) e (US-West), desbloqueando observabilidade gerenciada para agências federais e setores com requisitos de conformidade rigorosos. Neste artigo, analiso o que essa autorização realmente significa em termos de arquitetura, os padrões de design que ela habilita e os anti-padrões que ainda persistem mesmo com o serviço autorizado.Ler
AnteriorRetro: EMR Serverless em IPv6-only e a subnet que ficou sem DNS64
Gostou desta análise? Receba a próxima.

Deep dives de arquitetura, AWS, IA e mercado: direto no seu email. Grátis.

Sem spam · cancele quando quiser

Pergunte ao Fernando sobre isto

Uma resposta focada sobre este artigo, do meu assistente de IA, baseada no meu trabalho.

AWS Builder Center

Este artigo também está no AWS Builder Center, onde a comunidade AWS discute. Comente lá, ou aqui embaixo, eu respondo nos dois.

Discutir no Builder Center 20 0

Participe da conversa

Entre para comentar

Confirme seu e-mail para participar, você também recebe a newsletter. Sem senha.

Neste artigo
ArquiteturaC4Well-ArchitectedChecklist antes de automatizarAntipadrões