Compartilhar via


Tutorial: Habilitar o acesso híbrido seguro para aplicativos com o Azure Active Directory B2C e F5 BIG-IP

Saiba como integrar o Azure Active Directory B2C (Azure AD B2C) ao Gerenciador de Política de Acesso F5 BIG-IP (APM). Você pode expor aplicativos herdados com segurança à Internet através da segurança BIG-IP, com a pré-autenticação Azure AD B2C, Acesso Condicional (CA), e logon único (SSO). A F5 Inc. se concentra na entrega, segurança, desempenho e disponibilidade de serviços conectados, incluindo a disponibilidade de recursos de computação, armazenamento e rede. Ela fornece hardware, software modularizado e soluções de dispositivo virtual prontas para a nuvem.

Implante o Controlador de Entrega de Aplicativos BIG-IP da F5 (ADC) como um gateway seguro entre redes privadas e a Internet. Há recursos para inspeção no nível do aplicativo e controles de acesso personalizáveis. Se implantado como um proxy reverso, use o BIG-IP para permitir acesso híbrido seguro a aplicações comerciais, com uma camada de acesso de identidade federada gerenciada pelo APM.

Acesse os recursos e os white papers do f5.com para: Configurar com facilidade o acesso seguro a todos os seus aplicativos por meio da ID do Microsoft Entra

Pré-requisitos

Para começar, você precisa do seguinte:

Descrição do cenário

O cenário a seguir é baseado em cabeçalho, mas você pode usar esses métodos para obter o SSO do Kerberos.

Para esse cenário, acesso a um aplicativo interno depende do recebimento de cabeçalhos de autorização HTTP de um sistema de agente herdado. Os agentes de vendas podem ser direcionados para as respectivas áreas de conteúdo. O serviço precisa ser expandido para uma base de consumidores mais ampla. O aplicativo é atualizado para opções de autenticação do consumidor ou é substituído.

O ideal é que uma atualização de aplicativo dê suporte ao gerenciamento direto e à governança com um plano de controle moderno. No entanto, o tempo e o esforço para modernizar introduz custos e tempo de inatividade potencial. Em vez disso, implante uma VE (Big-IP Virtual Edition) entre a Internet pública e a VNet (rede virtual) interna do Azure para acessar o portão com Azure AD B2C. BIG-IP na frente do aplicativo permite a sobreposição do serviço com o SSO baseado em cabeçalhos e pré-autenticação do Azure AD B2C, melhorando a postura de segurança do aplicativo.

A solução de acesso híbrido seguro tem os seguintes componentes:

  • Aplicativo - serviço de back-end protegido pelo acesso híbrido seguro do Azure AD B2C e do BIG-IP
  • Azure AD B2C – Servidor de autorização do IdP (provedor de identidade) e do OIDC (Open ID Connect) que verifica as credenciais dos usuários, a autenticação multifator e o SSO para o BIG-IP APM
  • BIG-IP – proxy reverso para o aplicativo. O BIG-IP APM é o cliente OIDC, delegando a autenticação ao servidor de autorização do OIDC, antes do SSO baseado no cabeçalho para o serviço back-end.

O diagrama a seguir ilustra o fluxo iniciado do provedor de serviços (SP) para esse cenário.

Captura de tela do fluxo iniciado pelo provedor de serviços.

  1. O usuário se conecta ao ponto de extremidade do aplicativo. BIG-IP é provedor de serviços.
  2. O cliente OIDC BIG-IP APM redireciona o usuário para o ponto de extremidade do locatário Azure AD B2C, o servidor de autorização do OIDC
  3. O locatário Azure AD B2C pré-autentica o usuário e aplica políticas de acesso condicional
  4. O Azure AD B2C redireciona o usuário ao SP com o código de autorização
  5. O cliente OIDC solicita que o servidor de autorização troque o código de autorização por um token de ID
  6. O BIG-IP APM concede acesso ao usuário e injeta os cabeçalhos HTTP na solicitação do cliente encaminhada para o aplicativo

Configuração do Azure AD B2C

Para habilitar um BIG-IP com autenticação Azure AD B2C, use um locatário do Azure AD B2C com um fluxo de usuário ou uma política personalizada.

