Shared Responsibility Model e Identity & Access Management
Data: 09/07/2026
Nível: Cloud Practitioner
Objetivo: Dominar o Shared Responsibility Model (30% da prova!) e o IAM — os dois tópicos de segurança mais cobrados no exame CLF-C02.
💡 **Analogia:** Você aluga um apartamento. O **condomínio** cuida da estrutura (elevador, encanamento, telhado). **Você** cuida do que está dentro (móveis, eletrônicos, trancas). Na AWS é igual!
┌─────────────────────────────────────────────────────────┐
│ RESPONSABILIDADE DA AWS (Segurança DA nuvem) │
│ ┌───────────────────────────────────────────────────┐ │
│ │ • Hardware físico (servidores, storage) │ │
│ │ • Rede física, cabeamento, energia │ │
│ │ • Hypervisor (virtualização) │ │
│ │ • Data centers (controle de acesso físico) │ │
│ │ • Zonas de Disponibilidade (AZs) │ │
│ │ • Software de virtualização │ │
│ └───────────────────────────────────────────────────┘ │
├─────────────────────────────────────────────────────────┤
│ RESPONSABILIDADE DO CLIENTE (Segurança NA nuvem) │
│ ┌───────────────────────────────────────────────────┐ │
│ │ • Dados do cliente (criptografia, classificação) │ │
│ │ • SO da instância EC2 (patches, atualizações) │ │
│ │ • Configuração de Security Groups e NACLs │ │
│ │ • Configuração de IAM (usuários, roles, policies) │ │
│ │ • Criptografia do lado do cliente │ │
│ │ • Firewall de aplicação (WAF) │ │
│ └───────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────┘
🧠 **Dica de prova:** Se a pergunta é "Quem é responsável por X?" — pense: **hardware = AWS**, **configuração/dados = VOCÊ**.
| Pergunta | Resposta |
|---|---|
| Quem cuida da segurança física do data center? | **AWS** |
| Quem aplica patches no SO do EC2? | **CLIENTE** (exceto se for managed como RDS) |
| Quem configura Security Groups? | **CLIENTE** |
| Quem mantém o hypervisor? | **AWS** |
| Quem gerencia usuários IAM? | **CLIENTE** |
| Quem cuida da rede física? | **AWS** |
Quanto MAIS gerenciado o serviço, MAIS responsabilidade é da AWS:
EC2 (IaaS) → Você cuida do SO
↓
RDS (PaaS) → AWS cuida do SO e do banco
↓
Lambda (FaaS) → AWS cuida de TUDO, você só traz o código
↓
S3 (SaaS/Storage) → AWS cuida de TUDO, você só armazena
💡 **Analogia:** IAM é o **porteiro + crachá** do seu prédio AWS. Ele decide **quem** pode entrar, **onde** pode ir e **o que** pode fazer.
| Conceito | Explicação | Exemplo |
|---|---|---|
| **Root User** | Conta master criada ao abrir a AWS — tem **TUDO** (incluindo billing) | hugo@email.com |
| **IAM User** | Usuário individual com credenciais próprias | `hugo-dev`, `maria-admin` |
| **IAM Group** | Conjunto de usuários com permissões iguais | `Devs`, `Admins`, `Financeiro` |
| **IAM Role** | Permissões temporárias assumidas por serviços, não por pessoas | `EC2 -> S3`, `Lambda -> DynamoDB` |
| **Policy** | Documento JSON que define o que é permitido/negado | `{"Effect": "Allow", "Action": "s3:GetObject"}` |
| **MFA** | Multi-Factor Authentication (camada extra de segurança) | Google Authenticator, YubiKey |
ROOT USER IAM USER
────────────────────────────── ──────────────────────────────
✓ Só 1 por conta ✓ Pode criar vários
✓ Acesso TOTAL (incluindo fatura) ✓ Permissões limitadas por policy
✓ NÃO use no dia a dia! ✓ Use pro trabalho cotidiano
✓ Ative MFA obrigatoriamente ✓ Ative MFA pra admins
✓ Use só pra tarefas de billing ✓ Delete quando sair da empresa
⚠️ **MELHOR PRÁTICA:** Crie um IAM User admin pra você e **nunca mais use o Root** no dia a dia!
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow", // Allow ou Deny (Deny SEMPRE vence!)
"Action": [ // O que pode fazer
"s3:GetObject",
"s3:ListBucket"
],
"Resource": [ // Em qual recurso
"arn:aws:s3:::meu-bucket",
"arn:aws:s3:::meu-bucket/*"
]
}
]
}
🧠 Dê ao usuário **APENAS** as permissões que ele precisa pra trabalhar — **nada mais**. Se ele trocar de função, ajuste as permissões.
ERRADO: CERTO:
"Meu estagiário pode tudo "Estagiário só lê S3 do bucket X,
pq é mais fácil" não pode deletar nem criar EC2"
| Tipo | Exemplo | Segurança |
|---|---|---|
| **Virtual MFA** | Google Authenticator, Authy | Boa |
| **Hardware Token** | YubiKey, Gemalto | Muito boa |
| **U2F Security Key** | YubiKey FIDO2 | Excelente |
⚠️ **IAM best practice:** Ative MFA para o Root User e para todos os IAM Users com privilégios de admin!
import boto3
iam = boto3.client('iam', region_name='us-east-1')
# Listar usuários IAM
users = iam.list_users()
for user in users['Users']:
print(f"Usuário: {user['UserName']} | Criado: {user['CreateDate']}")
# Listar policies gerenciadas pela AWS
policies = iam.list_policies(Scope='AWS', MaxItems=10)
for policy in policies['Policies']:
print(f"Policy: {policy['PolicyName']} | ARN: {policy['Arn']}")
# Listar roles
roles = iam.list_roles()
for role in roles['Roles']:
print(f"Role: {role['RoleName']} | Criada: {role['CreateDate']}")
# Simular uma policy (testar se ação seria permitida)
# iam.simulate_principal_policy(
# PolicySourceArn='arn:aws:iam::123456789012:user/hugo-dev',
# ActionNames=['s3:DeleteBucket']
# )
Qual das seguintes é responsabilidade da AWS sob o Shared Responsibility Model?
A) Configurar Security Groups no EC2
B) Gerenciar usuários e permissões no IAM
C) Segurança física dos data centers
D) Criptografar dados armazenados no S3
✅ **Resposta correta: C** — A segurança física dos data centers (hardware, rede, energia, acesso físico) é sempre responsabilidade da AWS. As outras opções são responsabilidades do cliente.
Uma empresa precisa dar acesso temporário a um serviço Lambda para ler dados de uma tabela DynamoDB. Qual recurso IAM deve ser usado?
A) IAM User com senha
B) IAM Group
C) IAM Role
D) Root User
✅ **Resposta correta: C** — IAM Roles são feitos para delegar permissões a **serviços AWS** (Lambda, EC2, etc.) de forma temporária e segura. Não use IAM Users para serviços.
Qual política de segurança o IAM implementa por padrão?
A) Acesso total a todos os recursos até que seja explicitamente negado
B) Acesso negado a todos os recursos até que seja explicitamente permitido (princípio do menor privilégio)
C) Acesso somente leitura a todos os recursos
D) Acesso total durante 24h e depois bloqueio automático
✅ **Resposta correta: B** — IAM segue o princípio do menor privilégio: por padrão, **tudo é negado**. Você precisa criar policies que explicitamente concedam permissões.
SHARED RESPONSIBILITY MODEL:
AWS = Segurança DA nuvem (hardware, física, hypervisor, AZs)
VOCÊ = Segurança NA nuvem (dados, SO, config, IAM, firewall)
IAM:
Root User → 1 por conta, DONO TOTAL, use só pra billing
IAM User → Usuário individual, pro dia a dia
IAM Group → Grupo de usuários com permissões iguais
IAM Role → Permissão temporária pra serviços AWS
Policy → JSON que define Allow/Deny (Deny SEMPRE vence)
MFA → Segundo fator de autenticação (obrigatório!)
PRINCÍPIO DO MENOR PRIVILÉGIO:
Dê apenas as permissões necessárias — NADA MAIS.
REGRAS DE OURO:
1. NUNCA use Root User no dia a dia
2. SEMPRE ative MFA no Root e admins
3. Use IAM Roles para serviços (não Users)
4. Rotacione chaves de acesso regularmente
5. Delete usuários quando saírem da empresa
*Próxima aula: Compliance, Criptografia e Proteção (CloudTrail, GuardDuty, WAF, Shield, KMS)*