Acesso seguro ao Azure Red Hat OpenShift com o Azure Front Door
Este artigo explica como usar o Azure Front Door Premium para proteger o acesso ao Azure Red Hat OpenShift.
Pré-requisitos
Os seguintes pré-requisitos são necessários:
Você tem um cluster existente do Azure Red Hat OpenShift. Siga este guia para criar um cluster privado do Azure Red Hat OpenShift.
O cluster é configurado com visibilidade de entrada privada.
Um nome de domínio personalizado é usado, por exemplo:
example.com
Nota
O estado inicial não tem DNS configurado. Nenhum aplicativo é exposto externamente do cluster do Azure Red Hat OpenShift.
Criar um serviço de Link Privado do Azure
Esta seção explica como criar um serviço de Link Privado do Azure. Um serviço de Link Privado do Azure é uma referência ao seu próprio serviço que é alimentado pelo Azure Private Link.
Seu serviço, que está sendo executado atrás do Balanceador de Carga Padrão do Azure, pode ser habilitado para acesso ao Link Privado para que os consumidores ao seu serviço possam acessá-lo de forma privada a partir de suas próprias redes virtuais. Seus clientes podem criar um ponto de extremidade privado dentro de sua rede virtual e mapeá-lo para este serviço.
Para obter mais informações sobre o serviço de Link Privado do Azure e como ele é usado, consulte Serviço de Link Privado do Azure.
Crie um AzurePrivateLinkSubnet. Essa sub-rede inclui uma máscara de rede que permite a visibilidade da sub-rede para o plano de controle e os nós de trabalho do cluster do Azure. Não delegue essa nova sub-rede a nenhum serviço nem configure nenhum ponto de extremidade de serviço.
Por exemplo, se a rede virtual for 10.10.0.0/16 e:
- Sub-rede existente do plano de controle do Red Hat OpenShift do Azure = 10.10.0.0/24
- Sub-rede de trabalhador existente do Azure Red Hat OpenShift = 10.10.1.0/24
- Novo AzurePrivateLinkSubnet = 10.10.2.0/24
Crie um novo Link Privado no serviço de Link Privado do Azure, conforme explicado nas seguintes etapas:
Na guia Noções básicas, configure as seguintes opções:
- Detalhes do Projeto
- Selecione a subscrição do Azure.
- Selecione o grupo de recursos no qual seu cluster do Azure Red Hat OpenShift foi implantado.
- Detalhes da instância
- Insira um Nome para seu serviço de Link Privado do Azure, como no exemplo a seguir: example-com-private-link.
- Selecione uma região para o seu link privado.
- Detalhes do Projeto
Na guia Configurações de saída:
Defina o Load Balancer como o -internal load balancer do cluster para o qual você está habilitando o acesso externo. As opções são preenchidas na lista suspensa.
Defina o endereço IP frontend do Balanceador de Carga para o endereço IP do controlador de entrada do Azure Red Hat OpenShift, que normalmente termina em .254. Se não tiver certeza, use o seguinte comando.
az aro show -n <cluster-name> -g <resource-group> -o tsv --query ingressProfiles[].ip
A sub-rede NAT de origem deve ser o AzurePrivateLinkSubnet, que você criou.
Nenhum item deve ser alterado nas Configurações de saída.
Na guia Segurança de Acesso, nenhuma alteração é necessária.
- No prompt Quem pode solicitar acesso ao seu serviço?, selecione Qualquer pessoa com seu alias.
- Não adicione nenhuma assinatura para aprovação automática.
No separador Etiquetas, selecione Rever + criar.
Selecione Criar para criar o serviço de Link Privado do Azure e aguarde a conclusão do processo.
Quando a implantação estiver concluída, selecione Ir para o grupo de recursos em Próximas etapas.
No portal do Azure, insira o serviço de Link Privado do Azure que foi implantado. Retenha o Alias que foi gerado para o serviço Azure Private Link. Será utilizado mais tarde.
Registrar domínio no DNS do Azure
Esta seção explica como registrar um domínio no DNS do Azure.
Crie uma zona DNS global do Azure para example.com.
Crie uma zona DNS global do Azure para apps.example.com.
Observe os quatro servidores de nomes que estão presentes no DNS do Azure para apps.example.com.
Crie um novo conjunto de registros NS na zona example.com que aponte para aplicativos e especifique os quatro servidores de nomes que estavam presentes quando a zona de aplicativos foi criada.
Criar um novo serviço Azure Front Door Premium
Para criar um novo serviço Azure Front Door Premium:
Em Comparar ofertas do Microsoft Azure, selecione Azure Front Door e, em seguida, selecione Continuar para criar uma Front Door.
Na página Criar um perfil de porta de entrada no grupo Recursos de Assinatura>, selecione o grupo de recursos no qual seu cluster do Azure Red Hat OpenShift foi implantado para abrigar seu recurso Azure Front Door Premium.
Nomeie seu serviço Azure Front Door Premium adequadamente. Por exemplo, no campo Nome , digite o seguinte nome:
example-com-frontdoor
Selecione o nível Premium . A camada Premium é a única opção que dá suporte ao Azure Private Link.
Para Nome do ponto de extremidade, escolha um nome de ponto de extremidade apropriado para a Porta da Frente do Azure.
Para cada aplicativo implantado, um CNAME será criado no DNS do Azure para apontar para esse nome de host. Portanto, é importante escolher um nome que seja agnóstico aos aplicativos. Por segurança, o nome não deve sugerir os aplicativos ou a arquitetura que você implantou, como exemplo01.
O nome escolhido será precedido do domínio .z01.azurefd.net .
Em Tipo de origem, selecione Personalizado.
Para Origin Host Name, insira o seguinte espaço reservado:
changeme.com
Este espaço reservado será eliminado mais tarde.
Nesta etapa, não habilite o serviço de Link Privado do Azure, o cache ou a política do WAF (Web Application Firewall).
Selecione Rever + criar para criar o recurso Azure Front Door Premium e, em seguida, aguarde a conclusão do processo.
Configuração inicial do Azure Front Door Premium
Para configurar o Azure Front Door Premium:
No portal do Azure, insira o serviço Azure Front Door Premium que foi implantado.
Na janela Endpoint Manager , modifique o ponto de extremidade selecionando Editar ponto de extremidade.
Exclua a rota padrão, que foi criada como rota padrão.
Feche a janela do Endpoint Manager .
Na janela Grupos de origem, exclua o grupo de origem padrão que foi nomeado default-origin-group.
Expondo uma rota de aplicativo no Red Hat OpenShift do Azure
O Azure Red Hat OpenShift deve ser configurado para servir o aplicativo com o mesmo nome de host que o Azure Front Door exporá externamente (*.apps.example.com). Em nosso exemplo, exporemos o aplicativo Reservas com o seguinte nome de host:
reservations.apps.example.com
Além disso, crie uma rota segura no Azure Red Hat OpenShift que exponha o nome do host.
Configurar o DNS do Azure
Para configurar o DNS do Azure:
Insira a zona DNS de aplicativos públicos criada anteriormente.
Crie um novo conjunto de registros CNAME chamado reserva. Este conjunto de registros CNAME é um alias para nosso exemplo de ponto de extremidade do Azure Front Door:
example01.z01.azurefd.net
Configurar o Azure Front Door Premium
As etapas a seguir explicam como configurar o Azure Front Door Premium.
No portal do Azure, insira o serviço Azure Front Door Premium que você criou anteriormente:
example-com-frontdoor
Na janela Domínios:
Como todos os servidores DNS estão hospedados no Azure, deixe o Gerenciamento de DNS definido como DNS gerenciado pelo Azure.
Selecione o domínio de exemplo:
apps.example.com
Selecione o CNAME no nosso exemplo:
reservations.apps.example.com
Use os valores padrão para HTTPS e versão Minimum TLS.
Selecione Adicionar.
Quando a estatística de Validação mudar para Pendente, selecione Pendente.
Para autenticar a propriedade da zona DNS, para o status do registro DNS, selecione Adicionar.
Selecione Fechar.
Continue a selecionar Atualizar até que o estado Validação do domínio mude para Aprovado e a associação de ponto de extremidade mude para Não associado.
Na janela Grupos de origem:
Selecione Adicionar.
Dê ao seu Grupo Origin um nome apropriado, como Reservations-App.
Selecione Adicionar uma origem.
Insira o nome da origem, como ARO-Cluster-1.
Escolha um tipo de Origem de Personalizado.
Insira o nome de host FQDN (nome de domínio totalmente qualificado) que foi exposto em seu cluster do Azure Red Hat OpenShift, como:
reservations.apps.example.com
Habilite o serviço Private Link .
Insira o Alias que foi obtido do serviço Azure Private Link.
Selecione Adicionar para retornar à janela de criação do grupo de origem.
Selecione Adicionar para adicionar o grupo de origem e retornar ao portal do Azure.
Conceder aprovação no Azure Private Link
Para conceder aprovação ao example-com-private-link, que é o serviço de Link Privado do Azure criado anteriormente, conclua as etapas a seguir.
Na guia Private endpoint connections, marque a caixa de seleção que agora existe a partir do recurso descrito como do AFD.
Selecione Aprovar e, em seguida, selecione Sim para verificar a aprovação.
Configuração completa do Azure Front Door Premium
As etapas a seguir explicam como concluir a configuração do Azure Front Door Premium.
No portal do Azure, insira o serviço Azure Front Door Premium que você criou anteriormente:
example-com-frontdoor
Na janela Endpoint Manager, selecione Edit endpoint para modificar o endpoint.
Selecione +Adicionar em Rotas.
Dê à sua rota um nome apropriado, como Reservations-App-Route-Config.
Em Domínios e, em Domínios validados disponíveis, selecione o nome de domínio totalmente qualificado, por exemplo:
reservations.apps.example.com
Para redirecionar o tráfego HTTP para usar HTTPS, deixe a caixa de seleção Redirecionar marcada.
Em Grupo de origem, selecione Reservations-App, o grupo de origem que você criou anteriormente.
Você pode habilitar o cache, se apropriado.
Selecione Adicionar para criar a rota. Depois que a rota é configurada, o gerenciador de pontos finais preenche os painéis de grupos Domínios e Origem com os outros elementos criados para este aplicativo.
Como o Azure Front Door é um serviço global, o aplicativo pode levar até 30 minutos para ser implantado. Durante esse período, você pode optar por criar um WAF para seu aplicativo. Quando seu aplicativo for ao ar, ele poderá ser acessado usando a URL usada neste exemplo:
https://reservations.apps.example.com
Próximos passos
Crie um Firewall de Aplicativo Web do Azure na Porta da Frente do Azure usando o portal do Azure: