AWS SAA-C03/02 - IAM e Segurança2 min
Cognito e Federação de Identidade
Perguntas-guia
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
Cognito cuida da identidade de usuários finais do seu app (não de operadores da AWS). Ele tem duas peças que a prova adora confundir:
| User Pool | Identity Pool (Federated Identities) | |
|---|---|---|
| Função | Autenticação — login, cadastro, MFA, recuperação de senha | Autorização na AWS — troca token por credencial temporária |
| Devolve | JWT (token de identidade) | Credencial STS (access key temporária) |
| Integra com | Login social (Google, Apple, Facebook), SAML, OIDC | User Pool ou provedor externo |
| Use quando | "Preciso de um diretório de usuários pro app" | "O usuário do app precisa falar direto com S3/DynamoDB" |
O fluxo completo quando os dois aparecem juntos:
usuário → login no User Pool → JWT
→ troca JWT no Identity Pool → credencial STS temporária
→ chama S3/DynamoDB direto com essa credencial
Federação para acesso à própria AWS
Para funcionários acessando o console AWS, o caminho não é Cognito:
| Cenário | Solução |
|---|---|
| Active Directory / Okta / Entra ID → console AWS | IAM Identity Center (ex-AWS SSO) |
| SAML 2.0 corporativo, várias contas | IAM Identity Center ou federação SAML com IAM |
| Diretório AD gerenciado na AWS | AWS Directory Service (Managed Microsoft AD) |
| App móvel/web com login social | Cognito |
Trade-offs
Cognito remove o trabalho de construir autenticação (hash de senha, MFA, fluxo de recuperação) e amarra você à AWS. Identity Pool permite acesso direto do cliente ao S3/DynamoDB, o que elimina um backend intermediário — mas exige política IAM muito bem escrita, porque a credencial fica no dispositivo do usuário.
Sinais de prova
- "Milhões de usuários do app móvel fazendo login, com Facebook/Google" → Cognito User Pool
- "Usuário do app precisa fazer upload direto pro S3" → Identity Pool (credencial temporária)
- "Funcionários usando credencial corporativa no console AWS" → IAM Identity Center, não Cognito
- "Autenticar chamadas no API Gateway" → Cognito User Pool authorizer
- Criar um IAM User por usuário final do app → sempre errado (IAM não escala pra isso, limite de 5.000 users)
Relacionado
Parte de 02 - MOC IAM e Segurança · Documentação AWS