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:
- Uma assinatura do Azure
- Se não tiver uma, obtenha uma conta gratuita do Azure
- Um locatário do Azure AD B2C vinculado à assinatura do Azure.
- Um BIG-IP ou um Ambiente Virtual (VE) do Big-IP de avaliação implantada no Azure
- Qualquer uma das seguintes licenças de F5 BIG-IP:
- Pacote F5 BIG-IP® Best
- Licença autônoma do BIG-IP Access Policy Manager™ da F5
- Licença de complemento do Gerenciador de Política de Acesso F5 Big-IP™ em um Local Traffic Manager™ (LTM) do F5 BIG-IP®
- Licença de avaliação completa de 90 dias do BIG-IP
- Um aplicativo Web baseado em cabeçalho ou um aplicativo de IIS para teste
- Consulte Configurar um aplicativo IIS
- Certificado SSL para publicar serviços via HTTPS, ou use o padrão durante o teste
- Confira perfil SSL
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.
- O usuário se conecta ao ponto de extremidade do aplicativo. BIG-IP é provedor de serviços.
- 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
- O locatário Azure AD B2C pré-autentica o usuário e aplica políticas de acesso condicional
- O Azure AD B2C redireciona o usuário ao SP com o código de autorização
- O cliente OIDC solicita que o servidor de autorização troque o código de autorização por um token de ID
- 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.
- Entre no Portal do Azure como Administrador Global.
- No painel à esquerda, selecione Atributos do usuário.
- Selecione Adicionar para criar dois atributos personalizados.
- Para ID do Agente, selecione a Cadeia de Caracteres Tipo de Dados.
- Para o Agente Geo, selecione a Cadeia de Caracteres Tipo de Dados.
Adicionar atributos ao fluxo de usuário
- No menu à esquerda, navegue até Políticas>Fluxos de usuário.
- Selecione sua política, por exemplo, B2C_1_SignupSignin.
- Selecione Atributos do usuário.
- Adicione ambos os atributos personalizados.
- Adicione o atributo Nome de Exibição. Esses atributos são coletados durante a inscrição do usuário.
- Selecione Declarações do aplicativo.
- Adicione ambos os atributos personalizados.
- Insira o Nome de Exibição. Esses atributos vão para o BIG-IP.
- Selecione Executar fluxo de usuário.
- 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.
- No portal, selecione Registros de aplicativo>Novo registro.
- Insira um Nome de aplicativo, por exemplo, HeaderApp1.
- 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) .
- Em URI de redirecionamento, selecione Web.
- Insira FQDN público de serviço protegido.
- Insira o caminho.
- Deixe as seleções restantes.
- Selecione Registrar.
- Navegue até Certificados & segredos>+ Novo segredo do cliente.
- Insira um nome descritivo
- Insira um TTL para o segredo usado pelo BIG-IP.
- 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
- Para confirmar a versão, entre na configuração da Web do BIG-IP com uma conta de administrador.
- Acesse Acessar>Configuração Guiada.
- 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
- Para inicializar o assistente de implantação, na configuração da Web, vá para Acessar>Configuração Interativa.
- Selecione Federação>F5 como Cliente OAuth e Servidor de Recursos.
- Observe o resumo do fluxo para este cenário.
- Selecione Avançar.
- 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.
- Localize o ponto de extremidade de metadados para seu locatário Azure AD B2C. Navegando até Registros de aplicativo>Pontos de extremidade.
- 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
. - Atualize o URI com suas propriedades,
https://<tenantname>.b2clogin.com/WacketywackB2C.onmicrosoft.com/B2C_1_SignUpIn/v2.0/.well-known/openid-configuration
. - Cole o URI no navegador.
- 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.
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
- Como usuário, vá para a URL externa do aplicativo.
- A página de entrada do cliente OAuth do BIG-IP é exibida.
- Entre usando a concessão de código de autorização. Para remover essa etapa, consulte a seção Configurações complementares.
- 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.
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.
- No portal, navegue até Gerenciar>Manifesto.
- Localize a propriedade
logoutUrl
. Ele lê nulo. - 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.
Navegue até Acessar>Configuração Guiada.
Na extrema direita da linha, selecione o ícone do cadeado.
O aplicativo baseado em cabeçalho desbloqueia a configuração estrita.
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.
Navegue até Acessar>Perfis/Políticas>Perfis de Acesso (Políticas por Sessão).
Para o objeto de política de aplicativo, na coluna Política por Sessão, selecione Editar.
Para excluir o objeto de política página de logon OAuth, selecione X.
No prompt, conecte-se ao nó anterior.
No canto superior esquerdo, selecione Aplicar Política de Acesso.
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.
- Vá para Política de Acesso>Visão Geral>Logs de Eventos>Configurações.
- Selecione a linha do seu aplicativo publicado e, em seguida, Editar>Acessar Logs do Sistema.
- Na lista de SSO, selecione Depurar.
- Selecione OK.
- 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.
- Navegue até Acesso>Visão Geral>Relatórios de acesso.
- Execute o relatório da última hora
- Examine os logs para obter pistas.
- Selecione o link Exibir variáveis de sessão.
- 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.
- Vá para Política de Acesso>Visão Geral>Sessões Ativas.
- Selecione o link para sua sessão ativa.
- Selecione o link Exibir Variáveis.
- Examine para determinar a causa raiz, especialmente se o BIG-IP APM obtiver atributos de sessão imprecisos.
- 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.
O mesmo log de acesso fornece detalhes.
Habilitar manualmente a configuração
- Navegue até Acessar>Configuração Guiada.
- Na extrema direita da linha do aplicativo baseado em cabeçalho, selecione o cadeado.
- Navegue até Acessar>Federação>Cliente OAuth/Servidor de Recurso>Provedores.
- Selecione o provedor para sua configuração do Azure AD B2C.
- Marque a caixa Usar JWT Automático.
- Selecione Descobrir.
- Selecione Salvar.
- O campo Chave (JWT) tem a ID da chave de certificado de assinatura de token (KID) dos metadados de URI do OpenID.
- No canto superior esquerdo, selecione Aplicar Política de Acesso.
- 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