Hoje iremos abordar sobre o pilar de segurança na Amazon Web Services - AWS. Inicialmente abordamos uma introdução ao serviço responsável por gerenciar gestão de acesso aos recursos na AWS.
Vamos o que interessa, o que realmente é o IAM na AWS?
O AWS Identity and Access Management (IAM) é o serviço que permite controlar quem pode acessar seus recursos na AWS e o que cada pessoa ou sistema pode fazer.
Mesmo sem experiência prévia em nuvem, é importante entender que IAM é a porta de segurança que garante que apenas usuários autorizados executem ações específicas em seus recursos.
Contas e Tipos de Usuários IAM
No IAM, cada identidade possui permissões específicas que definem o que ela pode acessar.
Existem três tipos principais de contas e perfis:
1. Usuário IAM:
- Criado para pessoas ou sistemas que precisam acessar recursos de forma contínua.
- Quando usar: colaboradores que acessam diariamente serviços da AWS.
- Quando evitar: scripts automatizados ou aplicações; para esses casos, é melhor usar roles temporárias.
2. Usuário federado:
- Permite login temporário usando sistemas de terceiros (como diretórios corporativos SAML ou OIDC).
- Quando usar: acesso temporário ou integração com autenticação externa.
- Quando evitar: atividades que exigem identidade permanente ou registros detalhados.
3. Root Account:
Conta principal da AWS, criada ao iniciar a conta, ele é responsável pelo gerenciamento da parte de pagamentos dos recursos na AWS.
Quando usar: apenas para configuração inicial, faturamento e definições críticas.
Quando evitar: não deve ser usada para tarefas do dia a dia, pois possui privilégios máximos, representando risco à segurança.
Políticas IAM: Como funcionam
As políticas definem as permissões de acesso aos recursos. Existem dois tipos principais:
Políticas baseadas em identidade:
- Associadas a usuários, grupos ou roles.
- Exemplo: um usuário pode ter acesso total apenas a uma tabela do DynamoDB.
Podem ser:
- Gerenciadas pela AWS (prontas e seguras);
- Gerenciadas pelo cliente (personalizáveis);
- Inline (embutidas em um único usuário; não recomendadas para grande escala)
Políticas baseadas em recursos:
- Anexadas diretamente aos recursos, como buckets do S3 ou chaves do KMS.
- Permitem controle de acesso entre contas e acesso detalhado a recursos específicos.
Exemplo de política JSON para DynamoDB:
{
"Version": "2012-10-17",
"Statement": {
"Effect": "Allow",
"Action": "dynamodb:*",
"Resource": "arn:aws:dynamodb:us-east-2:123456789012:table/Books"
}
}
Essa política permite que o usuário execute todas as ações na tabela Books, mas não concede acesso a outros serviços.
Grupos e Roles
- Grupos IAM: organizam usuários com permissões semelhantes, facilitando o gerenciamento em larga escala.
- Roles (Perfis): usados por usuários federados ou aplicações, concedendo permissões temporárias.
Modelos de Controle de Acesso
Existem dois modelos principais:
1. RBAC – Role-Based Access Control (Controle baseado em função):
- Permissões definidas de acordo com funções ou cargos.
- Limitação: exige atualização manual quando novos recursos são criados.
2. ABAC – Attribute-Based Access Control (Controle baseado em atributos):
- Permissões baseadas em atributos (tags) de usuários e recursos.
- Permite acesso dinâmico e escalável, ideal para ambientes corporativos e multi-projeto.
Vantagens do ABAC sobre RBAC:
- Escalabilidade e menor necessidade de manutenção.
- Permissões automáticas para novos recursos quando tags correspondem.
- Redução de políticas complexas, facilitando auditoria e governança.
Boas Práticas
Princípio do menor privilégio: conceda apenas as permissões necessárias.
Revisão periódica: audite políticas, roles e tags regularmente.
Evite root account: use apenas para funções críticas e administrativas.
Prefira roles temporárias para scripts e aplicações automáticas.
📌 Resumo
IAM gerencia identidades e permissões na AWS. Políticas podem ser identity-based ou resource-based, aplicadas a usuários, grupos ou roles. RBAC organiza permissões por função/cargo, enquanto ABAC usa atributos (tags) para autorização dinâmica e escalável. Em multi-account, recomenda-se usar AWS Organizations e SCPs. Princípio do menor privilégio e consistência nas tags são práticas essenciais.
Palavras-chave: IAM, policies, RBAC, ABAC, AWS Organizations, usuários, grupos, roles, SAA-C03, menor privilégio.
Top comments (0)