Tutorial: Ativar o acesso híbrido seguro para aplicações com o Azure Active Directory B2C e o F5 BIG-IP

Saiba como integrar o Azure Active Directory B2C (Azure AD B2C) no F5 BIG-IP Access Policy Manager (APM). Pode expor aplicações legadas de forma segura na Internet através da segurança BIG-IP, com Azure AD pré-autenticação B2C, Acesso Condicional (AC) e início de sessão único (SSO). A F5 Inc. foca-se na entrega, segurança, desempenho e disponibilidade de serviços ligados, incluindo computação, armazenamento e recursos de rede. Fornece soluções de hardware, software modularizado e aplicação virtual pronta para a cloud.

Implemente o Controlador de Entrega de Aplicações BIG-IP (ADC) F5 como um gateway seguro entre redes privadas e a Internet. Existem funcionalidades para inspeção ao nível da aplicação e controlos de acesso personalizáveis. Se implementado como um proxy inverso, utilize o BIG-IP para permitir o acesso híbrido seguro a aplicações empresariais, com uma camada de acesso de identidade federada gerida pelo APM.

Aceda a f5.com recursos e documentos técnicos para: Configurar facilmente o Acesso Seguro a Todas as Suas Aplicações através de Microsoft Entra ID

Pré-requisitos

Para começar, precisa do seguinte:

Descrição do cenário

O cenário seguinte é baseado em cabeçalhos, mas pode utilizar estes métodos para alcançar o SSO Kerberos.

Para este cenário, o acesso a uma aplicação interna depende da receção de cabeçalhos de autorização HTTP de um sistema de mediador legado. Os agentes de vendas podem ser direcionados para as respetivas áreas de conteúdo. O serviço tem de ser expandido para uma base de consumidores mais ampla. A aplicação é atualizada para as opções de autenticação do consumidor ou é substituída.

Idealmente, uma atualização da aplicação suporta gestão e governação diretas com um plano de controlo moderno. No entanto, o tempo e o esforço de modernização introduzem custos e potenciais tempos de indisponibilidade. Em vez disso, implemente uma Big-IP Virtual Edition (VE) entre a Internet pública e a rede virtual (VNet) interna do Azure para aceder à porta com Azure AD B2C. O BIG-IP em frente à aplicação permite a sobreposição do serviço com Azure AD SSO baseado em cabeçalhos e pré-autenticação B2C, melhorando a postura de segurança da aplicação.

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

  • Aplicação – serviço de back-end protegido por Azure AD acesso híbrido seguro B2C e BIG-IP
  • Azure AD B2C – servidor de autorização do fornecedor de identidade (IdP) e OpenID Connect (OIDC) que verifica as credenciais do utilizador, a autenticação multifator e o SSO para o APM BIG-IP
  • BIG-IP – proxy inverso para a aplicação. O BIG-IP APM é o cliente OIDC, delegando a autenticação no servidor de autorização OIDC, antes do SSO baseado em cabeçalhos para o serviço de back-end.

O diagrama seguinte ilustra o fluxo iniciado pelo fornecedor de serviços (SP) para este cenário.

Captura de ecrã do fluxo iniciado pelo fornecedor de serviços.

  1. O utilizador liga-se ao ponto final da aplicação. O BIG-IP é um fornecedor de serviços.
  2. O cliente OIDC do APM big-IP redireciona o utilizador para Azure AD ponto final do inquilino B2C, o servidor de autorização OIDC
  3. Azure AD inquilino B2C pré-autentica o utilizador e aplica políticas de Acesso Condicional
  4. Azure AD B2C redireciona o utilizador para o SP com código de autorização
  5. O cliente OIDC pede ao servidor de autorização para trocar o código de autorização de um token de ID
  6. O APM BIG-IP concede acesso ao utilizador e injeta os cabeçalhos HTTP no pedido de cliente reencaminhado para a aplicação

Azure AD configuração B2C

