AWS SAA-C03/02 - IAM e Segurança2 min
Políticas de Identidade vs Recurso
Responda com suas palavras antes de ler o resto da nota.
- Que problema isso resolve?
- Quando usar / quando NÃO usar?
- Qual o principal trade-off (custo, latência, operação)?
- Que sinal no enunciado aponta pra isso?
- Com o que isso é confundido na prova?
Conceito
Duas perguntas diferentes sobre a mesma permissão.
| Política de Identidade | Política de Recurso | |
|---|---|---|
| Anexada a | User, Group, Role | Bucket S3, fila SQS, tópico SNS, chave KMS, função Lambda |
| Responde | "O que esta identidade pode fazer?" | "Quem pode mexer neste recurso?" |
Campo Principal |
Não existe | Obrigatório |
| Cross-account | Precisa de AssumeRole |
Concede direto ao principal da outra conta |
Quais serviços têm política de recurso
S3 (bucket policy), SQS, SNS, KMS (key policy), Lambda, API Gateway, Secrets Manager, ECR, EFS, Glacier, CloudWatch Logs, Backup Vault, VPC Endpoint.
Serviços como EC2 e DynamoDB não têm — o acesso é controlado só por política de identidade.
A regra do cross-account
- Mesma conta: basta
Allowem uma das duas políticas. - Contas diferentes: precisa
Allownas duas — na política de identidade da conta de origem e na política de recurso da conta destino.
A key policy do KMS é obrigatória e é a autoridade final. Uma política de identidade dando kms:Decrypt não funciona se a key policy não permitir. Se a questão diz "usuário tem permissão IAM mas não consegue descriptografar", a resposta é a key policy.
Trade-offs
Política de recurso centraliza a regra no objeto protegido — ótimo para auditar "quem acessa este bucket", ruim para auditar "o que este usuário acessa". Política de identidade é o inverso. Ambientes grandes acabam usando as duas, com o cuidado de não criar permissão fantasma.
Sinais de prova
- "Conceder acesso a um bucket para outra conta sem assumir role" → bucket policy com
Principal - "Usuário tem permissão IAM mas recebe AccessDenied no KMS" → key policy
- "Permitir que o S3 invoque minha Lambda" → resource policy da Lambda
- "Negar acesso ao bucket vindo de fora da VPC" → bucket policy com
Deny+aws:SourceVpce
Relacionado
Parte de 02 - MOC IAM e Segurança · Documentação AWS