Quero usar a autenticação do Amazon Cognito com meu Application Load Balancer por meio de um grupo de usuários do Amazon Cognito. No entanto, meu grupo de usuários está em outra conta da AWS.
Resolução
Na resolução a seguir, a Conta B é a conta proprietária do Application Load Balancer e a Conta A é a conta proprietária do grupo de usuários.
Crie um Application Load Balancer
Se você já tem um Application Load Balancer, vá para a próxima seção.
Se você não tiver um Application Load Balancer, crie um com um receptor HTTPS.
Observação: Somente receptores HTTPS oferecem suporte aos tipos de ação das regras authenticate-cognito e authenticate-oidc.
Obter o nome DNS do Application Load Balancer na Conta B
Na Conta B, conclua as etapas a seguir:
- Abra o console do Amazon Elastic Compute Cloud (Amazon EC2).
- No painel de navegação, selecione Balanceadores de carga.
- Selecione seu Application Load Balancer.
- Na guia Descrição, anote o nome DNS do balanceador de carga para usar em uma etapa posterior.
Criar e configurar um grupo de usuários na conta A
Se você já tiver um grupo de usuários na outra conta, vá para a próxima seção.
Se você não tiver um grupo de usuários, conclua as seguintes etapas na Conta A:
- Crie um grupo de usuários do Amazon Cognito com um cliente de aplicação.
Observação: ao criar um cliente de aplicação, você pode escolher uma das quatro opções: aplicativo web tradicional, aplicação de página única, aplicativo móvel e autenticação M2M. Se você escolher uma aplicativo web tradicional ou a autenticação M2M, um cliente de aplicação com um segredo de cliente será gerado.
- Abra o console do Amazon Cognito.
- Na seção Visão geral do grupo de usuários do seu grupo, anote o ID do grupo de usuários a ser usado em uma etapa posterior.
- Na guia Marca, escolha Domínio. Adicione um nome de domínio do Amazon Cognito para seu grupo de usuários. O nome de domínio é um prefixo de domínio exclusivo que a interface de usuário hospedada do Cognito exige.
- Em Aplicações, escolha Clientes de aplicação.
- Selecione o cliente de aplicação que você deseja atualizar.
- Na página Cliente de aplicação, conclua as seguintes etapas:
Ative Mostrar segredo do cliente.
Anote o ID do cliente de aplicação e o segredo do cliente de aplicação para usar em uma etapa posterior.
- Em IU hospedada, adicione os URLs de retorno de chamada https://load-balancer-dns-name/oauth2/idpresponse e https://custom-domain-name/oauth2/idpresponse.
- Selecione Concessão de código de autorização em tipos de concessão OAuth 2.0.
- Selecione openid para os escopos do OAuth 2.0.
- Escolha Salvar alterações.
Obtenha os detalhes de configuração OIDC do grupo de usuários
Para configurar seu grupo de usuários como um provedor de identidades (IdP) do OpenID Connect (OIDC) em seu Application Load Balancer, você deve obter os detalhes do endpoint de configuração do OIDC.
Para obter os detalhes da configuração, conclua as seguintes etapas:
- No navegador, insira o URL https://cognito-idp.region.amazonaws.com/userPoolId/.well-known/openid-configuration.
Observação: substitua region pela região da AWS do seu grupo de usuários, por exemplo, us-east-1, e userPoolId pelo ID do seu grupo de usuários.
- Na resposta JSON exibida em seu navegador, observe os valores dos seguintes campos:
authorization_endpoint
issuer
scopes_supported
token_endpoint
userinfo_endpoint
Configurar o Application Load Balancer na Conta B
Na Conta B, conclua as etapas a seguir:
- Abra o console do Amazon EC2.
- Selecione seu Application Load Balancer.
- Na guia Receptor e regras, selecione a regra HTTPS:443.
- Em Gerenciar regras, escolha Editar regra.
- Selecione as regras padrão.
- Em Ações, escolha Editar regra.
- Em Ação padrão, selecione Autenticar usuários.
Observação: o provedor de identidade OIDC é selecionado por padrão.
- Insira os valores que você anotou nos seguintes campos:
Em Emissor, insira o valor do emissor.
Em Endpoint de autorização, insira o valor de authorization_endpoint.
Em Endpoint do token, insira o valor de token_endpoint.
Em Endpoint de informações do usuário, insira o valor de userinfo_endpoint.
Em ID do cliente, insira o ID do cliente de aplicação.
Em Segredo do cliente, insira o segredo do cliente de aplicação.
- Selecione Salvar.
Teste a configuração
Conclua as etapas a seguir:
- Em seu navegador, insira o URL do seu Application Load Balancer.
- Verifique se você foi redirecionado para a interface de usuário hospedada do Cognito.
- Faça login com credenciais de usuário válidas.
Observação: para evitar erros, certifique-se de que todos os URLs usem caracteres minúsculos.
Informações relacionadas
Simplifique o logon com a autenticação integrada do Application Load Balancer
Autenticar usuários usando um Application Load Balancer
Regras de receptor para seu Application Load Balancer
Fluxo de autenticação IdP do grupo de usuários do OIDC