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 tokens e AWS credenciais de acesso 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

Amazon Cognito user pool authentication flow with app, identity provider, and API/Database.

Crie um grupo de usuários quando quiser autenticar e autorizar usuários no seu aplicativo 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. Seu grupo de usuários pode ser um provedor independente de diretórios e OIDC identidades (IdP) e um provedor de serviços intermediário (SP) para fornecedores terceirizados de identidades de força de trabalho e clientes. Você pode fornecer login único (SSO) em seu aplicativo para as identidades da força de trabalho da sua organização na SAML versão 2.0 e OIDC IdPs com grupos de usuários. Você também pode fornecer SSO em seu aplicativo as identidades dos clientes da sua organização nas lojas públicas de identidade OAuth 2.0 Amazon, Google, Apple e Facebook. Para obter mais informações sobre gerenciamento de identidade e acesso do cliente (CIAM), consulte O que é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 JSON web autenticados (JWTs) diretamente para um aplicativo, servidor web ou umAPI.

Grupos de identidades

Diagram showing Amazon Cognito federated identities flow between app, identity pool, provider, and STS.

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 identidade 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 do seu aplicativo faz login por meio de um grupo de usuários e recebe OAuth 2.0 tokens.

  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-3 PCIDSS, ISO 27001 e é elegível. HIPAA BAA Você pode projetar sua segurança na nuvem no Amazon Cognito para ser compatível com SOC1 -3, ISO 27001 e HIPAA -, mas não. BAA 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 AWS SDK, an 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 são emitidos para seu aplicativo. Você pode padronizar seu aplicativo em um conjunto de JWTs enquanto o Amazon Cognito lida IdPs com as interações, 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 usa o padrão OpenID Connect (OIDC) JWTs para gerar 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 seu próprio front-end web que chame os API grupos de usuários do Amazon Cognito para autenticar, autorizar e gerenciar seus usuários.

  • Configure a autenticação multifator (MFA) para seus usuários. O Amazon Cognito oferece suporte a senha () TOTP e mensagem de uso único com base em tempo. SMS MFA

  • 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 a consumidores, IdPs como Facebook e Google, ou à força de trabalho, IdPs como Okta e 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.

  • Aceite um token de acesso API com os OIDC escopos que autorizam as chamadas de seus usuáriosAPI.

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

Recursos de grupos de usuários do Amazon Cognito
Atributo Descrição
OIDCIdP Emita tokens de ID para autenticar usuários
Servidor de autorização Emita tokens de acesso para autorizar o acesso do usuário a APIs
SAML2.0 SP Transforme SAML afirmações em tokens de ID e acesso
OIDCSP Transforme OIDC tokens em tokens de ID e acesso
OAuth2.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
APIsuporte para sua própria interface de usuário Crie, gerencie e autentique usuários por meio de API solicitações no Supported ¹ AWS SDKs
MFA Use SMS mensagens ou TOTPs o dispositivo do seu 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 IAM função 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 obter mais informações sobre grupos de usuários, consulte Conceitos básicos dos grupos de usuários e a referência de grupos API de usuários do Amazon Cognito.

Grupos de identidades

Um grupo de identidades é uma coleção de identificadores ou identidades exclusivos que você atribui aos seus usuários ou convidados e autoriza a receber credenciais temporárias. AWS Quando você apresenta a prova de autenticação para um grupo de identidades na forma de declarações confiáveis de um provedor de identidade social (IdPOIDC) SAML OAuth 2.0, OpenID Connect () ou 2.0, você associa seu usuário a uma identidade no grupo 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 grupos de identidade do Amazon Cognito, você tem duas maneiras de se integrar às IAM políticas do seu. Conta da AWS Você pode usar esses dois recursos juntos ou individualmente.

Controle de acesso com base em função

Quando seu usuário envia reivindicações para seu grupo de identidade, o Amazon Cognito escolhe a IAM função que ele solicita. Para personalizar as permissões da função de acordo com suas necessidades, você aplica IAM políticas a cada função. 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 da função para que ela IAM confie somente em seu grupo 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. Em seguida, você pode configurar suas políticas IAM baseadas em recursos para permitir ou negar acesso aos recursos com base nos IAM diretores que carregam as tags de sessão do seu grupo 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
SAML2.0 SP SAMLAfirmações do Exchange para credenciais de identidade na web de AWS STS
OIDCSP Troque OIDC tokens por credenciais de identidade na web de AWS STS
OAuth2.0 SP Troque OAuth tokens 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 na web de acesso limitado sem autenticação AWS STS
Controle de acesso com base em função Escolha uma IAM função 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 reivindicações em tags principais para sua sessão AWS STS temporária e use IAM políticas para filtrar o acesso a recursos com base nas tags principais

Para obter mais informações sobre grupos de identidades, consulte Introdução aos grupos de identidade do Amazon Cognito e a referência de grupos API de identidade do Amazon Cognito.

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

Atributo Descrição Grupos de usuários Grupos de identidades
OIDCIdP Emita tokens de OIDC ID para autenticar usuários do aplicativo
APIservidor de autorização 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 OAuth 2.0
IAMservidor de autorização de identidade na web Gere tokens que você pode trocar AWS STS por AWS credenciais temporárias
SAML2.0 SP e OIDC IdP Emita OIDC tokens personalizados com base em declarações de um SAML IdP 2.0
OIDCSP e OIDC IdP Emita OIDC tokens personalizados com base em declarações de um OIDC IdP
OAuth2.0 SP e OIDC IdP Emita OIDC tokens personalizados com base nos escopos de provedores sociais OAuth 2.0, como Apple e Google
SAML2.0 SP e corretor de credenciais Emita AWS credenciais temporárias com base em declarações de um IdP SAML 2.0
OIDCSP e corretor de credenciais Emitir AWS credenciais temporárias com base em declarações de um OIDC IdP
OAuth2.0 SP e corretor de credenciais Emita AWS credenciais temporárias com base nos escopos de provedores sociais 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 OIDC declarações de um grupo de usuários do Amazon Cognito
SP personalizado e corretor de credenciais Emitir AWS credenciais temporárias com base na autorização do desenvolvedor IAM
Serviço de front-end de autenticação Cadastre, gerencie e autentique usuários com a interface hospedada
APIsuporte para sua própria interface de autenticação Crie, gerencie e autentique usuários por meio de API solicitações no Supported ¹ AWS SDKs
MFA Use SMS mensagens ou TOTPs o dispositivo do seu 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 IAM função 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 web ACLs 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 na web de acesso limitado sem autenticação AWS STS
Controle de acesso com base em função Escolha uma IAM função 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 IAM políticas 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 obter 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 ver se o Amazon Cognito está disponível atualmente em algum Região da AWS, consulte AWS Serviços por região.

Para saber mais sobre endpoints API de serviço regionais, consulte AWS regiões e endpoints no. 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.