View a markdown version of this page

Multi-Region replicação para grupos de usuários - 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á.

Multi-Region replicação para grupos de usuários

Com a replicação multirregional (MRR), você pode criar um pool de usuários de réplica, além de fornecer recursos de continuidade de negócios e recuperação de desastres Região da AWS para sua infraestrutura de autenticação. Com o MRR, os usuários registrados podem continuar se autenticando com seus aplicativos mesmo quando você perde a conectividade com recursos em uma região, garantindo que seus aplicativos permaneçam disponíveis.

Quando você configura o MRR, o Amazon Cognito cria grupos de usuários separados com um ID de grupo de usuários compartilhado. Cada grupo de usuários de réplica hospeda serviços de autenticação para um diretório de usuários compartilhado. O grupo de usuários primário serve como fonte autorizada para configurações administrativas e operações de gravação no diretório de usuários, como redefinições de senha e inscrição de usuários. Os grupos de usuários secundários não conseguem criar usuários, herdar a maioria das configurações do grupo de usuários primário e, em um estado de failover, podem lidar com operações de autenticação, como login de usuário e geração de tokens.

Importante

Multi-Region a replicação não está disponível para todos os grupos de usuários no momento. Multi-Region a replicação requer a infraestrutura moderna do Amazon Cognito com recursos e escalabilidade aprimorados. Alguns grupos de usuários ainda estão em uma infraestrutura anterior e serão atualizados AWS para a nova infraestrutura, que desbloqueará esse recurso. No console do Amazon Cognito, grupos de usuários qualificados exibem opções de configuração de replicação multirregional e grupos inelegíveis exibem mensagens de exceção. Para obter mais informações, consulte O Amazon Cognito desbloqueia recursos avançados com infraestrutura de próxima geração no blog de segurança. AWS

Coisas que você deve saber sobre a replicação multirregional

  • Multi-Region a replicação tem custos adicionais separados e exige que seu grupo de usuários esteja no plano de recursos Essentials ou Plus. Você não pode ativar o MRR em grupos de usuários com o plano de recursos Lite.

  • Você deve configurar seu grupo de usuários com uma chave multirregional gerenciada pelo cliente AWS KMS antes de ativar a replicação. A chave deve estar disponível em todos os Regiões da AWS que têm réplicas de grupos de usuários. Para obter mais informações, consulte Criptografia de dados.

  • Seu grupo de usuários deve usar um emissor de OIDC multirregional para garantir a validação consistente do token em todas as regiões. Para obter mais informações, consulte Grupos de usuários do Amazon Cognito como emissor do OIDC.

  • Novos grupos de usuários secundários começam no INACTIVE estado. Revise e defina as configurações regionais antes de ativar o grupo de usuários para uso em produção.

  • As configurações regionais podem diferir entre as réplicas. Você pode definir as seguintes configurações de forma independente nas réplicas. Todas as outras configurações são definidas no grupo de usuários primário e sincronizadas automaticamente com o secundário.

    • Configuração de e-mail

    • Configuração de e-mail para notificações de proteção contra ameaças

    • Configuração de SMS

    • Acionadores Lambda

    • Tags

    • Configuração de exportação de log

    • AWS WAF ACLs da web

  • A replicação de dados entre regiões pode introduzir breves atrasos. O grupo de usuários primário sincroniza as configurações e as atualizações do diretório de usuários com o secundário, e esse processo acaba sendo consistente.

