Grupos de usuários do Amazon Cognito - Amazon Cognito

Grupos de usuários do Amazon Cognito

Um grupo de usuários do Amazon Cognito é um diretório de usuários para autenticação e autorização de aplicativos móveis e aplicações web. Do ponto de vista da aplicação, um grupo de usuários do Amazon Cognito é um provedor de identidades (IdP) OpenID Connect (OIDC). Um grupo de usuários adiciona camadas de outros recursos para segurança, federação de identidades, integração de aplicações e personalização da experiência do usuário.

Você pode, por exemplo, verificar se as sessões dos usuários são de fontes confiáveis. É possível combinar o diretório do Amazon Cognito com um provedor de identidades externo. Com seu AWS SDK de preferência, você pode selecionar o modelo de autorização de API que funciona melhor para sua aplicação. E pode adicionar funções do AWS Lambda que modificam ou inspecionam o comportamento padrão do Amazon Cognito.


      Visão geral de autenticação

Recursos

Os grupos de usuários do Amazon Cognito têm os recursos a seguir.

Cadastrar-se

Os grupos de usuários do Amazon Cognito têm métodos orientados pelo usuário, orientados pelo administrador e programáticos para adicionar perfis de usuário ao grupo de usuários. Os grupos de usuários do Amazon Cognito são compatíveis com os modelos de inscrição a seguir. É possível usar qualquer combinação desses modelos em sua aplicação.

Importante

Se você ativar a inscrição de usuário no grupo de usuários, qualquer pessoa na internet poderá se inscrever em uma conta e entrar nas suas aplicações. Não habilite o autorregistro no grupo de usuários, a menos que queira abrir a aplicação para inscrição pública. Para alterar essa configuração, atualize Cadastro por autoatendimento na guia Experiência de cadastro do console do grupo de usuários ou atualize o valor de AllowAdminCreateUserOnly em uma solicitação de API CreateUserPool ou UpdateUserPool.

Para obter informações sobre os atributos de segurança que você pode configurar nos grupos de usuários, consulte Usar atributos de segurança de grupos de usuários do Amazon Cognito.

  1. Os usuários podem inserir informações em sua aplicação e criar um perfil de usuário nativo para seu grupo de usuários. Você pode chamar as operações de inscrição da API para registrar usuários em seu grupo de usuários. É possível abrir essas operações de inscrição para qualquer pessoa ou autorizá-las com um segredo do cliente ou credenciais da AWS.

  2. Você pode redirecionar os usuários para um IdP de terceiros que eles possam autorizar a transmitir as informações deles ao Amazon Cognito. O Amazon Cognito processa tokens de ID OIDC, dados de userInfo do OAuth 2.0 e declarações do SAML 2.0 em perfis de usuário em seu grupo de usuários. Você controla os atributos que deseja que o Amazon Cognito receba com base nas regras de mapeamento de atributos.

  3. É possível ignorar a inscrição pública ou federada e criar usuários com base em sua própria fonte de dados e esquema. Adicione usuários diretamente no console ou na API do Amazon Cognito. Importe usuários de um arquivo CSV. Execute uma função just-in-time do AWS Lambda que busque seu novo usuário em um diretório existente e preencha seu perfil de usuário com base nos dados existentes.

Depois que os usuários se inscreverem, você poderá adicioná-los aos grupos que o Amazon Cognito lista nos tokens de acesso e ID. Você também pode vincular grupos de usuários a perfis do IAM ao transmitir o token de ID para um banco de identidades.

Fazer login

O Amazon Cognito pode ser um diretório de usuários autônomo e um provedor de identidades (IdP) da aplicação. Os usuários podem fazer login com uma interface de usuário hospedada pelo Amazon Cognito ou com sua própria interface por meio da API de grupos de usuários do Amazon Cognito. O nível da aplicação por trás da interface do usuário personalizada de front-end pode autorizar solicitações no back-end com qualquer um dos vários métodos para confirmar solicitações legítimas.

