Conceitos básicos dos bancos de identidades do Amazon Cognito
Com os grupos de identidades do Amazon Cognito, você pode criar identidades exclusivas e atribuir permissões aos usuários. Seu banco de identidades pode trazer identidades dos seguintes tipos de serviços de autenticação:
-
Usuários em um grupo de usuários do Amazon Cognito
-
Usuários que realizam a autenticação por meio de provedores de identidades externos como Facebook, Google, Apple ou um provedor de identidades OIDC ou SAML
-
Usuários autenticados por meio de seu próprio processo de autenticação existente
Depois que os usuários se autenticam com seu provedor e apresentam autorização a um banco de identidades, eles recebem credenciais temporárias da AWS. As credenciais dos usuários têm permissões que você define para acessar outros Serviços da AWS.
Tópicos
Criar um grupo de identidades no Amazon Cognito
Você pode criar rapidamente um grupo de identidades pelo console do Amazon Cognito ou usar a AWS Command Line Interface (CLI) ou as APIs do Amazon Cognito. O procedimento a seguir é um guia geral para criar um banco de identidades no console. Você também pode ir direto para o console
Para criar um novo grupo de identidades no console
-
Faça login no console do Amazon Cognito
e selecione Bancos de identidades. -
Selecione Criar banco de identidades.
-
Em Configurar confiança do banco de identidades, opte por configurar seu banco de identidades para Acesso autenticado, Acesso de convidado ou ambos.
-
Se você selecionou Acesso autenticado, escolha um ou mais Tipos de identidade que você deseja definir como origem de identidades autenticadas no banco de identidades. Se você configurar um Provedor de desenvolvedor personalizado, não poderá modificá-lo nem o excluir depois de criar o banco de identidades.
-
-
Em Configurar permissões, selecione um perfil padrão do IAM para usuários autenticados ou convidados em seu banco de identidades.
-
Selecione Criar um perfil do IAM se quiser que o Amazon Cognito crie um perfil para você com permissões básicas e uma relação de confiança com seu banco de identidades. Insira um Nome de perfil do IAM para identificar seu novo perfil; por exemplo,
myidentitypool_authenticatedrole
. Selecione Visualizar documento de política para examinar as permissões que o Amazon Cognito atribuirá ao novo perfil do IAM. -
Você pode optar por Usar um perfil do IAM existente se já tiver um perfil em sua Conta da AWS que deseja usar. Você deve configurar sua política de confiança de perfis do IAM para incluir
cognito-identity.amazonaws.com
. Configure sua política de confiança de perfil para permitir que o Amazon Cognito assuma o perfil somente quando apresentar evidências de que a solicitação se originou de um usuário autenticado em seu banco de identidades específico. Para ter mais informações, consulte Permissões e confiança de função.
-
-
Em Conectar provedores de identidade, insira os detalhes dos provedores de identidades (IdPs) que você selecionou em Configurar a confiança do banco de identidades. Você receber a solicitação para fornecer informações do cliente da aplicação OAuth, selecionar um grupo de usuários do Amazon Cognito, escolher um IdP do IAM ou inserir um identificador personalizado para um provedor de desenvolvedor.
-
Selecione Configurações de perfil para cada IdP. Você pode atribuir aos usuários desse IdP o Perfil padrão que você configurou ao definir seu Perfil autenticado ou Escolher perfil com regras. Com um IdP de grupo de usuários do Amazon Cognito, você também pode Selecionar um perfil com preferred_role em tokens. Para ter mais informações sobre a declaração
cognito:preferred_role
, consulte Como atribuir valores de precedência a grupos.-
Se você escolheu Escolher perfil com regras, insira a Declaração de origem da autenticação do usuário, o Operador pelo qual você deseja comparar a declaração, o Valor que gerará uma correspondência com essa opção de perfil e o Perfil que você deseja atribuir quando houver correspondência com a Atribuição de perfil. Selecione Adicionar outra para criar uma regra adicional com base em uma condição diferente.
-
Selecione uma Resolução de perfil. Quando as declarações do usuário não correspondem às suas regras, você pode negar ou emitir credenciais para seu Perfil autenticado.
-
-
Configure Atributos para controle de acesso para cada IdP. Os atributos para controle de acesso correlacionam as declarações do usuário com as tags de entidade principal que o Amazon Cognito aplica à sua sessão temporária. Você pode criar políticas do IAM para filtrar o acesso do usuário com base nas tags aplicadas à sessão.
-
Para não aplicar nenhuma tag de entidade principal, selecione Inativo.
-
Para aplicar tags de entidade principal com base em declarações
sub
eaud
, selecione Usar mapeamentos padrão. -
Para criar seu próprio esquema personalizado de atributos para as tags de entidade principal, selecione Usar mapeamentos personalizados. Depois, insira a Chave de tag que você deseja obter de cada declaração e representar em uma tag.
-
-
-
Em Configurar propriedades, insira um Nome em Nome do banco de identidades.
-
Em Autenticação básica (clássica), escolha se você deseja Ativar fluxo básico. Com o fluxo básico ativo, você pode ignorar as seleções de perfis feitas para seus IdPs e chamar AssumeRoleWithWebIdentity diretamente. Para ter mais informações, consulte Fluxo de autenticação dos bancos de identidades.
-
Em Tags, selecione Adicionar tag se quiser aplicar tags ao banco de identidades.
-
Em Revisar e criar, confirme as seleções que você fez para o novo banco de identidades. Selecione Editar para retornar ao assistente e alterar as configurações. Quando terminar, selecione Criar banco de identidades.
Configurar um SDK
Para usar bancos de identidades do Amazon Cognito, configure o AWS Amplify, o AWS SDK for Java ou o AWS SDK for .NET. Para obter mais informações, consulte os tópicos a seguir.
-
Configurar o SDK para JavaScript no Guia do desenvolvedor do AWS SDK for JavaScript
-
Documentação do Amplify
no Amplify Dev Center -
Provedor de credenciais do Amazon Cognito no Guia do desenvolvedor do AWS SDK for .NET
Integrar os provedores de identidade
Os bancos de identidades (identidades federadas) do Amazon Cognito são compatíveis com a autenticação de usuários por meio de grupos de usuários do Amazon Cognito, provedores de identidades federadas, incluindo Amazon, Facebook, Google, Apple e provedores de identidades SAML, além de identidades não autenticadas. Esse recurso também é compatível com Identidades autenticadas pelo desenvolvedor, que permite registrar e autenticar os usuários por meio de seu próprio processo de autenticação de backend.
Para saber mais sobre como usar um grupo de usuários do Amazon Cognito para criar seu próprio diretório, consulte Grupos de usuários do Amazon Cognito e Como acessar os Serviços da AWS usando um banco de identidades após o login.
Para saber mais sobre como usar provedores de identidade externos, consulte Bancos de identidades: provedores de identidade de terceiros.
Para saber mais sobre a integração do seu próprio processo de autenticação de backend, consulte Identidades autenticadas pelo desenvolvedor.
Obter credenciais
Os grupos de identidade do Amazon Cognito 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. Com essas credenciais da AWS, a aplicação pode acessar de maneira segura um back-end na AWS ou fora da AWS por meio do Amazon API Gateway. Consulte Como obter credenciais.