Consulte Tutorial: Criar fluxos dos usuários e políticas personalizadas no Azure Active Directory B2C

Criar atributos personalizados

Obtenha atributos personalizados de objetos de usuário do Azure AD B2C, IdPs federados, conectores de API ou inscrição de usuário. Inclua atributos no token que vai para o aplicativo.

Os aplicativos herdados esperam atributos específicos, portanto, inclua-os no fluxo do usuário. Você pode substituí-los por atributos que seu aplicativo requer. Ou se você estiver configurando um aplicativo de teste usando as instruções, use os cabeçalhos.

  1. Entre no Portal do Azure como Administrador Global.
  2. No painel à esquerda, selecione Atributos do usuário.
  3. Selecione Adicionar para criar dois atributos personalizados.
  4. Para ID do Agente, selecione a Cadeia de Caracteres Tipo de Dados.
  5. Para o Agente Geo, selecione a Cadeia de Caracteres Tipo de Dados.

Adicionar atributos ao fluxo de usuário

  1. No menu à esquerda, navegue até Políticas>Fluxos de usuário.
  2. Selecione sua política, por exemplo, B2C_1_SignupSignin.
  3. Selecione Atributos do usuário.
  4. Adicione ambos os atributos personalizados.
  5. Adicione o atributo Nome de Exibição. Esses atributos são coletados durante a inscrição do usuário.
  6. Selecione Declarações do aplicativo.
  7. Adicione ambos os atributos personalizados.
  8. Insira o Nome de Exibição. Esses atributos vão para o BIG-IP.
  9. Selecione Executar fluxo de usuário.
  10. No menu de fluxo do usuário, na barra de navegação à esquerda, verifique os avisos de atributos definidos.

Saiba mais: Tutorial: criar fluxos de usuários e políticas personalizadas no Azure AD B2C

Federação do Azure AD B2C

Federar BIG-IP e Azure AD B2C para confiança mútua. Registre o BIG-IP no locatário do Azure AD B2C como um aplicativo OIDC.

  1. No portal, selecione Registros de aplicativo>Novo registro.
  2. Insira um Nome de aplicativo, por exemplo, HeaderApp1.
  3. Em Tipos de conta com suporte, selecione Contas em qualquer provedor de identidade ou diretório organizacional (para autenticar usuários com fluxos dos usuários) .
  4. Em URI de redirecionamento, selecione Web.
  5. Insira FQDN público de serviço protegido.
  6. Insira o caminho.
  7. Deixe as seleções restantes.
  8. Selecione Registrar.
  9. Navegue até Certificados & segredos>+ Novo segredo do cliente.
  10. Insira um nome descritivo
  11. Insira um TTL para o segredo usado pelo BIG-IP.
  12. Observe a configuração segredo do cliente para BIG-IP.

O URI de redirecionamento é o ponto de extremidade BIG-IP. Após a autenticação, o servidor de autorização (Azure AD B2C) envia usuários para o ponto de extremidade.

Saiba mais: Tutorial: Registre um aplicativo Web no Azure AD B2C para Azure AD B2C.

Configuração do BIG-IP

Para configuração de BIG-IP, use Configuração Guiada v.7/8. A estrutura de fluxo de trabalho é adaptada para acessar topologias e realiza a publicação rápida do serviço Web.

Versão da Configuração Guiada

  1. Para confirmar a versão, entre na configuração da Web do BIG-IP com uma conta de administrador.
  2. Acesse Acessar>Configuração Guiada.
  3. Essa versão aparece no canto superior direito.

Para atualizar a Configuração Guiada, acesse my.f5.com para K85454683: Atualizar configuração guiada do BIG-IP F5 no sistema BIG-IP.

Perfis de SSL

Use BIG-IP configurado com um perfil SSL de cliente para proteger o tráfego do lado do cliente sobre o TLS. Importe um certificado que corresponda ao nome de domínio, usado pela URL voltada para o público para seu aplicativo. Recomendamos que você use uma autoridade de certificação pública, mas pode usar certificados autoassinados do BIG-IP para teste.

Para adicionar e gerenciar certificados no BIG-IP VE, acesse techdocs.f5.com para Sistema BIG-IP: Administração SSL.

