Skip to content
Latchkey

O Que É uma IAM Role? Identidades AWS Assumíveis

Uma IAM role é uma identidade AWS com permissões que qualquer principal confiável pode assumir para obter credenciais temporárias, em vez de uma pessoa que faz login com uma senha.

Diferente de um IAM user, uma role não tem credenciais permanentes. Em vez disso, principals confiáveis assumem a role e recebem credenciais de curta duração com escopo para suas permissões. Roles são como serviços AWS, instâncias EC2 e pipelines de CI agem na sua conta sem que ninguém armazene keys de longa duração.

Permission policy vs trust policy

Uma role tem duas policies. A permission policy diz o que a role pode fazer. A trust policy diz quem tem permissão de assumi-la. Ambas precisam se alinhar: o chamador precisa ser confiável, e a role precisa ter as permissões que o chamador necessita.

Assumindo uma role

Quando um principal assume uma role, o AWS STS emite credenciais temporárias (access key, secret e session token) que expiram após uma duração definida. O chamador as usa para fazer chamadas de API, e elas somem quando a sessão termina.

Usos comuns para roles

  • Instance profiles do EC2 para que apps em um servidor obtenham credenciais automaticamente.
  • Service roles permitindo que Lambda ou ECS ajam em seu nome.
  • Cross-account roles para acesso entre contas AWS.
  • OIDC roles para sistemas de CI como o GitHub Actions.

Por que roles superam keys

Access keys estáticas podem vazar e persistir. Roles emitem credenciais que expiram automaticamente, podem ter escopo restrito, e deixam uma trilha de auditoria clara de quem assumiu o quê e quando. Para automação isso é ao mesmo tempo mais seguro e mais fácil de operar.

Papel no CI/CD

Um deploy job assume uma role para obter credenciais just-in-time, roda seu deploy, e as credenciais expiram. Com o GitHub Actions OIDC, o workflow assume a role apresentando um token que a trust policy aceita, então há zero secrets AWS armazenados e o acesso é limitado a repos ou branches específicos.

Principais conclusões

  • Uma IAM role é uma identidade assumível que concede credenciais temporárias e expiráveis.
  • Sua trust policy controla quem pode assumi-la; sua permission policy controla o que ela pode fazer.
  • Pipelines assumem roles (muitas vezes via OIDC) em vez de armazenar keys AWS de longa duração.

Guias relacionados