Dominando AWS IAM
O IAM é um dos tópicos mais frequentes no exame CLF-C02. Este guia aborda os componentes principais do IAM, seu modelo de permissões e as ferramentas de segurança que você precisa conhecer.
---
O que é IAM?
IAM (Identity and Access Management) é o serviço da AWS que controla com segurança o acesso aos recursos da AWS. Ele determina quem pode fazer o quê dentro do seu ambiente AWS.
O IAM gerencia três conceitos principais:
Usuários: Identidades individuais que interagem com os serviços da AWS Grupos: Coleções de usuários que compartilham permissões comuns Funções: Permissões temporárias atribuídas a serviços ou aplicações da AWS
O IAM é um serviço global sem custo adicional. Não é necessário selecionar uma região específica para utilizá-lo.
---
Usuários e Grupos
| | Descrição | |--|--| | Usuário do IAM | Identidade única com credenciais (nome de usuário/senha, chaves de acesso) | | Grupo do IAM | Agrupamento lógico de usuários para simplificar o gerenciamento de permissões |
Existem regras importantes sobre a relação entre usuários e grupos. Um usuário não precisa pertencer a nenhum grupo. Um usuário pode pertencer a vários grupos simultaneamente. No entanto, os grupos não podem conter outros grupos — o aninhamento não é permitido.
---
Permissões e Políticas
As permissões são definidas usando documentos de política JSON que especificam quais ações são permitidas ou negadas.
Estrutura de Política
| Elemento | Descrição | |---------|----------| | Version | Versão da linguagem de política (sempre 2012-10-17) | | Effect | Allow ou Deny | | Action | Ação do serviço da AWS a permitir ou negar | | Resource | Recurso da AWS de destino (ARN) |
Ao projetar políticas, siga o Princípio do Menor Privilégio: conceda apenas as permissões necessárias para a tarefa em questão. Isso reduz significativamente o risco de acesso não autorizado.
Tipos de Políticas
| Tipo | Descrição | |------|----------| | Políticas Gerenciadas pela AWS | Políticas reutilizáveis predefinidas fornecidas pela AWS | | Políticas Gerenciadas pelo Cliente | Políticas personalizadas criadas e mantidas pelo usuário | | Políticas Inline | Políticas incorporadas diretamente em um único usuário, grupo ou função |
---
Funções do IAM
As funções do IAM permitem que os serviços da AWS acessem outros serviços da AWS sem armazenar credenciais de longo prazo no código. Esta é uma abordagem significativamente mais segura do que incorporar chaves de acesso diretamente no código da aplicação.
Casos de uso comuns:
Uma instância EC2 acessando buckets do S3 Uma função Lambda lendo ou gravando no DynamoDB
Para qualquer aplicação em execução na AWS, usar uma Função do IAM em vez de um Usuário do IAM é a abordagem recomendada. Isso elimina o risco de credenciais de longo prazo ficarem expostas.
---
MFA (Autenticação Multifator)
O MFA adiciona uma segunda camada de segurança sobre uma senha. Mesmo que uma senha seja roubada, o MFA impede o acesso não autorizado à conta.
Dispositivos MFA na AWS
| Tipo | Descrição | |------|----------| | MFA Virtual | Aplicativos de smartphone como Google Authenticator ou Authy (TOTP) | | MFA de Hardware | Dispositivos de token físico como Gemalto | | Chave de Segurança U2F | Chaves de segurança baseadas em USB |
O MFA sempre deve ser ativado na conta raiz e em qualquer usuário do IAM com privilégios elevados.
---
Política de Senha
O AWS IAM permite configurar as seguintes regras de senha para sua conta:
Comprimento mínimo de senha Tipos de caracteres obrigatórios (maiúsculas, minúsculas, números, símbolos) Prevenção de reutilização de senhas Período de expiração (por exemplo, a cada 90 dias)
---
Três Maneiras de Acessar a AWS
| Método | Descrição | |--------|----------| | Console de Gerenciamento da AWS | Interface gráfica baseada na web | | AWS CLI | Comandos de terminal para automação | | AWS SDK | Acesso programático por meio de linguagens como Python e JavaScript |
Exemplo de CLI
Exemplo de SDK (Python boto3)
Tanto a CLI quanto o SDK requerem chaves de acesso (ID da chave de acesso e chave de acesso secreta). Essas chaves nunca devem ser compartilhadas nem incluídas diretamente no código-fonte.
---
Ferramentas de Segurança do IAM
| Ferramenta | Propósito | |-----------|----------| | Relatório de Credenciais do IAM | Lista todos os usuários do IAM e o status de suas credenciais, útil para auditorias | | Consultor de Acesso do IAM | Mostra quando as permissões foram usadas pela última vez, ajudando a identificar e remover acessos desnecessários | | Simulador de Políticas do IAM | Testa e valida políticas antes de aplicá-las |
Use o Relatório de Credenciais para auditorias de segurança regulares. O Consultor de Acesso é especialmente útil para manter o Princípio do Menor Privilégio ao identificar permissões que não estão mais em uso.
---
Modelo de Responsabilidade Compartilhada
| Responsabilidade da AWS | Responsabilidade do Cliente | |------------------------|---------------------------| | Proteger a infraestrutura do serviço IAM | Gerenciar usuários, grupos e funções | | Garantir a disponibilidade do serviço | Definir políticas de senha fortes e ativar o MFA | | Fornecer políticas gerenciadas pela AWS | Aplicar o menor privilégio e realizar auditorias periódicas |
---
Melhores Práticas do IAM
Minimize o uso da conta raiz. Use usuários do IAM para as operações do dia a dia. Aplique o Princípio do Menor Privilégio de forma consistente. Ative o MFA na conta raiz e em todos os usuários do IAM administrativos. Use funções do IAM para aplicações em vez de incluir chaves de acesso no código. Rotacione as chaves de acesso regularmente. Audite as permissões periodicamente usando o Relatório de Credenciais e o Consultor de Acesso.
---
Pontos-Chave para o Exame
IAM é um serviço global: não é necessário selecionar uma região Uma política é um documento JSON; os elementos principais são Effect, Action e Resource Os grupos não podem ser aninhados dentro de outros grupos O MFA é a última linha de defesa se uma senha for comprometida A Função do IAM é a forma segura de conceder permissões aos serviços da AWS O Relatório de Credenciais é a ferramenta de auditoria; o Consultor de Acesso identifica permissões não utilizadas