Para fazer login de usuários com um diretório externo, opcionalmente combinado com o diretório de usuários incorporado ao Amazon Cognito, você pode adicionar as integrações a seguir.

  1. Faça login e importe dados do usuário do consumidor com o login social do OAuth 2.0. O Amazon Cognito aceita login com Google, Facebook, Amazon e Apple por meio do OAuth 2.0.

  2. Faça login e importe dados de usuários corporativos com o login SAML e OIDC. Também é possível configurar o Amazon Cognito para aceitar declarações de qualquer provedor de identidades (IdP) SAML ou OpenID Connect (OIDC).

  3. Vincule perfis de usuários externos a perfis de usuário nativos. Um usuário vinculado pode fazer login com uma identidade de usuário de terceiros e receber o acesso que você atribui a um usuário no diretório interno.

Autorização de máquina a máquina

Algumas sessões não são uma interação entre humanos e máquinas. Talvez você precise de uma conta de serviço que possa autorizar uma solicitação a uma API por meio de um processo automatizado. Para gerar tokens de acesso para autorização de máquina a máquina com escopos do OAuth 2.0, você pode adicionar um cliente de aplicação que gere concessões de credenciais de cliente.

Interface do usuário hospedada

Quando você não quiser criar uma interface do usuário, poderá apresentar aos usuários uma interface personalizada hospedada pelo Amazon Cognito. A interface do usuário hospedada é um conjunto de páginas da web para inscrição, login, autenticação multifator (MFA) e redefinição de senha. Você pode adicionar a interface do usuário hospedada ao domínio existente ou usar um identificador de prefixo em um subdomínio da AWS.

Segurança

Os usuários locais podem fornecer um fator de autenticação adicional com um código de uma mensagem SMS ou uma aplicação que gere códigos de autenticação multifator (MFA). Você pode criar mecanismos para configurar e processar a MFA em sua aplicação ou deixar que a interface do usuário hospedada a gerencie. Os grupos de usuários do Amazon Cognito podem ignorar a MFA quando os usuários fazem login em dispositivos confiáveis.

Se você não quiser exigir inicialmente a MFA dos usuários, poderá solicitá-la de maneira condicional. Com recursos avançados de segurança, o Amazon Cognito pode detectar possíveis atividades mal-intencionadas e exigir que seu usuário configure a MFA ou bloqueie o login.

Se o tráfego de rede para seu grupo de usuários possivelmente for mal-intencionado, você pode monitorá-lo e tomar medidas com ACLs AWS WAF da web.

Experiência personalizada do cliente

Na maioria dos estágios da inscrição, login ou atualização do perfil de um usuário, você pode personalizar como o Amazon Cognito lida com a solicitação. Com os acionadores do Lambda, você pode modificar um token de ID ou rejeitar uma solicitação de inscrição com base em condições personalizadas. É possível criar seu próprio fluxo de autenticação personalizado.

Você pode carregar o CSS e logotipos personalizados para dar à interface do usuário hospedada uma aparência familiar aos usuários.

Monitoramento e análise

Os grupos de usuários do Amazon Cognito registram em log solicitações de API, incluindo solicitações à interface do usuário hospedada, no AWS CloudTrail. Você pode analisar métricas de performance no Amazon CloudWatch Logs, enviar logs personalizados ao CloudWatch com acionadores do Lambda e monitorar o volume de solicitações de API no console do Service Quotas.

Também é possível registrar em log dados do dispositivo e da sessão das solicitações de API em uma campanha do Amazon Pinpoint. Com o Amazon Pinpoint, você pode enviar notificações push da aplicação com base em sua análise da atividade do usuário.

Integração de bancos de identidades do Amazon Cognito

A outra metade do Amazon Cognito são bancos de identidades. Os bancos de identidades fornecem credenciais que autorizam e monitoram solicitações de API de seus usuários para Serviços da AWS; por exemplo, Amazon DynamoDB ou Amazon S3. É possível criar políticas de acesso baseadas em identidade que protejam os dados com base em como você classifica os usuários em seu grupo de usuários. Os bancos de identidades também podem aceitar tokens e declarações do SAML 2.0 de vários provedores de identidades, independentemente da autenticação do grupo de usuários.