O que é o Amazon Cognito? - Amazon Cognito

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

O que é o Amazon Cognito?

O Amazon Cognito é uma plataforma de identidade para aplicações web e aplicativos móveis. É um diretório de usuários, um servidor de autenticação e um serviço de autorização para credenciais da  AWS  e tokens de acesso do OAuth 2.0. Com o Amazon Cognito, você pode autenticar e autorizar usuários do diretório de usuários integrado, de seu diretório corporativo e de provedores de identidades de consumidores, como Google e Facebook.

Os dois componentes a seguir formam o Amazon Cognito. Eles operam de maneira independente ou em conjunto, com base nas necessidades de acesso dos usuários.

Grupos de usuários

Crie um grupo de usuários quando quiser autenticar e autorizar usuários em sua aplicação ou API. Os grupos de usuários são um diretório de usuários com criação, gerenciamento e autenticação de usuários por autoatendimento e orientados pelo administrador. O grupo de usuários pode ser um diretório independente e um provedor de identidades (IdP) OIDC e um provedor de serviços (SP) intermediário para provedores de terceiros de identidades de funcionários e clientes. Você pode fornecer login único (SSO) em seu aplicativo para as identidades da força de trabalho da sua organização no SAML 2.0 e no OIDC com grupos de usuários. IdPs Você também pode fornecer autenticação única (SSO) em sua aplicação para identidades de clientes da sua organização nas lojas públicas de identidades do OAuth 2.0 da Amazon, do Google, da Apple e do Facebook. Para obter mais informações sobre o gerenciamento de identidade e acesso de cliente (CIAM), consulte What is CIAM?.

Os grupos de usuários não exigem integração com um banco de identidades. Em um grupo de usuários, você pode emitir tokens web JSON (JWTs) autenticados diretamente para uma aplicação, um servidor web ou uma API.

Grupos de identidades

Configure um pool de identidade do Amazon Cognito quando quiser autorizar usuários autenticados ou anônimos a acessar seus recursos. AWS Um grupo de identidades emite AWS credenciais para que seu aplicativo forneça recursos aos usuários. Você pode autenticar usuários com um provedor de identidades confiável, como um grupo de usuários ou um serviço SAML 2.0. Ele também pode emitir credenciais para usuários convidados. Os grupos de identidades usam controle de acesso baseado em funções e atributos para gerenciar a autorização dos usuários para acessar seus recursos. AWS

Os bancos de identidades não exigem integração com um grupo de usuários. Um banco de identidades pode aceitar declarações autenticadas diretamente dos fornecedores de identidade de funcionários e consumidores.

Um grupo de usuários do Amazon Cognito e um banco de identidades usados juntos

No diagrama que inicia este tópico, você usa o Amazon Cognito para autenticar o usuário e, depois, conceder a ele acesso a um  AWS service (Serviço da AWS).

  1. O usuário da aplicação faz login por meio de um grupo de usuários e recebe tokens OAuth 2.0.

  2. Seu aplicativo troca um token de grupo de usuários com um grupo de identidades por AWS credenciais temporárias que você pode usar com AWS APIs e o AWS Command Line Interface ()AWS CLI.

  3. Seu aplicativo atribui a sessão de credenciais ao seu usuário e fornece acesso autorizado ao Amazon S3 e ao Serviços da AWS Amazon DynamoDB.

Para ter mais exemplos que usam bancos de identidades e grupos de usuários, consulte Cenários comuns do Amazon Cognito.

No Amazon Cognito, a obrigação de segurança da nuvem do modelo de responsabilidade compartilhada está em conformidade com SOC 1 a 3, PCI DSS e ISO 27001 e é elegível para HIPAA-BAA. Você pode projetar a segurança na nuvem no Amazon Cognito para estar em conformidade com SOC 1 a 3, ISO 27001 e HIPAA-BAA, mas não com PCI DSS. Para mais informações, consulte Serviços da AWS no escopo. Consulta também Considerações sobre dados regionais.

Recursos do Amazon Cognito

Grupos de usuários

Um grupo de usuários do Amazon Cognito é um diretório de usuários. Com um grupo de usuários, os usuários podem fazer login na aplicação web ou no aplicativo móvel por meio do Amazon Cognito ou federar por meio de um IdP de terceiros. Os usuários federados e locais têm um perfil de usuário no grupo de usuários.