Para ativar um BIG-IP com Azure AD autenticação B2C, utilize um inquilino Azure AD B2C com um fluxo de utilizador ou uma política personalizada.

Veja Tutorial: Criar fluxos de utilizador e políticas personalizadas no Azure AD B2C

Criar atributos personalizados

Obtenha atributos personalizados de Azure AD objetos de utilizador B2C, IdPs federados, conectores de API ou inscrição de utilizador. Inclua atributos no token que vai para a aplicação.

As aplicações legadas esperam atributos específicos, por isso, inclua-os no fluxo de utilizador. Pode substituí-los por atributos necessários à sua aplicação. Em alternativa, se estiver a configurar uma aplicação de teste com as instruções, utilize os cabeçalhos do utilizador.

  1. Inicie sessão no portal do Azure como Administrador Global.
  2. No painel esquerdo, selecione Atributos de utilizador.
  3. Selecione Adicionar para criar dois atributos personalizados.
  4. Para O ID do Agente, selecione Tipo de Dados de Cadeia.
  5. Para Geo do Agente, selecione Tipo de Dados de Cadeia.

Adicionar atributos ao fluxo de utilizador

  1. No menu esquerdo, navegue para Políticas>Fluxos de utilizador.
  2. Selecione a sua política, por exemplo, B2C_1_SignupSignin.
  3. Selecione Atributos do utilizador.
  4. Adicione ambos os atributos personalizados.
  5. Adicione o atributo Nome a Apresentar . Estes atributos são recolhidos durante a inscrição do utilizador.
  6. Selecione Afirmações de aplicação.
  7. Adicione ambos os atributos personalizados.
  8. Adicione o Nome a Apresentar. Estes atributos vão para o BIG-IP.
  9. Selecione Executar fluxo de utilizador.
  10. No menu de fluxo de utilizador, na barra de navegação esquerda, verifique os pedidos de atributos definidos.

Saiba mais: Tutorial: Criar fluxos de utilizador e políticas personalizadas no Azure AD B2C

Azure AD federação B2C

Federar BIG-IP e Azure AD B2C para confiança mútua. Registe o BIG-IP no inquilino Azure AD B2C como uma aplicação OIDC.

  1. No portal, selecione Registos de aplicações>Novo registo.
  2. Introduza um Nome de aplicação, por exemplo HeaderApp1.
  3. Em Tipos de conta suportados, selecione Contas em qualquer fornecedor de identidade ou diretório organizacional (para autenticar utilizadores com fluxos de utilizador).
  4. Em URI de Redirecionamento, selecione Web.
  5. Introduza O FQDN público do serviço protegido.
  6. Introduza o caminho.
  7. Deixe as restantes seleções.
  8. Selecione Registar.
  9. Navegue para Segredos de Certificados&+ Novo segredo do cliente.>
  10. Introduza um nome descritivo
  11. Introduza um TTL para o segredo utilizado pelo BIG-IP.
  12. Tenha em atenção o Segredo do Cliente para a configuração BIG-IP.

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

Saiba mais: Tutorial: Registar uma aplicação Web no Azure AD B2C para Azure AD B2C.

Configuração de BIG-IP

Para configuração de BIG-IP, utilize a Configuração Orientada v.7/8. A arquitetura de fluxo de trabalho é adaptada para aceder a topologias e realiza uma publicação rápida do serviço Web.

Versão de Configuração Orientada

  1. Para confirmar a versão, inicie sessão na configuração web BIG-IP com uma conta de administrador.
  2. Aceda a Aceder> àConfiguração Orientada.
  3. A versão é apresentada no canto superior direito.

Para atualizar a Configuração Orientada, aceda a my.f5.com para K85454683: Atualizar a Configuração Orientada por BIG-IP F5 no sistema BIG-IP.

Perfis SSL

Utilize BIG-IP configurado com um perfil SSL de cliente para proteger o tráfego do lado do cliente através do TLS. Importe um certificado que corresponda ao nome de domínio utilizado pelo URL destinado ao público para a sua aplicação. Recomendamos que utilize uma autoridade de certificação pública, mas pode utilizar certificados autoassinados BIG-IP para testes.

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