Limitações da replicação multirregional

  • Você não pode gerar novos usuários em grupos de usuários secundários, seja por inscrição ou por criação de administrador. Novos usuários federados só podem entrar em um grupo de usuários secundário no estado de failover se tiverem feito login anteriormente no grupo de usuários primário.

  • Os usuários não podem redefinir suas senhas nem modificar seus perfis em grupos de usuários secundários. Em um estado de failover, desative essas operações na interface do usuário e disponibilize-as depois que sua verificação de saúde restaurar o acesso ao grupo de usuários primário.

  • Você pode ter no máximo uma réplica secundária em uma região adicional por diretório de usuário. Qualquer grupo de usuários pode ter uma réplica secundária.

  • O TOTP MFA não é suportado em réplicas secundárias. Os usuários com TOTP MFA configurada devem se autenticar quando o grupo de usuários na região principal estiver atendendo às solicitações.

  • A contagem de tentativas de autenticação baseada em senha antes do bloqueio não está sincronizada entre as regiões. Cada réplica mantém sua própria contagem de tentativas de autenticação malsucedidas.

  • Você só pode configurar o failover automático de grupos de usuários de várias regiões com um domínio personalizado.

Configurando a replicação multirregional

Antes de habilitar a replicação multirregional, certifique-se de que seu grupo de usuários atenda aos pré-requisitos: plano de recursos Essentials ou Plus, chave KMS multirregional gerenciada pelo cliente e configuração multirregional do emissor OIDC.

Console de gerenciamento da AWS
Para configurar a replicação multirregional para um grupo de usuários
  1. Faça login no console do Amazon Cognito.

  2. Escolha User Pools (Grupos de usuários).

  3. Escolha um grupo de usuários existente na lista ou crie um novo grupo de usuários.

  4. Escolha a guia Configurações.

  5. No menu de navegação à esquerda, escolha Multi-Regionreplicação.

  6. Escolha Criar um grupo de usuários de réplica.

  7. Em Região, selecione Região da AWS onde você deseja criar o grupo de usuários da réplica.

  8. Revise o resumo da configuração e escolha Criar réplica.

  9. Depois que a réplica for criada, revise as configurações regionais na tabela de comparação. Defina qualquer configuração específica da região, como configuração de e-mail, configurações de SMS ou acionadores Lambda, conforme necessário para sua região de réplica.

  10. Para configurar uma verificação de saúde do Route 53 para seu domínio, navegue até o menu Serviços de domínio, edite ou adicione um domínio personalizado e configure uma ID de verificação de integridade do Route 53.

  11. Quando você estiver pronto para usar a réplica para tráfego de produção, altere o status da réplica de Inativo para Ativo.

API

Para criar um grupo de usuários de réplica, use a CreateUserPoolReplicaoperação. O exemplo a seguir cria uma réplica na us-west-2 região para um grupo de usuários primário emus-east-1.

{ "UserPoolId": "us-east-1_EXAMPLE", "RegionName": "us-west-2", "UserPoolTags": { "Environment": "Production", "Application": "MyApp" } }

A resposta inclui as informações da réplica:

{ "Replica": { "RegionName": "us-west-2", "UserPoolArn": "arn:aws:cognito-idp:us-west-2:111122223333:userpool/us-east-1_EXAMPLE", "Status": "PENDING_CREATE", "Role": "SECONDARY" } }

Você também deve configurar seu domínio para failover. Configure uma verificação de saúde no Route 53 e aplique-a ao seu domínio em uma UpdateUserPoolDomainsolicitação:

