O que é o Cognito?
O Amazon Cognito é o serviço de autenticação e autorização para aplicações web e mobile. Ele gerencia o cadastro, login, recuperação de senha e tokens de acesso dos usuários finais da sua aplicação — não dos funcionários da empresa (isso é IAM).
Palavra-chave no exame: "autenticar usuários de uma aplicação" → Cognito.
Dois componentes principais
| Componente | O que faz | Analogia |
|---|---|---|
| User Pool | Diretório de usuários. Gerencia cadastro, login, MFA, recuperação de senha. Retorna tokens JWT (ID, Access, Refresh). | O "banco de usuários" da sua app |
| Identity Pool | Troca tokens por credenciais AWS temporárias (via STS). Permite que usuários autenticados acessem S3, DynamoDB, etc. diretamente. | A "ponte" entre o usuário e os serviços AWS |
Fluxo típico de autenticação
- Usuário faz login no app → User Pool valida credenciais → retorna token JWT
- App usa o token para chamar uma API Gateway protegida
- Opcionalmente: token é trocado no Identity Pool por credenciais AWS temporárias
- Usuário acessa S3 ou DynamoDB diretamente com as credenciais temporárias
Recursos do User Pool
- Login social: Google, Facebook, Apple, Amazon (OAuth 2.0 / OIDC)
- Login corporativo: SAML 2.0 (Active Directory, Okta, Azure AD)
- MFA: SMS ou TOTP (Google Authenticator)
- Customização: tela de login com CSS próprio
- Lambda Triggers: executar código em eventos (pré-cadastro, pós-confirmação, etc.)
- Escala: suporta milhões de usuários
Cognito vs IAM
| Cognito | IAM | |
|---|---|---|
| Para quem | Usuários finais da aplicação (clientes) | Funcionários, desenvolvedores, serviços AWS |
| Escala | Milhões de usuários | Centenas/milhares de usuários internos |
| Login social | ✅ Google, Facebook, etc. | ❌ |
| Tokens | JWT (ID, Access, Refresh) | Access Key + Secret Key |
🎯 Pontos importantes para o exame CLF-C02
- Cognito = autenticação para usuários finais de aplicações (não para IAM users)
- User Pool = gerencia usuários, login, MFA, tokens JWT
- Identity Pool = troca tokens por credenciais AWS temporárias
- Suporta login com Google, Facebook, Apple (federação de identidade)
- Suporta SAML 2.0 para integração com Active Directory corporativo
- Escala para milhões de usuários sem gerenciar infraestrutura
- Diferença chave: Cognito para clientes da app; IAM para quem gerencia a AWS
