AWS IAM Policy Autopilot: criando políticas IAM direto do Kiro
AWS IAM Policy Autopilot: criando políticas IAM direto do Kiro
Criar políticas IAM na mão é uma daquelas tarefas que todo mundo sabe que precisa fazer direito, mas que na prática acaba virando um copia e cola de "Effect": "Allow", "Action": "*" só pra "funcionar por enquanto". O problema é que esse "por enquanto" vira permanente.
O AWS IAM Policy Autopilot veio pra resolver isso. Lançado como ferramenta open source na re:Invent 2025, ele analisa seu código estaticamente e gera políticas IAM baseadas no que sua aplicação realmente precisa. E desde fevereiro de 2026, ele está disponível como Kiro Power, o que significa instalação com um clique e integração direta no seu fluxo de desenvolvimento.
O que é o IAM Policy Autopilot?
É uma ferramenta de análise estática de código que lê seu código fonte, identifica quais serviços e ações da AWS ele utiliza e gera uma política IAM base com as permissões necessárias.
Na prática, ele faz o trabalho chato por você:
- Escaneia o código procurando chamadas a SDKs da AWS
- Identifica quais actions (
s3:GetObject,dynamodb:PutItem, etc.) são usadas - Gera uma política IAM com essas permissões como ponto de partida
- Você refina conforme o projeto evolui
O ponto importante aqui: ele gera uma política base, não uma política final. A ideia é te dar um starting point muito melhor do que começar do zero ou copiar uma policy genérica.
Por que isso importa?
O problema do "Allow *"
Quantas vezes você já viu (ou escreveu) algo assim?
{
"Effect": "Allow",
"Action": "*",
"Resource": "*"
}
Funciona? Funciona. É seguro? Nem um pouco. Esse tipo de policy viola o princípio de least privilege e é um dos achados mais comuns em auditorias de segurança.
O problema é que criar policies granulares dá trabalho. Você precisa saber exatamente quais actions sua aplicação usa, quais resources ela acessa e em quais condições. O Autopilot automatiza a parte mais tediosa desse processo.
O custo de policies mal configuradas
Policies excessivamente permissivas são porta de entrada pra:
- Escalação de privilégios: um atacante que compromete uma role com
*tem acesso a tudo - Movimentação lateral: de um serviço comprometido, o atacante alcança outros
- Exfiltração de dados: acesso irrestrito a S3, DynamoDB, Secrets Manager
O Autopilot não resolve todos esses problemas sozinho, mas reduz drasticamente a chance de você começar com permissões excessivas.
Como funciona como Kiro Power
Antes do Kiro Power, usar o Autopilot exigia configurar um servidor MCP manualmente, instalar dependências e integrar na sua IDE. Agora o processo é:
- Instalação com um clique direto do Kiro IDE ou da interface web
- Sem configuração de MCP manual
- Integrado ao fluxo de desenvolvimento, você gera policies sem sair do editor
Fluxo de uso
O workflow fica assim:
- Você está escrevendo código que usa serviços AWS (Lambda que lê do S3, por exemplo)
- Pede pro Kiro gerar a policy IAM
- O Autopilot analisa o código e identifica as actions necessárias
- Ele gera a policy base
- Você revisa, ajusta resources e conditions, e aplica
Tudo isso sem sair do Kiro, sem abrir o console da AWS, sem consultar a documentação de IAM actions.
Casos de uso práticos
Prototipagem rápida
Você está criando um novo projeto e precisa de uma role pra Lambda. Em vez de chutar as permissões, deixa o Autopilot analisar o código e gerar a policy. Mesmo que seja um protótipo, já começa com permissões razoáveis.
Novos projetos AWS
Quando o projeto é novo, você ainda não tem histórico no CloudTrail pra usar ferramentas como o IAM Access Analyzer. O Autopilot preenche essa lacuna porque trabalha com análise estática, não precisa de dados de runtime.
Refatoração de policies existentes
Tem uma role com permissões excessivas e quer apertar? Rode o Autopilot no código que usa essa role e compare a policy gerada com a atual. A diferença mostra o que pode ser removido.
Code review de segurança
Durante um review, em vez de verificar manualmente se a policy está alinhada com o código, use o Autopilot pra gerar a policy esperada e compare com a que está no PR.
Limitações e cuidados
Como toda ferramenta de análise estática, o Autopilot tem limitações que você precisa conhecer:
Análise estática não é completa: se seu código constrói nomes de actions dinamicamente ou usa reflection, o Autopilot pode não capturar tudo. Resources precisam de refinamento: a ferramenta identifica actions, mas os ARNs dos resources geralmente precisam ser ajustados manualmente. Ela pode gerar"Resource": "*" pra uma action onde você deveria restringir a um bucket específico.
Conditions não são geradas automaticamente: conditions como aws:SourceAccount, aws:SourceArn ou restrições por IP precisam ser adicionadas por você.
Não substitui o IAM Access Analyzer: o Autopilot trabalha com o que o código diz que precisa. O Access Analyzer trabalha com o que realmente foi usado em produção. O ideal é usar os dois: Autopilot no desenvolvimento, Access Analyzer em produção.
Autopilot + Access Analyzer: o combo ideal
Um workflow maduro de IAM combina as duas ferramentas:
- Desenvolvimento: Autopilot gera a policy base a partir do código
- Deploy: a policy vai pra produção com permissões razoáveis (não excessivas)
- Produção: IAM Access Analyzer monitora quais permissões são realmente usadas
- Refinamento: com dados do Access Analyzer, você aperta a policy removendo o que não foi usado
Esse ciclo garante que suas policies começam boas e ficam melhores com o tempo.
Como começar
O repositório do projeto está no GitHub: awslabs/iam-policy-autopilot
Pra usar como Kiro Power:
- Acesse a página de Kiro Powers
- Encontre o IAM Policy Autopilot
- Instale com um clique
- Abra seu projeto no Kiro e peça pra gerar a policy
Conclusão
O IAM Policy Autopilot como Kiro Power é daquelas integrações que fazem sentido imediato. Criar policies IAM é uma tarefa que todo dev AWS precisa fazer, poucos fazem bem, e a maioria posterga. Ter isso integrado direto no editor, com um clique, remove a fricção e aumenta a chance de você começar com permissões adequadas desde o primeiro deploy.
Não é uma bala de prata. Você ainda precisa revisar, ajustar resources, adicionar conditions e monitorar em produção. Mas o ponto de partida muda completamente: de "Action": "*" pra uma policy que reflete o que seu código realmente faz.