AWS Cognito: Gestão de utilizadores e autenticação
O AWS Cognito oferece uma solução fiável e escalável para a gestão de utilizadores e autenticação em aplicações web e móveis, sem ter de operar um back-end de identidade próprio. O serviço integra provedores de identidade externos e fornece tokens em conformidade com padrões para APIs. Além disso, permite a troca de tokens de identidade por credenciais temporárias da AWS para o acesso direto a serviços da AWS como S3 e DynamoDB.
Fundamentos do AWS Cognito
O AWS Cognito é composto por dois componentes centrais: User Pools e Identity Pools.
Pools de Utilizadores são um diretório de utilizadores e um OpenID-Connect-kompatibler Identity Provider. Eles autenticam utilizadores, emitem tokens de ID, de Acesso e de Atualização e integram provedores de identidade sociais ou empresariais via OIDC ou SAML.
Pools de Identidade (também chamados de Identidades Federadas) fornecem com base nessas identidades kurzlebige AWS-Credentials. Isso também é possível para convidados que ainda não estão autenticados.
A página de login gerida, anteriormente conhecida como Hosted UI e hoje designada por Managed Login, está pronta
standardkonforme OAuth-Endpunkte pronta, incluindo
/oauth2/authorize, /oauth2/token, /logout bem como a descoberta OIDC- OIDC Discovery- e JWKS-Ressourcen.
Para aplicações de página única (SPAs), o
Authorization-Code-Flow mit PKCE é de extrema importância, pois impede que códigos interceptados sejam usados indevidamente.
Os tokens emitidos são JSON Web Tokens (JWTs). Os tokens de Acesso transportam escopos e grupos para a autorização de API, enquanto os tokens de ID contêm informações de perfil. As assinaturas desses tokens podem ser verificadas contra a URL JWKS do respetivo pool.
Estado atual e funcionalidades
Os tempos de validade dos tokens podem ser definidos com precisão por cliente da aplicação. Tokens de Acesso e de ID podem ficar entre 5 Minuten und 1 Tag podem ser configurados. Tokens de atualização têm, por padrão, validade de 30 dias, que no entanto podem ser ajustados entre 60 Minuten und 10 Jahren ser ajustados.
As páginas de login geridas suportam PKCE standardmäßig. O Logout-Endpunkt encerra a sessão do navegador e redireciona para URLs de logout configuradas.

Quelle: aws.amazon.com
Visão geral das funções centrais do Amazon Cognito.
Para uma apresentação de marca personalizada e a utilização de domínios próprios, pode-se Custom Domain mit einem ACM-Zertifikat ser criada (é necessário um certificado em us-east-1). Depois disso, o login é efetuado através do subdomínio próprio.
As APIs podem ser protegidas diretamente no API Gateway com um JWT-Authorizer que o Cognito aceita como emissor OIDC, ou através de um autorizador próprio (Lambda).
Isso adaptive/risikobasierte Anmeldung („Threat Protection“) pode identificar tentativas de login suspeitas, impor autenticação multifator (MFA) ou bloquear acessos.
Para aplicações multi-tenant, a AWS documenta vários padrões, desde um Single-Pool-Ansatz bis hin zu einem Pool pro Tenant, incluindo isolamento através de grupos/roles e escopos.
A integração em aplicações Next.js é facilitada pelo Cognito-Provider von NextAuth facilitada. As sessões são geridas por meio de JWTs/cookies, e o Edge Middleware protege as rotas.
Contexto e Motivação
Aplicações modernas necessitam de uma camada de identidade central, que suporte padrões da indústria como OIDC/OAuth2/SAML apoiam padrões da indústria, abordam riscos com MFA e autenticação adaptativa e, ao mesmo tempo, permitem a integração de provedores de identidade próprios. Para SPAs, é PKCE unverzichtbar, uma vez que segredos de cliente não podem ser armazenados com segurança no navegador; o Cognito implementa PKCE na íntegra.
Do lado da API, o acesso direto JWT-Abgleich am API Gateway é atraente. Oferece baixa latência, uma separação clara entre autenticação (AuthN) e autorização (AuthZ) e evita uma ronda adicional ao armazenamento de utilizadores.
Conformidade e residência de dados são outros aspetos importantes. Os User Pools armazenam dados de perfil regionalmente. Funcionalidades opcionais como Pinpoint-Analytics podem enviar dados para outras regiões, o que é relevante para equipas da UE/CH e besondere Beachtung erfordert.
Quelle: YouTube
Este vídeo mostra o SAML-Föderation mit Cognito, que é útil para visualizar cenários baseados em IdP e o Single Logout.
Aplicação prática e recomendações
Quem desenvolver uma SPA ou app Next.js deve escolher o fluxo. Authorization Code Flow mit PKCE fluxo. Tokens devem ser armazenados no servidor em cookies httpOnly ou usar a mecânica de sessão do framework. A verificação de JWTs deve sempre ocorrer contra a JWKS-Endpunkt des Pools URL JWKS do respetivo pool.

Quelle: economize.cloud
Fluxo típico de autenticação com AWS Cognito.
As APIs devem verificar escopos e usar um JWT-Authorizer para dissociar autenticação e autorização e manter latência baixa.
Para aplicações multi-tenant, recomenda-se começar com um Single-Pool-Ansatz a iniciar, complementado por atributos de inquilino ou escopos. Em condições de isolamento rigorosas, pode ser considerado um pool por inquilino.
Na área de Operações, é recomendável, CloudTrail und CloudWatch-Metriken ativar, monitorizar quotas e padrões de login e, opcionalmente, o Threat Protection a usar.
No que diz respeito à conformidade, os fluxos de dados regionais (por exemplo, através de analytics) devem ser verificados e documentados para equipas da UE/CH, especialmente tendo em conta a regionalen Datenüberlegungen.
Quelle: YouTube
Este walkthrough ajuda a compreender o Authorization-Code-Flow mit PKCE fluxo ponta-a-ponta.
Questões em aberto e desafios
A definição do TTL dos tokens e da rotação deve ser ponderada com cuidado para encontrar um equilíbrio entre UX e nível de segurança, sem forçar as aplicações a atualizarem constantemente. A AWS recomenda usar tokens apenas por cerca de 75 Prozent ihrer Lebenszeit de usá-los e só depois renová-los.
A questão é quão longe a isolação por grupos/escopos é suficiente antes de ser necessário dividir o pool por razões organizacionais e de custo. A AWS descreve ambos os caminhos, mas os limites claros são anwendungsabhängig.

Quelle: aws.amazon.com
Integração do Cognito com provedores de identidade externos e serviços da AWS.
Quais dados podem, de acordo com as regras de conformidade aplicáveis, sair da região quando recursos opcionais como o Pinpoint estiverem ativos? Aqui estão os regionalen Hinweise pontos a verificar e a documentar opt-ins.
A consistência do Single Logout entre todos os IdPs conectados é outro desafio. Para SAML existem SLO-Unterstützung, no entanto, os detalhes de implementação variam consoante o IdP.
Conclusão: O AWS Cognito oferece um núcleo sólido de autenticação baseado em padrões, com pontos de extensão claros: login gerido com PKCE, verificação de JWT limpa e federação opcional para identidades sociais ou empresariais. Na prática, é crucial escolher o fluxo adequado para a aplicação, limitar deliberadamente os tokens e autorizar estritamente a camada de API por meio de escopos. Ao planear arquiteturas multi-tenant, devem ser tomadas decisões antecipadas sobre limites de isolamento e métricas operacionais. Os blocos já existem; a decisão de design cabe ao utilizador.