Os usuários locais são aqueles que se inscreveram ou que você criou diretamente no grupo de usuários. Você pode gerenciar e personalizar esses perfis de usuário no AWS Management Console, em um AWS SDK ou no AWS Command Line Interface (AWS CLI).

Os grupos de usuários do Amazon Cognito aceitam tokens e afirmações de terceiros IdPs e coletam os atributos do usuário em um JWT que ele emite para seu aplicativo. Você pode padronizar seu aplicativo em um conjunto de JWTs enquanto o Amazon Cognito gerencia as interações com IdPs, mapeando suas reivindicações em um formato de token central.

Um grupo de usuários do Amazon Cognito pode ser um IdP independente. O Amazon Cognito utiliza o padrão OpenID Connect (OIDC) para gerar JWTs para autenticação e autorização. Quando você faz login de usuários locais, o grupo de usuários é oficial para esses usuários. Você tem acesso aos recursos a seguir ao autenticar usuários locais.

  • Implemente um front-end web próprio que chama a API de grupos de usuários do Amazon Cognito para autenticar, autorizar e gerenciar os usuários.

  • Configure a autenticação multifator (MFA) para os usuários. O Amazon Cognito aceita senha de uso único com marcação temporal (TOTP) e MFA de mensagens SMS.

  • Proteja-se contra o acesso de contas de usuários mal-intencionados que estão sob controle.

  • Crie seus próprios fluxos personalizados de autenticação em várias etapas.

  • Procure usuários em outro diretório e migre-os para o Amazon Cognito.

Um grupo de usuários do Amazon Cognito também pode desempenhar uma função dupla como provedor de serviços (SP) para o seu IdPs e um IdP para o seu aplicativo. Os grupos de usuários do Amazon Cognito podem se conectar ao consumidor, IdPs como o Facebook e o Google, ou à força de trabalho, IdPs como o Okta e o Active Directory Federation Services (ADFS).

Com os tokens OAuth 2.0 e OpenID Connect (OIDC) emitidos por um grupo de usuários do Amazon Cognito, você pode:

  • Aceitar um token de ID em sua aplicação que autentique um usuário e forneça as informações necessárias para configurar o perfil do usuário.

  • Aceitar um token de acesso em sua API com os escopos do OIDC que autorizam chamadas de API dos usuários.

  • Recupere AWS credenciais de um pool de identidade do Amazon Cognito.

Recursos de grupos de usuários do Amazon Cognito
Atributo Descrição
IdP OIDC Emita tokens de ID para autenticar usuários
Servidor de autorização Emita tokens de acesso para autorizar o acesso do usuário às APIs
SAML 2,0 COLHER DE CHÁ Transforme declarações SAML em tokens de ID e acesso
OIDC SP Transforme tokens OIDC em tokens de ID e acesso
OAuth 2.0 SP Transforme tokens de ID da Apple, Facebook, Amazon ou Google em seu próprio ID e tokens de acesso
Serviço de front-end de autenticação Cadastre, gerencie e autentique usuários com a interface hospedada
Suporte de API para sua própria interface Crie, gerencie e autentique usuários por meio de solicitações de API em SDKs suportados¹ AWS
MFA Use mensagens SMS, TOTPs ou o dispositivo do usuário como um fator de autenticação adicional¹
Monitoramento e resposta de segurança Proteja-se contra atividades maliciosas e senhas inseguras¹
Personalize fluxos de autenticação Crie seu próprio mecanismo de autenticação ou adicione etapas personalizadas aos fluxos existentes¹
Grupos Crie agrupamentos lógicos de usuários e uma hierarquia de declarações de função do IAM ao passar tokens para grupos de identidades
Personalize tokens de ID Personalize seus tokens de ID com reivindicações novas, modificadas e suprimidas
Personalize os atributos do usuário Atribua valores aos atributos do usuário e adicione seus próprios atributos personalizados

¹ O recurso está disponível somente para usuários locais.

Para mais informações sobre grupos de usuários, consulte Conceitos básicos dos grupos de usuários e a Referências da API de grupos de usuários do Amazon Cognito Sync.

Grupos de identidades