Configuração guiada

  1. Para inicializar o assistente de implantação, na configuração da Web, vá para Acessar>Configuração Interativa.
  2. Selecione Federação>F5 como Cliente OAuth e Servidor de Recursos.
  3. Observe o resumo do fluxo para este cenário.
  4. Selecione Avançar.
  5. O assistente é iniciado.

Propriedades do OAuth

Nas seções a seguir, defina propriedades para habilitar a federação entre o BIG-IP APM e o servidor de autorização OAuth, o locatário do Azure AD B2C. O OAuth é referenciado em toda a configuração do BIG-IP. A solução usa o OIDC, uma camada de identidade no protocolo OAuth 2.0. Os clientes OIDC verificam a identidade do usuário e obtêm outras informações de perfil.

Nome da configuração

Um nome de exibição de configuração ajuda a distinguir entre as configurações de implantação na Configuração Guiada. Você não pode alterar o nome e ele aparece apenas na exibição Configuração Guiada.

Modo

O BIG-IP APM é um cliente OIDC, portanto, selecione a opção Cliente.

Resolvedor de DNS

O destino especificado deve resolver os endereços IP públicos dos pontos de extremidade do Azure AD B2C. Selecione um resolvedor de DNS público ou crie um novo.

Configurações do provedor

Configure o Azure AD B2C como o IdP OAuth2. A Configuração Guiada tem modelos Azure AD B2C, mas não determinados escopos.

Adicione um novo provedor e configure-o:

Propriedades gerais do OAuth

Propriedades Descrição
Tipo de provedor OAuth Personalizado
Escolher o provedor OAuth Crie um novo, ou use um provedor OAuth
Nome Um nome de exibição para o IdP B2C. Esse nove aparece para usuários como uma opção de provedor ao entrar
Tipo de token Token Web JSON

Configurações de política do OAuth

Propriedades Descrição
Escopo Deixe em branco. O escopo do OpenID para entrada do usuário é adicionado automaticamente
Tipo de concessão Código de Autorização
Habilitar o OpenID Connect Selecione a opção para colocar o cliente OAuth do APM no modo OIDC
Tipo de fluxo Código de Autorização

Configurações do provedor OAuth

O seguinte URI do OpenID se refere ao parâmetro de metadados usado pelos clientes do OIDC para descobrir informações do IdP, tais como sobreposição de certificado de autenticação.

  1. Localize o ponto de extremidade de metadados para seu locatário Azure AD B2C. Navegando até Registros de aplicativo>Pontos de extremidade.
  2. Copie o URI do documento de metadados do OpenID Connect Azure AD B2C. Por exemplo, https://wacketywackb2c .b2clogin.com/<tenantname>.onmicrosoft.com/<policyname>/v2.0/.well-known/openid-configuration.
  3. Atualize o URI com suas propriedades, https://<tenantname>.b2clogin.com/WacketywackB2C.onmicrosoft.com/B2C_1_SignUpIn/v2.0/.well-known/openid-configuration.
  4. Cole o URI no navegador.
  5. Exiba os metadados do OIDC para seu locatário do Azure AD B2C.
Propriedade Descrição
Público A ID do cliente do aplicativo que representa o BIG-IP no locatário do Azure AD B2C
URI de autenticação O ponto de extremidade de autorização em seus metadados OIDC B2C
URI do token O ponto de extremidade do token em seus metadados do Azure AD B2C
URI de solicitação Userinfo Deixe em branco. O Azure AD B2C não dá suporte a esse recurso
URI do OpenID O ponto de extremidade de metadados de URI do OpenID que você criou
Ignorar validação de certificado expirado Deixe essa opção desmarcada
Permitir certificado de configuração JWK auto-assinado Verificação
Pacote de AC confiável Selecione ca-bundle.crt para usar as autoridades confiáveis padrão da F5
Intervalo de descoberta Forneça um intervalo para o BIG-IP consultar seu locatário do Azure AD B2C para atualizações. O intervalo mínimo no AGC versão 16.1 0.0.19 é 5 minutos.

Configurações do servidor OAuth

Para o servidor de autorização OIDC, sendo seu locatário do Azure AD B2C.