Configuração Orientada

  1. Para iniciar o assistente de implementação, na configuração da Web, aceda aConfiguração Orientada do Access>.
  2. Selecione Federação>F5 como Cliente OAuth e Servidor de Recursos.
  3. Observe o resumo do fluxo para este cenário.
  4. Selecione Seguinte.
  5. O assistente é iniciado.

Propriedades do OAuth

Nas secções seguintes, defina as propriedades para ativar a federação entre o APM BIG-IP e o servidor de autorização OAuth, o Azure AD inquilino B2C. O OAuth é referido em toda a configuração BIG-IP. A solução utiliza o OIDC, uma camada de identidade no protocolo OAuth 2.0. Os clientes OIDC verificam a identidade do utilizador e obtêm outras informações de perfil.

Nome da configuração

Um nome a apresentar de configuração ajuda a distinguir entre configurações de implementação na Configuração Orientada. Não pode alterar o nome e este aparece apenas na vista Configuração Orientada.

Modo

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

Resolução de DNS

O destino especificado tem de resolver os endereços IP públicos do Azure AD pontos finais B2C. Selecione uma resolução DNS pública ou crie uma nova.

Definições do fornecedor

Configure Azure AD B2C como o IdP OAuth2. A Configuração Orientada tem Azure AD modelos B2C, mas não determinados âmbitos.

Adicione um novo fornecedor e configure-o:

Propriedades gerais do OAuth

Propriedades Description
Tipo de fornecedor OAuth Personalizado
Escolher fornecedor OAuth Criar novo ou utilizar um fornecedor OAuth
Name Um nome a apresentar para o IdP B2C. Este nome é apresentado aos utilizadores como uma opção de fornecedor no início de sessão
Tipo de token Token Web JSON

Definições de política de OAuth

Propriedades Description
Âmbito Deixe em branco. O âmbito OpenID para o início de sessão do utilizador é adicionado automaticamente
Tipo de concessão Código de autorização
Ativar 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

Definições do fornecedor OAuth

O seguinte URI de OpenID refere-se ao ponto final de metadados utilizado pelos clientes OIDC para detetar informações de IdP, como o rollover do certificado de assinatura.

  1. Localize o ponto final de metadados do seu inquilino Azure AD B2C. Navegar para Registos de aplicações>Endpoints.
  2. Copie o URI do documento de metadados B2C OpenID Connect Azure AD. Por exemplo, https://wacketywackb2c .b2clogin.com/<tenantname>.onmicrosoft.com/<policyname>/v2.0/.well-known/openid-configuration.
  3. Atualize o URI com as suas propriedades, https://<tenantname>.b2clogin.com/WacketywackB2C.onmicrosoft.com/B2C_1_SignUpIn/v2.0/.well-known/openid-configuration.
  4. Cole o URI no browser.
  5. Veja os metadados OIDC do seu inquilino Azure AD B2C.
Propriedade Description
Audiência O ID de cliente da aplicação que representa o BIG-IP no inquilino Azure AD B2C
URI de autenticação O ponto final de autorização nos metadados OIDC B2C
Token URI O ponto final do token no seu Azure AD metadados B2C
URI do pedido userinfo Deixe em branco. Azure AD B2C não suporta esta funcionalidade
OpenID URI O ponto final de metadados do URI do OpenID que criou
Ignorar validação de certificado expirado Deixe esta opção desmarcada
Permitir certificado de configuração JWK autoassinado Marcar
Pacote de AC fidedigno Selecione ca-bundle.crt para utilizar as autoridades fidedignas F5 predefinidas
Intervalo de deteção Indique um intervalo para o BIG-IP consultar o inquilino do Azure AD B2C para obter atualizações. O intervalo mínimo na versão 16.1 0.0.19 do AGC é de 5 minutos.