{ "CustomDomainConfig": { "CertificateArn": "arn:aws:acm:us-east-1:111122223333:certificate/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }, "Domain": "auth.example.com", "ManagedLoginVersion": 2, "Routing": { "Failover": { "SecondaryRegion": "us-west-2", "PrimaryRoute53HealthCheckId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" } }, "UserPoolId": "ca-central-1_EXAMPLE" }

Para ativar a réplica para uso em produção, use a UpdateUserPoolReplicaoperação:

{ "UserPoolId": "us-east-1_EXAMPLE", "RegionName": "us-west-2", "Status": "ACTIVE" }

A resposta confirma o status atualizado da réplica:

{ "Replica": { "RegionName": "us-west-2", "UserPoolArn": "arn:aws:cognito-idp:us-west-2:111122223333:userpool/us-east-1_EXAMPLE", "Status": "ACTIVE", "Role": "SECONDARY" } }

Failover em grupos de usuários multirregionais

O failover entre dois Regiões da AWS pode ocorrer para login gerenciado, login federado e uso direto da API com seu grupo de usuários. O login e a federação gerenciados exigem um domínio personalizado configurado com seu grupo de usuários principal. Você não pode configurar um domínio personalizado diferente com grupos de usuários de réplicas.

Failover para login gerenciado, federação e autorização de máquina a máquina

O failover está disponível quando seu grupo de usuários principal tem um domínio personalizado. Quando os dois grupos de usuários têm um domínio de prefixo, você pode testar manualmente as operações na réplica secundária acessando diretamente o domínio de prefixo secundário. Os domínios personalizados podem ser atendidos a partir da réplica principal ou adicional e da região.

Um domínio personalizado é necessário porque é o endpoint que atende aos recursos do OAuth 2.0, como os endpoints de autorização e token, e gerencia a resposta do IdP da federação terceirizada, incluindo OIDC, SAML e provedores sociais.

Para configurar o failover, configure uma verificação de saúde no Route 53. Você é responsável pelo que determina o estado dessa verificação de saúde. A verificação de saúde não está diretamente associada ao seu registro DNS CNAME do seu domínio personalizado. No entanto, é o indicador que determina se o tráfego para seu domínio personalizado é roteado para seu grupo de usuários principal ou de réplica.

O registro DNS do seu domínio personalizado pode usar o Route 53 ou qualquer provedor de DNS terceirizado. Certifique-se de ter um registro CNAME válido em seu provedor de DNS apontando para seu alias de destino, que é uma distribuição. CloudFront Você pode encontrar o destino do alias na página Domínio no console do Amazon Cognito.

Quando a verificação de saúde não está íntegra, o Amazon Cognito fornece páginas de login gerenciadas e operações de autenticação para o domínio personalizado a partir do grupo de usuários da réplica secundária. Quando a verificação de saúde entra em um estado íntegro, o Amazon Cognito começa a rotear o tráfego de volta para a réplica principal.

Cada grupo de usuários tem seu próprio domínio de prefixo, como esses Region-isolated. Você ainda pode chamar diretamente esses endpoints para lidar com a autenticação. No entanto, se a federação for configurada com terceiros IdPs, deverá haver duas configurações de aplicativo para cada endpoint de prefixo. Como melhor prática, use um domínio personalizado para garantir que o Amazon Cognito gerencie automaticamente o roteamento de e para o login gerenciado com base no status da verificação de saúde do Route 53.

Para atualizar a ID da verificação de saúde no console
  1. Navegue até seu grupo de usuários no console do Amazon Cognito.

  2. Escolha Domínio em Marca no menu.

  3. Na seção Domínio personalizado, escolha a opção de edição e selecione Editar failover multirregional.

  4. Ative a opção Ativar failover multirregional.

  5. Selecione sua ID de verificação de saúde do Route 53 nas verificações de saúde disponíveis.

  6. Escolha Salvar alterações.

Failover para APIs e SDKs do Amazon Cognito

Se você usa as APIs ou SDKs do Amazon Cognito, não há uso de um domínio personalizado e seu aplicativo é responsável por rotear o tráfego para o endpoint regional do serviço Amazon Cognito para lidar com a autenticação e outras chamadas de API.

Se você tiver apenas um front-end de aplicativo usando um cliente público, como um aplicativo de página única (SPA) ou aplicativo móvel, seu aplicativo precisa ser dinâmico para rotear as chamadas de API adequadamente. Considere um back-end de aplicativos sem servidor para ajudar a determinar em qual região a autenticação com o Amazon Cognito deve começar.

Se você tiver um aplicativo com um back-end, a lógica para determinar em qual grupo de usuários se autenticar pode ser determinada aqui.

Se você estiver usando tanto endpoints de login gerenciados quanto APIs, poderá usar a mesma verificação de integridade do Route 53 para ser o indicador do seu aplicativo para decidir em qual região as chamadas de API para o Amazon Cognito devem ocorrer.