Propriedade Descrições
ID do Cliente A ID do cliente do aplicativo que representa o BIG-IP no locatário do Azure AD B2C
Segredo do cliente O segredo do cliente do aplicativo
Perfil SSL de cliente-servidor Defina um perfil SSL para garantir que o APM se comunique com o IdP do Azure AD B2C por TLS. Selecione o serverssl padrão.

Configurações de solicitação OAuth

O BIG-IP solicitou os pedidos do Azure AD B2C em seu conjunto de pedidos pré-configurados. Contudo, as solicitações foram malformadas e parâmetros importantes estavam ausentes. Então, nós os criamos manualmente.

Solicitação de token: Habilitada

Propriedade Descrição
Escolha a solicitação OAuth Criar
Método HTTP POST
Habilitar cabeçalhos Desmarcado
Habilitar parâmetros Verificado
Parâmetro Nome do parâmetro Valor do parâmetro
client_id client_id N/D
nonce nonce N/D
redirect_uri redirect_uri N/D
scope scope N/D
response_type response_type N/D
client_secret client_secret N/D
custom grant_type authorization_code

Solicitação de redirecionamento de autorização: Habilitada

Propriedade Descrição
Escolha a solicitação OAuth Criar
Método HTTP GET
Tipo de prompt Nenhum
Habilitar cabeçalhos Desmarcado
Habilitar parâmetros Verificado
Parâmetro Nome do parâmetro Valor do parâmetro
client_id client_id N/D
redirect_uri redirect_uri N/D
response_type response_type N/D
scope scope N/D
nonce nonce N/D

Solicitação de atualização de token: Desabilitada Você pode habilitar e configurar conforme necessário.

Solicitação UserInfo do OpenID: Desabilitada Não há suporte para locatários globais do Azure AD B2C.

Propriedades do servidor virtual

Crie um servidor virtual BIG-IP para interceptar pedidos de clientes externos para o serviço de back-end protegido por acesso híbrido seguro. Atribua o servidor virtual a um IP mapeado para o registro DNS público para o ponto de extremidade de serviço do BIG-IP que representa o aplicativo. Use um servidor virtual, se disponível, caso contrário, forneça as propriedades a seguir.

Propriedade Descrição
Endereço de destino IP privado ou público que se torna o ponto de extremidade de serviço do BIG-IP para o aplicativo de back-end
Porta do serviço HTTPS
Habilitar a porta de redirecionamento Selecione para que os usuários sejam redirecionados automaticamente de http para https
Porta de redirecionamento HTTP
Perfil de cliente SSL Troque o perfil clientssl pré-definido pelo que contém o certificado SSL. Você pode testar com o perfil padrão. mas provavelmente causa um alerta do navegador.

Propriedades de pool

Os serviços de back-end aparecem no BIG-IP como um pool, com um ou mais servidores de aplicativos para os quais os servidores virtuais direcionam o tráfego de entrada. Selecione um pool, ou crie um novo.

Propriedade Descrição
Método de balanceamento de carga Selecione Round Robin
Servidor de pool IP interno do aplicativo de back-end
Porta Porta de serviço do aplicativo de back-end

Observação

Verifique se o BIG-IP tem linha de visão para o endereço do servidor do pool.

Configurações de SSO

Um BIG-IP dá suporte a opções de SSO, mas, no modo de cliente OAuth, a Configuração Guiada é limitada a Cabeçalhos Kerberos ou HTTP. Habilite SSO e use as seguintes informações para o APM para mapear os atributos de entrada definidos para os cabeçalhos de saída.

Propriedade Descrição
Operação de cabeçalho Inserir
Nome do cabeçalho name
Valor do Cabeçalho %{session.oauth.client.last.id_token.name}
Operação de cabeçalho Inserir
Nome do cabeçalho agentid
Valor do Cabeçalho %{session.oauth.client.last.id_token.extension_AgentGeo}

Observação

As variáveis de sessão do APM entre colchetes diferenciam maiúsculas de minúsculas. Inserir agentid quando o nome atributo Azure AD B2C é enviado como AgentID causa uma falha de mapeamento de atributos. Definir atributos em letras minúsculas. No Azure AD B2C, o fluxo do usuário solicita ao usuário mais atributos, usando o nome do atributo no portal. Portanto, use o caso de frase em vez de minúsculas.