Definições do servidor OAuth

Para o servidor de autorização OIDC, sendo o Azure AD inquilino B2C.

Propriedade Descrições
ID de Cliente O ID de Cliente da aplicação que representa o BIG-IP no inquilino Azure AD B2C
Segredo do Cliente O Segredo do Cliente da aplicação
Perfil SSL cliente-servidor Defina um perfil SSL para garantir que o APM comunica com o Azure AD IdP B2C através de TLS. Selecione o servidor predefinidol.

Definições do pedido OAuth

O BIG-IP exigiu Azure AD pedidos B2C no respetivo conjunto de pedidos pré-configurado. No entanto, os pedidos foram mal formados e faltam parâmetros importantes. Por isso, criámo-los manualmente.

Pedido de token: ativado

Propriedade Descrição
Escolher o pedido OAuth Criar novo
Método HTTP POST
Ativar cabeçalhos Desselecionado
Ativar parâmetros Marcado
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
personalizadas grant_type authorization_code

Pedido de redirecionamento de autenticação: ativado

Propriedade Descrição
Escolher o pedido OAuth Criar novo
Método HTTP GET
Tipo de pedido Nenhuma
Ativar cabeçalhos Desselecionado
Ativar parâmetros Marcado
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

Pedido de atualização de tokens: Desativado , pode ativar e configurar conforme necessário.

Pedido OpenID UserInfo: Desativado Não suportado nos inquilinos globais Azure AD B2C.

Propriedades do servidor virtual

Crie um servidor virtual BIG-IP para intercetar pedidos de cliente externos para o serviço de back-end protegido por acesso híbrido seguro. Atribua ao servidor virtual um IP mapeado para o registo DNS público para o ponto final de serviço BIG-IP que representa a aplicação. Utilize um servidor virtual, se disponível, caso contrário, forneça as seguintes propriedades.

Propriedade Descrição
Endereço de destino IP privado ou público que se torna o ponto final de serviço BIG-IP para a aplicação de back-end
Porta do serviço HTTPS
Ativar porta de redirecionamento Selecione para que os utilizadores sejam redirecionados automaticamente de http para https
Redirecionar porta HTTP
Perfil SSL do cliente Troque o perfil predefinido clientssl pelo que tem o certificado SSL. Pode testar com o perfil predefinido. mas provavelmente causa um alerta do browser.

Propriedades do conjunto

Os serviços de back-end aparecem no BIG-IP como um conjunto, com um ou mais servidores de aplicações para os quais os servidores virtuais direcionam o tráfego de entrada. Selecione um conjunto, caso contrário, crie um novo.

Propriedade Descrição
Método de balanceamento de carga Selecione Round Robin
Servidor de conjuntos IP interno da aplicação de back-end
Porta Porta de serviço da aplicação de back-end

Nota

Certifique-se de que o BIG-IP tem uma linha de visão para o endereço do servidor do conjunto.

Definições de SSO

Um BIG-IP suporta opções de SSO, mas no modo de cliente OAuth a Configuração Orientada está limitada a Cabeçalhos Kerberos ou HTTP. Ative o SSO e utilize as seguintes informações para o APM mapear atributos de entrada definidos para 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}

Nota

As variáveis de sessão do APM em parênteses encaracolados são sensíveis às maiúsculas e minúsculas. Introduzir agentid, quando o nome do atributo B2C Azure AD é enviado como AgentID, causa uma falha no mapeamento de atributos. Definir atributos em minúsculas. No Azure AD B2C, o fluxo de utilizador pede ao utilizador mais atributos, utilizando o nome do atributo no portal. Por conseguinte, utilize maiúsculas/minúsculas em vez de minúsculas.

Captura de ecrã a mostrar as definições de início de sessão único, incluindo o tipo e os cabeçalhos.

Propriedades de personalização

Personalize o idioma e o aspeto dos ecrãs que os utilizadores veem no fluxo da política de acesso do APM. Edite mensagens e pedidos de ecrã, altere esquemas de ecrã, cores, imagens e localize legendas, descrições e mensagens.

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

