Como configurar um Application Load Balancer para autenticar usuários por meio de um grupo de usuários do Amazon Cognito?

7 minuto de leitura
0

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:

  1. Crie um Application Load Balancer.
  2. Obtenha o nome DNS do seu Application Load Balancer.
  3. Crie e configure um grupo de usuários do Amazon Cognito.
  4. Configure o Application Load Balancer.
  5. 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:

  1. Crie um Application Load Balancer voltado para a internet.
  2. 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:

  1. Abra o console do Amazon Elastic Compute Cloud (Amazon EC2).
  2. No painel de navegação, em Balanceamento de carga, escolha Balanceadores de carga.
  3. Selecione seu Application Load Balancer.
  4. 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:

  1. 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.
  2. Abra o console do Amazon Cognito.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. Na seção Interface de usuário hospedada, escolha Editar.
  8. 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.
  9. 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/.
  10. Para Provedores de identidade, marque a caixa de seleção Grupo de usuários do Cognito.
  11. 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.
  12. 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.
  13. 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:

  1. Abra o console do Amazon EC2.
  2. No painel de navegação, em Balanceamento de carga, escolha Balanceadores de carga.
  3. Selecione seu Application Load Balancer.
  4. Na guia Receptores e regras, selecione o protocolo HTTPS, escolha Gerenciar regras e, em seguida, escolha Editar regras.
  5. Na seção Regras de receptores, selecione a regra padrão que você deseja atualizar, depois escolha Ação e Editar regras.
  6. 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.
  7. 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.
  8. 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.
  9. 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

Regras de receptor para seu Application Load Balancer

Fluxo de autenticação IdP do grupo de usuários do OIDC

AWS OFICIAL
AWS OFICIALAtualizada há 2 meses