c5.4 Conceda aos agentes papéis de privilégio mínimo sem rota de escalada
Restrinja o papel de IAM de cada agente apenas às ferramentas, recursos e segredos de que precisa, para que um agente comprometido ou manipulado não possa escalar por combinações não previstas de ferramentas.
Guia de implementação
Como implementar na AWS
Atribua aos agentes do AgentCore Runtime papéis de IAM com permissões mínimas, restritos a ferramentas/recursos/segredos específicos. Centralize o acesso a ferramentas com o AgentCore Gateway com um identity store separado para agentes (OAuth Client Credentials), guarde os client IDs/secrets no Secrets Manager e restrinja a autorização de saída (SigV4/OAuth scopes) apenas às ferramentas que cada agente pode invocar. Autorize cada chamada de ferramenta com o AgentCore Policy (Cedar) no gateway, que nega por padrão.
Um agente autônomo herda o alcance de sua função
Um agente age em seu nome usando sua função do IAM. Se essa função for ampla — ou, pior, tiver permissões que lhe permitam alterar suas próprias permissões —, um agente manipulado ou comprometido não apenas faz mau uso do que tem; ele pode escalar para mais. Restrinja a função apenas às ferramentas, recursos e segredos de que o agente precisa, e feche explicitamente a porta ao punhado de permissões que habilitam a escalada de privilégios.
Conceda apenas o que a tarefa do agente exige
Comece do zero e adicione as ações específicas e os ARNs de recursos que o agente usa — a mesma disciplina de privilégio mínimo das funções de invocação do modelo e de ferramentas:
{
"Sid": "AgentTaskPermissions",
"Effect": "Allow",
"Action": ["bedrock:InvokeModel", "dynamodb:GetItem"],
"Resource": [
"arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-3-5-sonnet-20240620-v1:0",
"arn:aws:dynamodb:us-east-1:111122223333:table/AgentState"
]
}
Negue explicitamente os caminhos de escalada
Um conjunto curto e bem conhecido de ações do IAM/STS transforma uma função limitada em uma de administrador. Mesmo que nunca sejam concedidas, um Deny explícito garante que uma política ampliada não possa reintroduzi-las:
{
"Sid": "NoPrivilegeEscalation",
"Effect": "Deny",
"Action": [
"iam:CreatePolicyVersion",
"iam:SetDefaultPolicyVersion",
"iam:AttachRolePolicy",
"iam:PutRolePolicy",
"iam:AttachUserPolicy",
"iam:CreateAccessKey",
"iam:UpdateAssumeRolePolicy",
"iam:PassRole"
],
"Resource": "*"
}
iam:PassRole é o clássico: a capacidade de entregar uma função mais poderosa a um serviço que o agente pode invocar. Se o agente legitimamente precisar passar uma função, restrinja o Allow de iam:PassRole a esse único ARN de função com uma Condition sobre iam:PassedToService, em vez de deixá-lo no deny.
Sem cadeias de auto-assunção
Mantenha as relações de confiança do agente estreitas para que ele não possa assumir uma função mais ampla. Combine um deny explícito (ou um sts:AssumeRole restrito a ARNs de função específicos) com um limite de permissões (consulte o controle de funções de ferramenta), de modo que a política de identidade E o limite limitem o teto.
Nota de nomenclatura: substitua os ARNs do modelo e da tabela. Se o agente precisar de iam:PassRole, remova-o do deny e adicione, em vez disso, um allow estreitamente restrito; não conceda PassRole amplo.Critérios de aceitação
Os papéis de agente são de privilégio mínimo e restritos; o gateway usa um identity store separado para agentes; os OAuth scopes limitam quais ferramentas cada agente invoca; não existe rota ampla de escalada. Uma chamada de ferramenta sem política que a permita é negada.
Implementação prática
Como este controle é implementado em cada arquitetura de referência:
Cada agente na conta de IA generativa recebe um papel de IAM de privilégio mínimo e alcança as ferramentas apenas por meio do AgentCore Gateway com um identity store de agente separado e OAuth restrito.
- Atribua aos agentes do AgentCore Runtime papéis de IAM com permissões mínimas restritos a ferramentas, recursos e segredos específicos.
- Centralize o acesso a ferramentas com o AgentCore Gateway com um identity store separado para agentes (OAuth Client Credentials); guarde os client IDs/secrets no Secrets Manager.
- Autorize cada chamada de ferramenta no gateway com o AgentCore Policy: escreva políticas Cedar que permitam a cada identidade de agente (principal IAM ou OAuth) chamar apenas as suas próprias ferramentas. Chamadas sem uma política permit correspondente são negadas por padrão.
- Restrinja a autorização de saída (SigV4/OAuth scopes) apenas às ferramentas que cada agente pode invocar, sem deixar rota ampla de escalada.
Como validar: Os papéis de agente são de privilégio mínimo e restritos; o gateway usa um identity store separado para agentes; os OAuth scopes limitam quais ferramentas cada agente invoca; encadear duas ferramentas não pode escalar. Uma chamada de ferramenta sem política que a permita é negada.
Evite: Um papel de agente compartilhado e poderoso mais um gateway permissivo. Restrinja o papel e os OAuth scopes para que encadear ferramentas não possa escalar privilégios.
Papéis de agente de privilégio mínimo mais o AgentCore Gateway com um identity store de agente separado e OAuth restrito impedem que os agentes escalem dentro da conta.
- Dê a cada agente um papel de IAM restrito apenas às suas ferramentas, recursos e segredos.
- Roteie o acesso a ferramentas pelo AgentCore Gateway com um identity store de agente separado; guarde os client secrets no Secrets Manager.
- Autorize cada chamada de ferramenta no gateway com o AgentCore Policy: escreva políticas Cedar que permitam a cada identidade de agente (principal IAM ou OAuth) chamar apenas as suas próprias ferramentas. Chamadas sem uma política permit correspondente são negadas por padrão.
- Restrinja o OAuth apenas às ferramentas que cada agente pode invocar.
Como validar: Os papéis de agente são de privilégio mínimo; o gateway usa um identity store separado para agentes; os OAuth scopes limitam as ferramentas; não existe rota ampla de escalada. Uma chamada de ferramenta sem política que a permita é negada.
Evite: Reutilizar o papel do app para os agentes. Dê aos agentes seus próprios papéis mínimos e restrinja seu acesso a ferramentas.
Ameaças atendidas
- Agência excessiva: um agente alcançando recursos além da sua tarefa.
- Escalada de privilégios encadeando ferramentas que um agente não deveria combinar.
Serviços AWS
Preços
As funções e políticas do IAM são gratuitas; este é um controle de design sem custo. O IAM Access Analyzer (útil para confirmar que não restam permissões sem uso ou capazes de escalar) não tem cobrança para a análise de acesso externo; a análise de acesso sem uso é cobrada por recurso analisado. Consulte Least-privilege permissions.
Mapeamentos de frameworks
OWASP GenAI/LLM Top 10 (2026)
- LLM03 Excessive Agency
NIST AI Risk Management Framework (AI 100-1)
- MANAGE.1 AI risks are prioritized, responded to and managed
AWS Security Hub — AI Security Best Practices
- BedrockAgentCore.2 Bedrock AgentCore Gateways should require authorization for inbound requests
AWS Well-Architected Generative AI Lens (Security)
- GENSEC05-BP01 Implement least privilege and permission boundaries for agentic workflows
OWASP GenAI Top 10 for Agentic Applications (2025)
- ASI03 Identity and Privilege Abuse
Recursos de aprendizado
Referências
- AWS SRA para IA — Capacidade 5, Gestão de identidade e acesso
AI Security Maturity Model