Propriedades de gestão de sessões

Utilize as definições de gestão de sessões BIG-IP para definir condições que terminam sessões ou permitem que continuem. Defina limites para utilizadores e endereços IP e páginas de erro. Recomendamos que implemente o início de sessão único (SLO), que termina as sessões de forma segura, reduzindo os riscos de acesso não autorizado.

Implementar definições

Selecione Implementar para consolidar definições e crie objetos BIG-IP e APM com acesso híbrido seguro à aplicação. A aplicação aparece como um recurso de destino no Acesso Condicional. Para maior segurança, bloqueie o acesso direto à aplicação, ao impor assim um caminho através do BIG-IP.

Saiba mais: Identity Protection and Conditional Access for Azure AD B2C (Proteção de Identidades e Acesso Condicional para Azure AD B2C)

Testar o fluxo de inscrição de início de sessão

  1. Como utilizador, aceda ao URL externo da aplicação.
  2. É apresentada a página de início de sessão do cliente OAuth do BIG-IP.
  3. Inicie sessão com a concessão de código de autorização. Para remover este passo, veja a secção Configurações suplementares .
  4. Inscreva-se e autentique-se no seu inquilino Azure AD B2C.

As seguintes imagens são a caixa de diálogo de início de sessão do utilizador e a página de boas-vindas de início de sessão.

Captura de ecrã a mostrar a caixa de diálogo de início de sessão do utilizador.

Captura de ecrã da página de boas-vindas de início de sessão.

Para maior segurança, bloqueie o acesso direto à aplicação, ao impor assim um caminho através do BIG-IP.

Configurações suplementares

Início de sessão único (SLO)

Azure AD B2C suporta o fornecedor de identidade (IdP) e o fim de sessão da aplicação. Veja Terminar sessão única.

Para alcançar o SLO, ative a função de fim de sessão da aplicação para chamar o ponto final de fim de sessão do Azure AD B2C. Em seguida, Azure AD B2C emite um redirecionamento final para o BIG-IP. Esta ação garante que a sessão do APM de aplicação-utilizador termina.

Um processo de SLO alternativo é ativar o BIG-IP para escutar o pedido ao selecionar o botão Terminar sessão das aplicações. Após detetar o pedido, chama para o ponto final de fim de sessão do Azure AD B2C. Esta abordagem impede a realização de alterações à aplicação.

Para saber mais sobre os iRules big-IP, aceda a support.f5.com para K42052145: Configurar a terminação automática de sessão (fim de sessão) com base num nome de ficheiro referenciado por URI.

Nota

Independentemente da abordagem, certifique-se de que o Azure AD inquilino B2C conhece o ponto final de fim de sessão do APM.

  1. No portal, navegue para Gerir>Manifesto.
  2. Localize a propriedade logoutUrl. Lê-se nulo.
  3. Adicione o URI de início de sessão pós-sessão do APM: https://<mysite.com>/my.logout.php3

Nota

<mysite.com> é o FQDN BIG-IP para a sua aplicação baseada em cabeçalhos.

Fluxo de início de sessão otimizado

Para melhorar a experiência de início de sessão do utilizador, suprima o pedido de início de sessão do utilizador OAuth que aparece antes de Microsoft Entra pré-autenticação.

  1. Navegue para Aceder> àConfiguração Guiada.

  2. Na extremidade direita da linha, selecione o ícone de cadeado .

  3. A aplicação baseada em cabeçalhos desbloqueia a configuração estrita.

    Captura de ecrã da entrada para Estado, Nome e Tipo; também o ícone de cadeado.

