Migrar os usuários para o Azure AD B2C

Migrar de outro provedor de identidade para o Azure Active Directory B2C (Azure AD B2C) também pode exigir a migração de contas de usuário existentes. Dois métodos de migração são discutidos aqui, pré-migração e migração contínua. Com qualquer abordagem, você precisa gravar um aplicativo ou script que usa a API do Microsoft Graph para criar contas de usuário no Azure AD B2C.

Assista a este vídeo para saber mais sobre as estratégias de migração do usuário do Azure AD B2C e as etapas a serem consideradas.

Observação

Antes de iniciar a migração, verifique se a cota não utilizada do locatário do Azure AD B2C pode acomodar todos os usuários que você espera migrar. Saiba como Obter o uso do locatário. Para aumentar o limite de cota do locatário, entre em contato com o Suporte da Microsoft.

Pré-migração

No fluxo de pré-migração, seu aplicativo de migração executa estas etapas para cada conta de usuário:

  1. Leia a conta de usuário do provedor de identidade antigo, incluindo suas credenciais atuais (nome de usuário e senha).
  2. Crie uma conta correspondente no diretório do Azure AD B2C com as credenciais atuais.

Use o fluxo de pré-migração em qualquer uma destas duas situações:

  • Você tem acesso às credenciais de texto não criptografado de um usuário (seu nome de usuário e senha).
  • As credenciais são criptografadas, mas é possível descriptografá-las.

Para obter informações sobre como criar contas de usuário de maneira programática, consulte Gerenciar contas de usuário do Azure AD B2C com o Microsoft Graph.

Migração contínua

Use o fluxo de migração contínua se as senhas de texto não criptografado no provedor de identidade antigo não estão acessíveis. Por exemplo, quando:

  • A senha é armazenada em um formato criptografado unidirecional, como com uma função de hash.
  • A senha é armazenada pelo provedor de identidade herdado de maneira que você não pode acessar. Por exemplo, quando o provedor de identidade valida credenciais chamando um serviço Web.

O fluxo de migração contínua ainda requer a pré-migração de contas de usuário, mas usa uma política personalizada para consultar uma API REST (que você cria) para definir a senha de cada usuário na primeira conexão.

Assim, o fluxo de migração contínuo consiste em duas fases: pré-migração e definir credenciais.

Fase 1: pré-migração

  1. O aplicativo de migração lê as contas de usuário do provedor de identidade antigo.
  2. O aplicativo de migração cria contas de usuário correspondentes no diretório do Azure AD B2C, mas define senhas aleatórias que você gera.

Fase 2: definir credenciais

Após a conclusão da pré-migração das contas, sua política personalizada e a API REST executarão o seguinte quando um usuário entrar:

  1. Ler a conta de usuário do Azure AD B2C correspondente ao endereço de email inserido.
  2. Verificar se a conta está sinalizada para migração, avaliando um atributo de extensão booleano.
    • Se o atributo de extensão retornar True, chame sua API REST para validar a senha em relação ao provedor de identidade herdado.
      • Se a API REST determinar que a senha está incorreta, retorne um erro amigável ao usuário.
      • Se a API REST determinar que a senha está correta, grave a senha na conta do Azure AD B2C e altere o atributo de extensão booleano para False.
    • Se o atributo de extensão booleano retornar False, continue o processo de entrada normalmente.

Para ver um exemplo de política personalizada e API REST, consulte a amostra de migração de usuário contínua no GitHub.

Diagrama de fluxograma da abordagem de migração contínua para a migração do usuário

Segurança

A abordagem de migração contínua usa sua própria API REST personalizada para validar as credenciais de um usuário no provedor de identidade herdado.

Você deve proteger sua API REST contra ataques de força bruta. Um invasor pode enviar várias senhas na esperança de eventualmente adivinhar as credenciais de um usuário. Para ajudar a anular esses ataques, pare de atender solicitações à sua API REST quando o número de tentativas de entrada ultrapassa um certo limite. Além disso, proteja a comunicação entre o Azure AD B2C e sua API REST. Para saber como proteger suas APIs RESTful para produção, confira Proteger API RESTful.

Atributos de usuário

Nem todas as informações no provedor de identidade herdado devem ser migradas para seu diretório do Azure AD B2C. Identifique o conjunto apropriado de atributos de usuário para armazenar no Azure AD B2C antes de migrar.

  • ARMAZENAR no Azure AD B2C:
    • Nome de usuário, senha, endereços de email, números de telefone, números de associação/identificadores.
    • Marcadores de consentimento para política de privacidade e contratos de licença do usuário final.
  • NÃO ARMAZENAR no Azure AD B2C:
    • Dados confidenciais, como números de cartão de crédito, números de seguro social (SSN), registros médicos ou outros dados regulamentados por órgãos de conformidade governamentais ou do setor.
    • Preferências de marketing ou comunicação, comportamentos do usuário e insights.

Limpeza de diretório

Antes de iniciar o processo de migração, aproveite a oportunidade para limpar seu diretório.

  • Identifique o conjunto de atributos de usuário a serem armazenados no Azure AD B2C e migre apenas o que você precisa. Se necessário, você pode criar atributos personalizados para armazenar mais dados sobre um usuário.
  • Se você estiver migrando de um ambiente com várias fontes de autenticação (por exemplo, cada aplicativo tem seu próprio diretório de usuário), migre para uma conta unificada no Azure AD B2C.
  • Se vários aplicativos têm nomes de usuário diferentes, você pode armazenar todos eles em uma conta de usuário do Azure AD B2C usando a coleção de identidades. Quanto à senha, permita que o usuário escolha e defina uma no diretório. Por exemplo, com a migração contínua, somente a senha escolhida deve ser armazenada na conta do Azure AD B2C.
  • Remova as contas de usuário não usadas ou não migre contas obsoletas.

Política de senha

Se as contas que você está migrando usam um nível de segurança de senha mais fraco do que o nível de segurança de senha forte imposto pelo Azure AD B2C, você poderá desabilitar o requisito de senha forte. Para obter mais informações, consulte propriedade de Política de senha.

Próximas etapas

O repositório azure-ad-b2c/user-migration no GitHub contém um exemplo de política personalizada de migração contínua e uma amostra de código da API REST:

Amostra de código da API REST e política personalizada de migração de usuário contínua