Um grupo de identidades é uma coleção de identificadores exclusivos, ou identidades, que você atribui aos seus usuários ou convidados e autoriza a receber credenciais temporárias. AWS Ao apresentar uma prova de autenticação em um banco de identidades em forma de declarações confiáveis de um provedor de identidades (IdP) social SAML 2.0, OpenID Connect (OIDC) ou OAuth 2.0, você associa o usuário a uma identidade no banco de identidades. O token que seu grupo de identidades cria para a identidade pode recuperar credenciais de sessão temporárias de AWS Security Token Service ()AWS STS.

Para complementar as identidades autenticadas, você também pode configurar um grupo de identidades para autorizar o acesso AWS sem a autenticação do IdP. Você pode oferecer sua própria prova de autenticação personalizada ou nenhuma autenticação. Você pode conceder AWS credenciais temporárias a qualquer usuário do aplicativo que as solicite, com identidades não autenticadas. Os bancos de identidades também aceitam declarações e emitem credenciais com base em seu próprio esquema personalizado, com identidades autenticadas pelo desenvolvedor.

Com os bancos de identidades do Amazon Cognito, você tem duas maneiras de se integrar às políticas do IAM em sua  Conta da AWS. Você pode usar esses dois recursos juntos ou individualmente.

Controle de acesso com base em função

Quando o usuário transmite declarações ao banco de identidades, o Amazon Cognito escolhe o perfil do IAM que ele solicita. Para personalizar as permissões do perfil de acordo com suas necessidades, aplique as políticas do IAM a cada perfil. Por exemplo, se o usuário demonstrar que está no departamento de marketing, ele receberá credenciais para um perfil com políticas adaptadas às necessidades de acesso do departamento de marketing. O Amazon Cognito pode solicitar um perfil padrão, um perfil baseado em regras que consultam as declarações do usuário ou um perfil baseado na associação do usuário a um grupo de usuários. Você também pode configurar a política de confiança do perfil para que o IAM confie somente em seu banco de identidades para gerar sessões temporárias.

Atributos para controle de acesso

Seu banco de identidades lê os atributos das declarações do usuário e os correlaciona às tags de entidade principal na sessão temporária do usuário. Depois, você pode configurar as políticas baseadas em recursos do IAM para permitir ou negar acesso a recursos com base em entidades principais do IAM que carregam as tags de sessão do banco de identidades. Por exemplo, se seu usuário demonstrar que está no departamento de marketing, marque AWS STS sua sessãoDepartment: marketing. Seu bucket do Amazon S3 permite operações de leitura com base em uma PrincipalTag condição aws: que exige um valor de marketing para a tag. Department

Recursos de bancos de identidades do Amazon Cognito
Atributo Descrição
Grupo de usuários do Amazon Cognito SP Troque um token de ID do seu grupo de usuários por credenciais de identidade da web de AWS STS
SAML 2,0 COLHER DE CHÁ Declarações SAML do Exchange para credenciais de identidade na web de AWS STS
OIDC SP Troque tokens OIDC por credenciais de identidade na web de AWS STS
OAuth 2.0 SP Troque tokens OAuth da Amazon, Facebook, Google, Apple e Twitter por credenciais de identidade na web de AWS STS
SP personalizado Com AWS credenciais, troque reivindicações em qualquer formato por credenciais de identidade na web de AWS STS
Acesso não autenticado Emita credenciais de identidade web de acesso limitado sem autenticação AWS STS
Controle de acesso com base em função Escolha uma função do IAM para seu usuário autenticado com base em suas reivindicações e configure suas funções para serem assumidas somente no contexto do seu grupo de identidades.
Controle de acesso baseado em atributos Converta declarações em tags principais para sua sessão AWS STS temporária e use políticas do IAM para filtrar o acesso a recursos com base nas tags principais

Para mais informações sobre grupos de identidades, consulte Introdução aos grupos de identidade do Amazon Cognito e a Referências da API de grupos de identidades do Amazon Cognito Sync.

Comparação entre grupos de usuários e bancos de identidades do Amazon Cognito

