Como configurar um Application Load Balancer para autenticar usuários por meio de um grupo de usuários do Amazon Cognito?
Quero integrar um Application Load Balancer a um grupo de usuários do Amazon Cognito para autenticação de usuários.
Breve descrição
Para gerenciar e autenticar usuários, você pode integrar um Application Load Balancer a um grupo de usuários do Amazon Cognito. Para configurar a autenticação do usuário com um Application Load Balancer e um grupo de usuários do Amazon Cognito, conclua as seguintes etapas:
- Crie um Application Load Balancer.
- Obtenha o nome DNS do seu Application Load Balancer.
- Crie e configure um grupo de usuários do Amazon Cognito.
- Configure o Application Load Balancer.
- Teste a configuração.
Resolução
Crie um Application Load Balancer
Observação: Se você já configurou um Application Load Balancer, vá para a próxima seção.
Para criar um Application Load Balancer, conclua as seguintes etapas:
- Crie um Application Load Balancer voltado para a internet.
- Crie um receptor HTTPS para seu Application Load Balancer.
Observação: Somente receptores HTTPS oferecem suporte aos tipos de ação das regras authenticate-cognito e authenticate-oidc.
Obtenha o nome DNS do seu Application Load Balancer
Para obter o nome DNS do seu Application Load Balancer, conclua as seguintes etapas:
- Abra o console do Amazon Elastic Compute Cloud (Amazon EC2).
- No painel de navegação, em Balanceamento de carga, escolha Balanceadores de carga.
- Selecione seu Application Load Balancer.
- Na guia Detalhes, copie e salve o nome DNS do seu balanceador de carga. Use esse nome DNS para testar o acesso ao URL do seu endpoint do Application Load Balancer.
Crie e configure um grupo de usuários do Amazon Cognito
Para criar e configurar um grupo de usuários do Amazon Cognito, conclua as seguintes etapas:
- Crie um grupo de usuários do Amazon Cognito com um cliente de aplicação. Ao configurar o cliente de aplicação, selecione o botão de opção Gerar um segredo do cliente. Para obter mais informações, consulte Preparar-se para usar o Amazon Cognito.
Observação: Ao criar o grupo de usuários, defina as configurações desejadas para produção. Depois de criar o grupo de usuários, você não pode alterar algumas configurações do grupo de usuários. Por exemplo, você não pode alterar os atributos padrão necessários para o registro do usuário. - Abra o console do Amazon Cognito.
- No painel de navegação, escolha Grupos de usuários e selecione seu grupo de usuários. Copie e salve a ID do grupo de usuários. Use essa ID para configurar seu Application Load Balancer para autenticação de usuários.
- Escolha a guia Integração de aplicação para seu grupo de usuários e, em seguida, adicione um domínio para seu grupo de usuários.
- Na guia Integração de aplicação do seu grupo de usuários, navegue até a seção Clientes e análises de aplicação. Em seguida, selecione seu cliente de aplicação.
- Na página do cliente de aplicação, em Informações do cliente de aplicação, copie e salve a ID do cliente. Use essa ID para configurar seu Application Load Balancer para autenticação de usuários.
- Na seção Interface de usuário hospedada, escolha Editar.
- Escolha Adicionar URL de retorno de chamada e, em seguida, digite https://load-balancer-dns-name/oauth2/idpresponse.
-or-
Se você usou um registro CNAME para mapear um domínio personalizado para seu Application Load Balancer, digite https://CNAME/oauth2/idpresponse e enter.
Observação: Substitua load-balancer-dns-name pelo nome DNS que você copiou do console do Amazon EC2. Não pode haver letras maiúsculas no nome DNS. Se estiver usando um registro CNAME, substitua o CNAME pelo seu domínio personalizado. - Escolha Adicionar URL de saída e, em seguida, insira uma URL para a qual você deseja redirecionar seus usuários depois que eles saírem. Para testar o redirecionamento, você pode inserir qualquer URL válida, como https://exemplo.com/.
- Para Provedores de identidade, marque a caixa de seleção Grupo de usuários do Cognito.
- Em Tipos de concessão do OAuth 2.0, marque a caixa de seleção Concessão do código de autorização. Selecione qualquer tipo adicional de concessão do OAuth que você precise para seu caso de uso.
- Em Escopos do OpenID Connect, marque a caixa de seleção OpenID. O escopo OpenID retorna um token de ID. Selecione qualquer escopo adicional do OpenID Connect (OIDC) que você precise para seu caso de uso.
- Escolha Salvar alterações.
Para obter mais informações, consulte Atualizar a configuração do grupo de usuários e do cliente de aplicação e Adicionar login ao grupo de usuários por meio de terceiros.
Configure seu Application Load Balancer
Para configurar seu Application Load Balancer, conclua as seguintes etapas:
- Abra o console do Amazon EC2.
- No painel de navegação, em Balanceamento de carga, escolha Balanceadores de carga.
- Selecione seu Application Load Balancer.
- Na guia Receptores e regras, selecione o protocolo HTTPS, escolha Gerenciar regras e, em seguida, escolha Editar regras.
- Na seção Regras de receptores, selecione a regra padrão que você deseja atualizar, depois escolha Ação e Editar regras.
- Edite a regra padrão do receptor HTTPS com as seguintes configurações:
Para Autenticação, selecione Usar OpenID ou Amazon Cognito.
Para Provedor de identidade, escolha Amazon Cognito.
Para o Grupo de usuários, selecione a ID do grupo de usuários que você obteve do console do Amazon Cognito.
Para o Cliente de aplicação, selecione a ID do cliente que você obteve do console do Amazon Cognito.
Expanda as Configurações avançadas de autenticação.
Nomeie o Cookie da sessão.
Defina o Tempo limite da sessão. O valor padrão é 7 dias.
Para Escopo, insira os escopos que você configurou para o cliente de aplicação do seu grupo de usuários, separados por espaços. Você pode encontrar os escopos em sua configuração OIDC do grupo de usuários. Por exemplo, se o valor de scopes_supported na configuração for ["openid","email","phone","profile"], insira openid email phone profile.
Para Ação em solicitação não autenticada, deixe-a como o valor padrão.
(Opcional) Expanda Parâmetros de solicitação adicionais — opcional. Essa opção permite que você passe parâmetros extras para um provedor de identidade, como o Cognito, durante a autenticação. Por exemplo, se o grupo de usuários do Cognito tiver o Google como seu próprio provedor de identidade, você poderá adicionar um parâmetro extra {Key: identity_provider, Value: Google}. Esse parâmetro permite que você ignore a interface de usuário hospedada do Cognito e acesse diretamente a página de login do Google. Para obter mais informações sobre os parâmetros /oauth2/authorize permitidos, consulte Autorizar endpoint. - Continue editando a regra padrão do receptor HTTPS com as seguintes configurações:
Para Ações de roteamento, escolha Encaminhar para o grupo de destino e, em seguida, escolha um ou mais grupos de destino.
(Opcional) Para Aderência ao grupo de destino, escolha Ativar a aderência ao grupo de destino quando seu caso de uso exigir. - Defina as Configurações do receptor seguro.
Em Política de segurança, escolha a política de segurança apropriada para seu caso de uso.
Em Certificado de servidor SSL/TLS padrão, escolha sua fonte de certificado. - Para aplicar as atualizações à regra padrão do receptor HTTPS, escolha Salvar alterações.
Teste a configuração
Em seu navegador, insira uma das seguintes URLs:
- https://load-balancer-dns-name/
- https://CNAME/
Observação: Substitua load-balancer-dns-name pelo nome DNS que você copiou do console do Amazon EC2. Ou substitua o CNAME pelo domínio personalizado.
Ao inserir a URL, você será redirecionado para a interface do usuário web hospedada do Amazon Cognito para seu grupo de usuários. Depois que os usuários fazem login e o grupo de usuários os autentica, os usuários são redirecionados para o destino.
Informações relacionadas
Introdução aos Application Load Balancers
Simplifique o login com a autenticação integrada do Application Load Balancer
Conteúdo relevante
- AWS OFICIALAtualizada há 2 anos
- AWS OFICIALAtualizada há 24 dias
- AWS OFICIALAtualizada há 3 anos