DEV Community

Rodrigo Fernandes
Rodrigo Fernandes

Posted on

Amazon Cognito

Anotações sobre o Amazon Cognito para ajudar na preparação das certificações AWS.

Até o momento as anotações são para as certificações abaixo:

Image description


Definição do fornecedor

O Amazon Cognito permite adicionar facilmente a autorização e autenticação do usuário aos seus aplicativos móveis e da web.


Image description


Image description


Anotações gerais

  • Autenticação e Autorização
  • Web and Mobile app
  • Federação de Identidade
  • Web Facebook, Google
  • MFA
  • Detecção de Bots

User Identity

Image description


User Pools

Documentação oficial

Anotações gerais

  • São usados ​​para Autenticação.
  • User Pools é um diretório de usuários usuários que fornecem opções de inscrição e entrada para os usuários do seu aplicativo.
  • Informações para configurar IdP:App client Id / App client Secret / List of Scopes
  • COGNITO_USER_POOLS autorizer - para integrar com API Gateway
  • Não tem CAPTCHA - Use Auth Chanllenge Lambda Trigger
  • São utilizados para autenticação.
  • Os usuários podem fazer login em aplicações Web ou móveis por meio do Amazon Cognito.
  • Os usuários também podem fazer login por meio de provedores de identidade social, como o Google, o Facebook, a Amazon ou a Apple, e por meio de provedores de identidade SAML.
  • Quer os usuários façam login diretamente ou por meio de terceiros, todos os membros do grupo de usuários têm um perfil de diretório que você pode acessar por meio de um Kit de desenvolvimento de software (SDK).
  • Serviços de cadastro e login.
  • Uma interface do usuário da web integrada e personalizável para login de usuários.
  • Gerenciamento de diretório de usuários e perfis de usuário.
  • Recursos de segurança como a autenticação multifator (MFA) verifica a existência de credenciais comprometidas, proteção de aquisição de conta e verificação de e-mail e telefone.
  • Fluxos de trabalho personalizados e migração de usuários por meio de triggers do AWS Lambda.

Exemplo de utilização
Após autenticar com êxito um usuário, o Amazon Cognito emite JSON Web Tokens (JWT) que você pode usar para proteger e autorizar o acesso às suas próprias APIs ou trocar por credenciais da AWS.

Image description

  1. Os usuários enviam solicitações de autenticação para os User Pool do Cognito.
  2. O User Pool do Cognito verifica a identidade do usuário ou envia a solicitação para Identity Providers, como Facebook, Google, Amazon ou autenticação SAML (com Microsoft AD).
  3. O token do User Pool do Cognito é enviado de volta ao usuário.
  4. A pessoa pode usar esse token para acessar suas APIs de back-end hospedadas em seus clusters do EC2 ou no API Gateway e Lambda.

Casos de uso

  • Crie páginas da Web de inscrição e login para seu aplicativo .
  • Acesse e gerencie os dados do usuário .
  • Rastreie o dispositivo, a localização e o endereço IP do usuário e adapte-se às solicitações de entrada de diferentes níveis de risco .
  • Use um fluxo de autenticação personalizado para seu aplicativo.

Identity Pools

Documentação oficial

Anotações gerais

  • São utilizados para Autorização.
  • Permitem que você conceda aos seus usuários acesso a outros serviços da AWS.
  • Fornecem credenciais temporárias da AWS para usuários que são convidados (não autenticados) e para usuários que foram autenticados e receberam um token.
  • É um repositório de dados de identidade de usuários específicos para sua conta.

Casos de uso

  • Dê a seus usuários acesso a recursos da AWS , como um bucket do Amazon Simple Storage Service (Amazon S3) ou uma tabela do Amazon DynamoDB.
  • Gere credenciais temporárias da AWS para usuários não autenticados .

Exemplo de utilização

Image description

  1. O aplicativo Web ou aplicativo móvel envia seu token de autenticação para Cognito Identity Pools. O token pode vir de um provedor de identidade válido, como Cognito User Pools, Amazon ou Facebook.
  2. O Cognito Identity Pool troca o token de autenticação do usuário por credenciais temporárias da AWS para acessar recursos como S3 ou DynamoDB. As credenciais da AWS são enviadas de volta ao usuário.
  3. As credenciais temporárias da AWS serão usadas para acessar os recursos da AWS.

Integrate a REST API with an Amazon Cognito user pool

Documentação oficial


Custom authentication challenge Lambda triggers

Documentação oficial

  • Pode ser utilizado para criar desafios durante o User Pool Operarions do Cognito

Image description


Federetion with User Pools

Image description


Web Identity Federation


Referências

Top comments (0)