Compartilhar via


Tutorial: configurar o Azure Active Directory B2C com o Datawiza para fornecer acesso híbrido seguro

Neste tutorial, saiba como integrar o Azure AD B2C (Azure Active Directory B2C) ao DAP (Datawiza Access Proxy), o que habilita o SSO (logon único) e o controle de acesso granular, ajudando o Azure AD B2C a proteger aplicativos herdados locais. Com esta solução, as empresas podem fazer a transição do legado para o Azure AD B2C sem reescrever os aplicativos.

Pré-requisitos

Para começar, você precisará de:

  • Uma assinatura do Microsoft Entra
  • Um locatário do Azure AD B2C vinculado à sua assinatura do Azure
  • O Docker, uma plataforma aberta para desenvolver, enviar e executar aplicativos, é necessário para executar o DAB
    • Seus aplicativos podem ser executados em plataformas, como máquina virtual e computador bare-metal
  • Um aplicativo local para fazer a transição de um sistema de identidade herdado, para o Azure AD B2C
    • Neste tutorial, o DAB é implantado no mesmo servidor do aplicativo
    • O aplicativo é executado no localhost: 3001 e o DAP transmite o tráfego por proxy para aplicativos via localhost: 9772
    • O tráfego do aplicativo chega ao DAB primeiro e, em seguida, é transmitido por proxy para o aplicativo

Descrição do cenário

A integração do Datawiza inclui os seguintes componentes:

  • Azure AD B2C: o servidor de autorização para verificar as credenciais do usuário
    • Os usuários autenticados acessam aplicativos locais usando uma conta local armazenada no diretório do Azure AD B2C
  • DAP (Datawiza Access Proxy): o serviço que passa a identidade para aplicativos por meio de cabeçalhos HTTP
  • DCMC (Console de Gerenciamento de Nuvem do Datawiza): um console de gerenciamento para DAB. A interface do usuário do DCMC e as APIs RESTful ajudam a gerenciar as configurações do DAB e as políticas de controle de acesso

O diagrama de arquitetura a seguir mostra a implementação.

Diagrama da arquitetura de uma integração do Azure AD B2C com o Datawiza para acesso a aplicativos híbridos.

  1. O usuário solicita acesso a um aplicativo local. Os proxies do DAB representam a solicitação para o aplicativo.
  2. O DAP verifica o estado da autenticação do usuário. Sem nenhum token de sessão ou um token inválido, o usuário vai para o Azure AD B2C para autenticação.
  3. O Azure AD B2C envia a solicitação do usuário para o ponto de extremidade especificado durante o registro do DAP no locatário do Azure AD B2C.
  4. O DAP avalia as políticas de acesso e calcula os valores de atributos nos cabeçalhos HTTP encaminhados para o aplicativo. O DAP pode chamar o IdP (provedor de identidade) para recuperar informações para definir os valores de cabeçalho. O DAP define os valores do cabeçalho e envia a solicitação para o aplicativo.
  5. O usuário é autenticado com acesso ao aplicativo.

Integração com o Datawiza

Para integrar seu aplicativo local herdado com o Azure AD B2C, entre em contato com a Datawiza.

Configurar o seu locatário do Azure AD B2C

Acesse o docs.datawiza.com para:

  1. Saiba como registrar seu aplicativo Web em um locatário do Azure AD B2C e configurar um fluxo de usuário de inscrição e entrada. Para obter mais informações, consulte Azure AD B2C.

  2. Configure um fluxo de usuário no portal do Azure.

Observação

Ao configurar o DAB no DCM, você precisa do nome do locatário, do nome do fluxo do usuário, da ID do cliente e do segredo do cliente posteriormente.

Criar um aplicativo no DCMC

  1. No DCMC, crie um aplicativo e gere um par de chaves de PROVISIONING_KEY e PROVISIONING_SECRET para esse aplicativo no DCMC. Consulte, Console de Gerenciamento de Nuvem do Datawiza.

  2. Configure o IdP com Azure AD B2C. Consulte, Parte I: configuração do Azure AD B2C.

    Captura de tela dos valores de configuração do IdP.

Executar o DAB com um aplicativo baseado em cabeçalho

Você pode usar o Docker ou o Kubernetes para executar o DAP. Use a imagem do Docker para que os usuários criem um aplicativo de exemplo baseado em cabeçalho.

Saiba mais: para configurar a integração do DAP e do SSO, confira Implantar o Datawiza Access Proxy ao seu aplicativo

Uma imagem docker-compose.yml file do Docker de exemplo é fornecida. Entre no registro de contêiner para baixar as imagens do DAP e do aplicativo baseado em cabeçalho.

  1. Implantar o proxy de acesso ao Datawiza com seu aplicativo.

    version: '3'
    
    services:
    datawiza-access-broker:
    image: registry.gitlab.com/datawiza/access-broker
    container_name: datawiza-access-broker
    restart: always
    ports:
      - "9772:9772"
    environment:
      PROVISIONING_KEY: #############################
      PROVISIONING_SECRET: #############################
    
    header-based-app:
    image: registry.gitlab.com/datawiza/header-based-app
    container_name: ab-demo-header-app
    restart: always
    environment:
      CONNECTOR: B2C
    ports:
      - "3001:3001"
    
  2. O aplicativo baseado em cabeçalho tem o SSO habilitado com Azure AD B2C.

  3. Abra um navegador e insira http://localhost:9772/.

  4. Uma página de entrada do Azure AD B2C é exibida.

Passar atributos de usuário para o aplicativo baseado em cabeçalho

O DAB obtém atributos de usuário do IdP e os passa para o aplicativo com cabeçalho ou cookie. Depois de configurar atributos de usuário, o sinal de verificação verde será exibido para atributos de usuário.

Captura de tela dos atributos do usuário passados.

Saiba mais sobre: Passar Atributos de Usuário, como endereço de email, nome e sobrenome, para o aplicativo baseado em cabeçalho.

Testar o fluxo

  1. Navegue até a URL do aplicativo local.
  2. O DAP redireciona para a página que você configurou no seu fluxo de usuário.
  3. Na lista, escolha o IdP.
  4. Na solicitação, insira suas credenciais. Se necessário, inclua um token de autenticação multifator do Microsoft Entra.
  5. Você é redirecionado ao Azure AD B2C, que encaminha a solicitação do aplicativo para o URI de redirecionamento do DAP.
  6. O DAB avalia as políticas, calcula os cabeçalhos e envia o usuário para o aplicativo upstream.
  7. O aplicativo solicitado é exibido.

Próximas etapas