Captura de tela das configurações de logon único, incluindo tipo e cabeçalhos.

Propriedades de personalização

Personalize o idioma e a aparência das telas que os usuários veem no fluxo de política de acesso do APM. Edite mensagens de tela e prompts, altere layouts de tela, cores, imagens e localize legendas, descrições e mensagens.

No campo de texto Cabeçalho do Formulário, substitua a cadeia de caracteres F5 Networks por um nome desejado.

Propriedades de gerenciamento de sessão

Use as configurações de gerenciamento de sessão BIG-IP para definir condições que encerram sessões ou permitem que elas continuem. Defina limites para usuários e endereços IP e páginas de erro. É recomendável implementar o logoff único (SLO), que encerra as sessões com segurança, reduzindo os riscos de acesso não autorizado.

Implantar configurações

Selecione Implantar para confirmar as configurações e criar objetos BIG-IP e APM para acesso híbrido seguro ao aplicativo. O aplicativo aparece como um recurso de destino no Acesso Condicional. Para aumentar a segurança, bloqueie o acesso direto ao aplicativo, impondo assim um caminho através do BIG-IP.

Saiba mais: Identity Protection e Acesso Condicional do Azure AD B2C

Testar o fluxo de inscrição de entrada

  1. Como usuário, vá para a URL externa do aplicativo.
  2. A página de entrada do cliente OAuth do BIG-IP é exibida.
  3. Entre usando a concessão de código de autorização. Para remover essa etapa, consulte a seção Configurações complementares.
  4. Entre e autentique no locatário do Azure AD B2C.

As imagens a seguir são a caixa de diálogo de entrada do usuário e a página de boas-vindas de entrada.

Captura de tela da caixa de diálogo de Entrada do usuário.

Captura de tela da página inicial de Entrada.

Para aumentar a segurança, bloqueie o acesso direto ao aplicativo, impondo assim um caminho através do BIG-IP.

Configurações complementares

Logoff único (SLO)

Azure AD B2C dá suporte ao provedor de identidade (IdP) e à saída do aplicativo. Confira Logoff único.

Para obter o SLO, habilite a função de saída do aplicativo para chamar o ponto de extremidade de saída do Azure AD B2C. Em seguida, Azure AD B2C emite um redirecionamento final para o BIG-IP. Essa ação garante que a sessão do APM do aplicativo de usuário seja encerrada.

Um processo SLO alternativo é habilitar o BIG-IP para escutar a solicitação, ao selecionar o botão Sair de aplicativos. Ao detectar a solicitação, ela chama para o ponto de extremidade de saída do Azure AD B2C. Essa abordagem impede fazer alterações no aplicativo.

Para saber mais sobre iRules do BIG-IP, acesse support.f5.com para K42052145: Configurando o encerramento automático da sessão (logout) com base em um nome de arquivo referenciado por URI.

Observação

Independentemente da abordagem, verifique se o locatário do Azure AD B2C conhece o ponto de extremidade de saída do APM.

  1. No portal, navegue até Gerenciar>Manifesto.
  2. Localize a propriedade logoutUrl. Ele lê nulo.
  3. Adicione o URI de pós-logon do APM: https://<mysite.com>/my.logout.php3

Observação

<mysite.com> é o FQDN do BIG-IP para seu aplicativo com base em cabeçalho.

Fluxo de logon otimizado

Para aprimorar a experiência de entrada do usuário, suprima o prompt de entrada do usuário OAuth que aparece antes da autenticação prévia do Microsoft Entra.

  1. Navegue até Acessar>Configuração Guiada.

  2. Na extrema direita da linha, selecione o ícone do cadeado.

  3. O aplicativo baseado em cabeçalho desbloqueia a configuração estrita.

    Captura de tela de entrada para Status, Nome e Tipo; também o ícone do cadeado.

