Tipos de policy
Lição 10 · Módulo 3 — Modelo de avaliação
Nem toda policy é igual
Até agora vimos policies "anexadas a identidades". Mas existem 6 tipos de policy na AWS, cada uma com um propósito e um efeito distinto na avaliação. Conhecer todos é essencial para entender o fluxograma completo.
1. Identity-based policies
Anexadas a identidades (user, group, role). Dizem o que a identidade pode fazer. Podem ser:
- Managed policies (AWS-managed ou customer-managed) — reutilizáveis entre identidades.
- Inline policies — vivem "dentro" de uma identidade específica.
Efeito: concede permissões.
2. Resource-based policies
Anexadas a recursos (bucket S3, fila SQS, segredo do Secrets Manager, trust policy de role).
Dizem quem pode fazer o quê no recurso. Diferente das identity-based,
têm um campo Principal.
Exemplos: S3 bucket policy, Lambda resource policy, KMS key policy, trust policy de roles.
Efeito: concede permissões (inclusive cross-account).
3. Permissions boundaries
Aplicadas a uma identidade (user ou role). Definem o teto máximo de permissões — mesmo que a identity policy conceda mais, a boundary limita.
Boundaries não concedem. Só restringem. Usadas para delegar criação de roles sem dar admin total.
Efeito: reduz o efetivo ao que está em identity-policy ∩ boundary.
4. Service Control Policies (SCP)
Aplicadas em organizational units dentro do AWS Organizations. Definem o teto máximo de permissões para todas as identidades de todas as contas naquela OU — incluindo o root user.
Efeito: reduz o efetivo. Como boundary, SCPs não concedem.
5. Session policies
Passadas na hora de chamar sts:AssumeRole ou GetFederationToken,
via parâmetro --policy. Restringem a sessão específica, sem alterar
a role em si.
Exemplo: você tem uma role S3Admin, mas ao assumi-la para uma tarefa
pontual passa uma session policy que só permite GetObject em um bucket específico.
Efeito: reduz o efetivo a role-permissions ∩ session-policy.
6. Access Control Lists (ACL)
Legado. Existem no S3 (bucket/object ACLs) e não usam JSON. A AWS recomenda não usar ACLs novas — prefira bucket policies e IAM.
Em buckets modernos, ACLs estão desabilitadas por padrão (Bucket owner enforced).
Onde cada uma vive
| Tipo | Anexada a | Concede? | Restringe? |
|---|---|---|---|
| Identity-based | User, group, role | ✅ | — |
| Resource-based | Recurso (bucket, SQS…) | ✅ | — |
| Permissions boundary | User ou role | ❌ | ✅ |
| SCP | OU no Organizations | ❌ | ✅ |
| Session policy | Sessão STS | ❌ | ✅ |
| ACL | Bucket/objeto S3 (legado) | ✅ | — |
Teste rápido
Você quer que uma role nunca possa sair da região us-east-1, mesmo que um desenvolvedor anexe uma identity policy com Allow em outra região. Qual tipo usar?
Resumo
Identity + Resource concedem. Boundary + SCP + Session restringem. A permissão efetiva é a interseção de todos os limites com a união dos concessores. Próxima lição aprofunda essa intersecção no caso cross-account.
Referência Well-Architected
Esta lição dá base para as boas práticas de guardrails e least privilege do Well-Architected Framework, que dependem do uso correto de cada tipo de policy.
Referências
Terminou esta lição?
Seu progresso fica salvo apenas neste navegador.