Atributo Descrição Grupos de usuários Grupos de identidades
IdP OIDC Emita tokens de ID OIDC para autenticar usuários do aplicativo
Servidor de autorização de API Emita tokens de acesso para autorizar o acesso do usuário a APIs, bancos de dados e outros recursos que aceitam escopos de autorização do OAuth 2.0
Servidor de autorização de identidade web IAM Gere tokens que você pode trocar AWS STS por AWS credenciais temporárias
SAML 2.0 SP e IdP OIDC Emita tokens OIDC personalizados com base em declarações de um IdP SAML 2.0
OIDC PS e OIDC IdP Emita tokens OIDC personalizados com base em declarações de um IdP do OIDC
OAuth 2.0 PS e OIDC IdP Emita tokens OIDC personalizados com base nos escopos dos provedores sociais do OAuth 2.0, como Apple e Google
SAML 2.0 SP e corretor de credenciais Emitir AWS credenciais temporárias com base em declarações de um IdP do SAML 2.0
OIDC SP e corretor de credenciais Emitir AWS credenciais temporárias com base em declarações de um IdP do OIDC
OAuth 2.0 SP e corretor de credenciais Emita AWS credenciais temporárias com base nos escopos dos provedores sociais do OAuth 2.0, como Apple e Google
Grupo de usuários e agente de credenciais do Amazon Cognito Emita AWS credenciais temporárias com base em declarações do OIDC de um grupo de usuários do Amazon Cognito
SP personalizado e corretor de credenciais Emita AWS credenciais temporárias com base na autorização do IAM do desenvolvedor
Serviço de front-end de autenticação Cadastre, gerencie e autentique usuários com a interface hospedada
Suporte de API para sua própria interface de autenticação Crie, gerencie e autentique usuários por meio de solicitações de API em SDKs suportados¹ AWS
MFA Use mensagens SMS, TOTPs ou o dispositivo do usuário como um fator de autenticação adicional¹
Monitoramento e resposta de segurança Proteja-se contra atividades maliciosas e senhas inseguras¹
Personalize fluxos de autenticação Crie seu próprio mecanismo de autenticação ou adicione etapas personalizadas aos fluxos existentes¹
Grupos Crie agrupamentos lógicos de usuários e uma hierarquia de declarações de função do IAM ao passar tokens para grupos de identidades
Personalize tokens de ID Personalize seus tokens de ID com reivindicações novas, modificadas e suprimidas
AWS WAF ACLs da web Monitore e controle as solicitações para seu ambiente de autenticação com AWS WAF
Personalize os atributos do usuário Atribua valores aos atributos do usuário e adicione seus próprios atributos personalizados
Acesso não autenticado Emita credenciais de identidade web de acesso limitado sem autenticação AWS STS
Controle de acesso com base em função Escolha uma função do IAM para seu usuário autenticado com base em suas reivindicações e configure suas funções para serem assumidas somente no contexto do seu grupo de identidades.
Controle de acesso baseado em atributos Transforme as declarações do usuário em tags principais para sua sessão AWS STS temporária e use as políticas do IAM para filtrar o acesso aos recursos com base nas tags principais

¹ O recurso está disponível somente para usuários locais.

Conceitos básicos do Amazon Cognito

Por exemplo, aplicativos de grupos de usuários, consulteConceitos básicos dos grupos de usuários.

Para obter uma introdução aos grupos de identidades, consulteIntrodução aos grupos de identidade do Amazon Cognito.

Para obter links para experiências de configuração guiada com grupos de usuários e grupos de identidades, consulteOpções de configuração guiada para o Amazon Cognito.

Para vídeos, artigos, documentação e mais exemplos de aplicativos, consulte os recursos para desenvolvedores do Amazon Cognito.

Para usar o Amazon Cognito, você precisa de uma Conta da AWS. Para ter mais informações, consulte Começando com AWS.

Disponibilidade regional

O Amazon Cognito está disponível em várias AWS regiões em todo o mundo. Em cada região, o Amazon Cognito é distribuído em várias zonas de disponibilidade. Essas zonas de disponibilidade são fisicamente isoladas umas das outras, mas são unidas por conexões de rede privadas, de baixa latência, de alta taxa de transferência e altamente redundantes. Essas zonas de disponibilidade permitem AWS fornecer serviços, incluindo o Amazon Cognito, com níveis muito altos de disponibilidade e redundância, além de minimizar a latência.

Para obter uma lista de todas as regiões onde o Amazon Cognito está disponível no momento, consulte Regiões e endpoints da AWS na Referência geral da Amazon Web Services. Para saber mais sobre quantas zonas de disponibilidade estão disponíveis em cada região, consulte Infraestrutura global da AWS.

Preços do Amazon Cognito

Para informações sobre preços do Amazon Cognito, consulte preços do Amazon Cognito.