Desbloquear a configuração estrita impede alterações com a IU do assistente. Os objetos BIG-IP estão associados à instância publicada da aplicação e estão abertos para gestão direta.

  1. Navegue paraPerfis deAcesso>/Perfis de Acesso de Políticas (Políticas por sessão).>

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

    Captura de ecrã a mostrar a opção Editar em Políticas de Acesso, na caixa de diálogo Acesso.

  3. Para eliminar o objeto de política Página de Início de Sessão OAuth , selecione X.

  4. Na linha de comandos, ligue-se ao nó anterior.

    Captura de ecrã a mostrar a opção X no objeto de política Página de Início de Sessão OAuth.

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

  6. Feche o separador do editor de elementos visuais.

Quando tenta ligar à aplicação, é apresentada a página de início de sessão Azure AD B2C.

Nota

Se voltar a ativar o modo rigoroso e implementar uma configuração, as definições executadas fora da IU de Configuração Orientada serão substituídas. Implemente este cenário ao criar manualmente objetos de configuração para serviços de produção.

Resolução de problemas

Utilize a seguinte documentação de orientação de resolução de problemas se o acesso à aplicação protegida for impedido.

Verbosidade do registo

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

  1. Aceda aDefinições deRegistos de Eventos> da DescriçãoGeral> da Política > de Acesso.
  2. Selecione a linha da aplicação publicada e, em seguida, Edite>Registos do Sistema de Acesso.
  3. Na lista SSO, selecione Depurar.
  4. Selecione OK.
  5. Antes de rever os registos, reproduza o problema.

Quando terminar, reverta as definições anteriores.

Mensagem de erro BIG-IP

Se vir uma mensagem de erro BIG-IP após Azure AD autenticação B2C, o problema poderá estar relacionado com o SSO de Microsoft Entra ID para o BIG-IP.

  1. Navegue atérelatórios do Access>Overview> Access.
  2. Executar o relatório da última hora
  3. Reveja os registos para obter pistas.
  4. Selecione a ligação Ver variáveis de sessão .
  5. Determine se o APM recebe as afirmações de Microsoft Entra esperadas.

Nenhuma mensagem de erro BIG-IP

Se não for apresentada nenhuma mensagem de erro BIG-IP, o problema poderá estar relacionado com o pedido de back-end ou com o SSO do BIG-IP para a aplicação.

  1. Aceda aDescrição Geral da>Política> de AcessoSessões Ativas.
  2. Selecione a ligação para a sua sessão ativa.
  3. Selecione a ligação Ver Variáveis .
  4. Reveja para determinar a causa raiz, especialmente se o APM BIG-IP obtiver atributos de sessão imprecisos.
  5. Utilize os registos de aplicações para ajudar a compreender se recebeu os atributos como cabeçalhos.

Problema conhecido da Configuração Orientada v8

Se utilizar a Configuração Orientada v8, um problema conhecido gera o seguinte erro após Azure AD autenticação B2C com êxito. O problema pode ser o AGC não ativar a definição JWT Automático durante a implementação. O APM não consegue obter as chaves de assinatura de tokens atuais. A engenharia F5 está a investigar a causa principal.

Captura de ecrã a mostrar a mensagem de erro de acesso negado.

O mesmo registo de acesso fornece detalhes.

Captura de ecrã a mostrar os detalhes da Mensagem de Registo.

Ativar manualmente a definição

  1. Navegue para Aceder> àConfiguração Guiada.
  2. Na extremidade direita da linha da aplicação baseada em cabeçalhos, selecione o cadeado.
  3. Navegue até FornecedoresdeServidores de Recursos/>Cliente OAuthdeFederação de Acesso>>.
  4. Selecione o fornecedor para o seu Azure AD configuração B2C.
  5. Selecione a caixa Utilizar JWT Automático .
  6. Selecione Descobrir.
  7. Selecione Guardar.
  8. O campo Chave (JWT) tem o ID da chave de certificado de assinatura de token (KID) dos metadados do URI do OpenID.
  9. No canto superior esquerdo, selecione Aplicar Política de Acesso.
  10. Selecione Aplicar.

Para obter mais informações, aceda a techdocs.f5.com para sugestões de resolução de problemas do cliente OAuth e do servidor de recursos