Desbloquear a configuração estrita impede alterações com a interface do usuário do assistente. Os objetos BIG-IP estão associados à instância publicada do aplicativo, e estão abertos para gerenciamento direto.

  1. Navegue até Acessar>Perfis/Políticas>Perfis de Acesso (Políticas por Sessão).

  2. Para o objeto de política de aplicativo, na coluna Política por Sessão, selecione Editar.

    Captura de tela da opção Editar em Políticas de acesso, no diálogo Acessar.

  3. Para excluir o objeto de política página de logon OAuth, selecione X.

  4. No prompt, conecte-se ao nó anterior.

    Captura de tela da opção X no objeto de política da página de logon do OAuth.

  5. No canto superior esquerdo, selecione Aplicar Política de Acesso.

  6. Feche a guia editor visual.

Quando você tenta se conectar ao aplicativo, a página de entrada do Azure AD B2C é exibida.

Observação

Se você reabilitar o modo estrito e implantar uma configuração, as configurações executadas fora da interface do usuário de configuração guiada serão substituídas. Implemente esse cenário criando manualmente objetos de configuração para serviços de produção.

Solução de problemas

Use as diretrizes de solução de problemas a seguir se o acesso ao aplicativo protegido for impedido.

Detalhamento do log

Os logs do BIG-IP têm informações para isolar problemas de autenticação e de SSO. Aumente o nível de detalhamento do log.

  1. Vá para Política de Acesso>Visão Geral>Logs de Eventos>Configurações.
  2. Selecione a linha do seu aplicativo publicado e, em seguida, Editar>Acessar Logs do Sistema.
  3. Na lista de SSO, selecione Depurar.
  4. Selecione OK.
  5. Antes de revisar os logs, reproduza o problema.

Quando concluído, reverter as configurações anteriores.

Mensagem de erro do BIG-IP

Caso você veja uma mensagem de erro do BIG-IP após a autenticação do Azure AD B2C, talvez o problema esteja relacionado ao SSO do Microsoft Entra para o BIG-IP.

  1. Navegue até Acesso>Visão Geral>Relatórios de acesso.
  2. Execute o relatório da última hora
  3. Examine os logs para obter pistas.
  4. Selecione o link Exibir variáveis de sessão.
  5. Determine se o APM está recebendo as declarações esperadas do Microsoft Entra.

Nenhuma mensagem de erro do BIG-IP

Se nenhuma mensagem de erro do BIG-IP for exibida, o problema poderá estar relacionado à solicitação de back-end ou do SSO do BIG-IP para o aplicativo.

  1. Vá para Política de Acesso>Visão Geral>Sessões Ativas.
  2. Selecione o link para sua sessão ativa.
  3. Selecione o link Exibir Variáveis.
  4. Examine para determinar a causa raiz, especialmente se o BIG-IP APM obtiver atributos de sessão imprecisos.
  5. Use os logs de aplicativo para ajudar a entender se ele recebeu os atributos como cabeçalhos.

Problema conhecido da Configuração Guiada v8

Se estiver usando a Configuração Guiada v8, um problema conhecido gera o seguinte erro após uma autenticação bem-sucedida do Azure AD B2C. O problema pode ser o AGC não habilitar a configuração do JWT Automático durante a implantação. O APM não pode obter as chaves de assinatura de token atuais. A engenharia F5 está investigando a causa raiz.

Captura de tela da mensagem de erro acesso negado.

O mesmo log de acesso fornece detalhes.

Captura de tela dos detalhes da Mensagem de Log.

Habilitar manualmente a configuração

  1. Navegue até Acessar>Configuração Guiada.
  2. Na extrema direita da linha do aplicativo baseado em cabeçalho, selecione o cadeado.
  3. Navegue até Acessar>Federação>Cliente OAuth/Servidor de Recurso>Provedores.
  4. Selecione o provedor para sua configuração do Azure AD B2C.
  5. Marque a caixa Usar JWT Automático.
  6. Selecione Descobrir.
  7. Selecione Salvar.
  8. O campo Chave (JWT) tem a ID da chave de certificado de assinatura de token (KID) dos metadados de URI do OpenID.
  9. No canto superior esquerdo, selecione Aplicar Política de Acesso.
  10. Selecione Aplicar.

Para obter mais informações, acesse techdocs.f5.com para dicas de solução de problemas de cliente e servidor de recursos do OAuth