Proteger el acceso a Red Hat OpenShift en Azure con Azure Front Door
En este artículo se explica cómo usar Azure Front Door Premium proteger el acceso a Red Hat OpenShift en Azure.
Requisitos previos
Se necesitan los siguientes requisitos previos:
Disponer de un clúster de Red Hat OpenShift en Azure existente. Siga esta guía para crear un clúster privado de Red Hat OpenShift en Azure.
El clúster se configura con visibilidad de entrada privada.
Se usa un nombre de dominio personalizado, por ejemplo:
example.com
Nota:
El estado inicial no tiene DNS configurado. No se expone ninguna aplicación externamente desde el clúster de Red Hat OpenShift en Azure.
Creación de un servicio Azure Private Link
En esta sección se explica cómo crear un servicio Azure Private Link. Un servicio Azure Private Link es una referencia a su propio servicio con tecnología de Azure Private Link.
El servicio, que se ejecuta de forma subyacente a Azure Standard Load Balancer, se puede habilitar para el acceso a Private Link de modo que los consumidores del servicio puedan tener acceso a este de forma privada desde sus propias redes virtuales. Sus clientes pueden crear un punto de conexión privado dentro de su red virtual y asignarlo a este servicio.
Para obtener más información sobre Azure Private Link y cómo se usa, consulte Servicio Azure Private Link.
Cree una AzurePrivateLinkSubnet. Esta subred incluye una máscara de red que permite la visibilidad de la subred en el plano de control y los nodos de trabajo del clúster de Azure. No delegue esta nueva subred a ningún servicio ni configure ningún punto de conexión de servicio.
Por ejemplo, si la red virtual es 10.10.0.0/16 y:
- Subred de plano de control de Red Hat OpenShift en Azure existente = 10.10.0.0/24
- Subred de trabajo de Red Hat OpenShift en Azure existente = 10.10.1.0/24
- Nueva AzurePrivateLinkSubnet = 10.10.2.0/24
Cree un nuevo vínculo privado en el servicio Azure Private Link, como se explica en los pasos siguientes:
En la pestaña Información básica, configure las siguientes opciones:
- Detalles del proyecto
- Seleccione su suscripción a Azure.
- Seleccione el grupo de recursos en el que se implementó el clúster de Red Hat OpenShift en Azure.
- Detalles de instancia
- Escriba un Nombre para el servicio Azure Private Link, como en el ejemplo siguiente: example-com-private-link.
- Seleccione una Región para el vínculo privado.
- Detalles del proyecto
En la pestaña Configuración de salida:
Establezca el Equilibrador de carga en el equilibrador de carga interno del clúster para el que va a habilitar el acceso externo. Las opciones se rellenan en la lista desplegable.
Establezca la Dirección IP de front-end del equilibrador de carga en la dirección IP del controlador de entrada de Red Hat OpenShift en Azure, que normalmente termina en .254. Si no está seguro, use el siguiente comando.
az aro show -n <cluster-name> -g <resource-group> -o tsv --query ingressProfiles[].ip
La Subred NAT de origen debe ser AzurePrivateLinkSubnet, que usted ha creado.
No se debe cambiar ningún elemento en la Configuración de salida.
En la pestaña Seguridad de acceso, no se requiere ningún cambio.
- En la solicitud ¿Quién puede solicitar acceso al servicio?, seleccione Cualquier usuario con su alias.
- No agregue suscripciones para la aprobación automática.
En la pestaña Etiquetas, seleccione Revisar y crear.
Seleccione Crear para crear el servicio Azure Private Link y, posteriormente, espere a que se complete el proceso.
Una vez completada la implementación, seleccione Ir al grupo de recursos en Siguientes pasos.
En Azure Portal, escriba el servicio Azure Private Link que se implementó. Conserve el Alias que se generó para el servicio Azure Private Link. Se usará más adelante.
Registro de dominios en Azure DNS
En esta sección se explica cómo registrar un dominio en Azure DNS.
Cree una zona Azure DNS global para example.com.
Cree una zona Azure DNS global para apps.example.com.
Anote los cuatro servidores de nombres que están presentes en Azure DNS para apps.example.com.
Cree un nuevo conjunto de registros NS en la zona example.com que apunte a apps y especifique los cuatro servidores de nombres que estaban presentes cuando se creó la zona apps.
Creación de un servicio Azure Front Door Premium nuevo
Para crear un servicio Azure Front Door Premium nuevo:
En Microsoft Azure Compare offerings (Ofertas comparativas de Microsoft Azure), seleccione Azure Front Door y, posteriormente, seleccione Continue to create a Front Door (Continuar para crear Front Door).
En la página Create a front door profile (Crear un perfil de Front Door) del grupo Subscription>Resource, seleccione el grupo de recursos en el que se implementó el clúster de Red Hat OpenShift en Azure para hospedar el recurso Azure Front Door Premium.
Asigne un nombre adecuado al servicio Azure Front Door Premium. Por ejemplo, en el campo Nombre, escriba el siguiente nombre:
example-com-frontdoor
Seleccione el nivel Premium. El nivel Premium es la única opción que admite Azure Private Link.
En Nombre del punto de conexión, elija un nombre de punto de conexión adecuado para Azure Front Door.
Para cada aplicación implementada, se creará un CNAME en el Azure DNS que apunte a este nombre de host. Por lo tanto, es importante elegir un nombre que sea independiente de las aplicaciones. Por motivos de seguridad, el nombre no debe sugerir las aplicaciones o la arquitectura que ha implementado, como example01.
El nombre que elija se antepone al dominio .z01.azurefd.net.
En Tipo de origen, seleccione Personalizado.
En Nombre de host de origen, escriba el siguiente marcador de posición:
changeme.com
Este marcador de posición se eliminará más adelante.
En esta fase, no habilite el servicio Azure Private Link, el almacenamiento en caché ni la directiva Web Application Firewall (WAF).
Seleccione Revisar y crear para crear el recurso Azure Front Door Premium y, posteriormente, espere a que se complete el proceso.
Configuración inicial de Azure Front Door Premium
Para configurar Azure Front Door Premium:
En Azure Portal, escriba el servicio Azure Front Door Premium que se implementó.
En Endpoint Manager, modifique el punto de conexión seleccionando Editar punto de conexión.
Elimine la ruta predeterminada, creada como default-route.
Cierre la ventana de Endpoint Manager.
En la ventana Grupos de origen, elimine el grupo de origen predeterminado, denominado default-origin-group.
Exposición de una ruta de aplicación en Red Hat OpenShift en Azure
Red Hat OpenShift en Azure debe configurarse para proporcionar a la aplicación el mismo nombre de host que Azure Front Door expondrá externamente (*.apps.example.com). En nuestro ejemplo, expondremos la aplicación Reservations (Reservas) con el siguiente nombre de host:
reservations.apps.example.com
Además, cree una ruta segura en Red Hat OpenShift en Azure que exponga el nombre de host.
Configuración de Azure DNS
Para configurar Azure DNS:
Escriba la zona DNS apps pública creada anteriormente.
Cree un nuevo conjunto de registros CNAME denominado reservation. Este conjunto de registros CNAME es un alias para nuestro punto de conexión de Azure Front Door de ejemplo:
example01.z01.azurefd.net
Configuración de Azure Front Door Premium
En los pasos siguientes se explica cómo configurar Azure Front Door Premium.
En Azure Portal, escriba el servicio Azure Front Door Premium creado anteriormente:
example-com-frontdoor
En la ventana Dominios:
Dado que todos los servidores DNS se hospedan en Azure, deje Administración de DNS establecido en DNS administrado de Azure.
Seleccione el dominio de ejemplo:
apps.example.com
Seleccione el CNAME en nuestro ejemplo:
reservations.apps.example.com
Use los valores predeterminados para HTTPS y Versión mínima de TLS.
Seleccione Agregar.
Cuando el Estado de validación cambie a Pendiente, seleccione Pendiente.
Para autenticar la propiedad de la zona DNS, para el Estado del registro DNS, seleccione Agregar.
Seleccione Cerrar.
Continúe seleccionando Actualizar hasta que el Estado de validación del dominio cambie a Aprobado y la Asociación de punto final cambie a Sin asociar.
En la ventana Grupos de origen:
Seleccione Agregar.
Asigne al Grupo de origen un nombre adecuado, como Reservations-App.
Seleccione Agregar un origen.
Escriba el nombre del origen, como ARO-Cluster-1.
Para el Tipo de origen, elija Personalizado.
Escriba el nombre de host de nombre de dominio completo (FQDN) que se ha expuesto en el clúster de Red Hat OpenShift en Azure, por ejemplo:
reservations.apps.example.com
Habilite el servicio Private Link.
Escriba el Alias que se obtuvo del servicio Azure Private Link.
Seleccione Agregar para volver a la ventana de creación del grupo de origen.
Seleccione Agregar para agregar el grupo de origen y volver a Azure Portal.
Concesión de aprobación en Azure Private Link
Para conceder la aprobación a example-com-private-link, que es el servicio Azure Private Link que creó anteriormente, complete los pasos siguientes.
En la pestaña Conexiones de punto de conexión privado, active la casilla que ya existe en el recurso descrito como do from AFD (realizar desde AFD).
Seleccione Aprobar y, posteriormente, seleccione Sí para verificar la aprobación.
Procedimiento para completar la configuración de Azure Front Door Premium
En los pasos siguientes se explica cómo completar la configuración de Azure Front Door Premium.
En Azure Portal, escriba el servicio Azure Front Door Premium que creó anteriormente:
example-com-frontdoor
En la ventana Endpoint Manager, seleccione Editar punto de conexión para modificar el punto de conexión.
Seleccione +Agregar en Rutas.
Asigne a la ruta un nombre adecuado, como Reservations-App-Route-Config.
En Dominios, y posteriormente en Available validated domains (Dominios validados disponibles), seleccione el nombre de dominio completo, por ejemplo:
reservations.apps.example.com
Para redirigir el tráfico HTTP para utilizar HTTPS, deje activada la casilla Redirigir.
En Grupo de origen, seleccione Reservations-App, el grupo de origen que creó anteriormente.
Puede habilitar el almacenamiento en caché, si procede.
Seleccione Agregar para crear la ruta. Una vez configurada la ruta, Endpoint Manager rellena los Dominios y los Grupos de origen con los demás elementos creados para esta aplicación.
Dado que Azure Front Door es un servicio global, la aplicación puede tardar hasta 30 minutos en implementarse. Durante este tiempo, puede optar por crear un WAF para la aplicación. Cuando la aplicación está activa, se puede acceder a ella mediante la dirección URL usada en este ejemplo:
https://reservations.apps.example.com
Pasos siguientes
Creación de una directiva de Azure Web Application Firewall en Azure Front Door mediante Azure Portal: