Configuración de Front Door Estándar y Premium delante de Azure API Management

SE APLICA A: todos los niveles de API Management

Azure Front Door es una plataforma de red de entrega de aplicaciones moderna que proporciona una red de entrega de contenido (CDN) segura y escalable, aceleración de sitios dinámicos y equilibrio de carga HTTP(S) global para las aplicaciones web globales. Cuando se usa delante de API Management, Front Door puede proporcionar descarga de TLS, TLS de un extremo a otro, equilibrio de carga, almacenamiento en caché de las respuestas de las solicitudes GET y un firewall de aplicaciones web, entre otras funcionalidades. Para obtener una lista completa de las características admitidas, consulte ¿Qué es Azure Front Door?

Nota

En el caso de las cargas de trabajo web, se recomienda encarecidamente usar la protección contra DDoS de Azure y un firewall de aplicaciones web para protegerse frente a posibles ataques DDoS. Otra opción es emplear Azure Front Door junto con un firewall de aplicaciones web. Azure Front Door ofrece protección de nivel de plataforma frente a ataques DDoS de nivel de red. Para más información, consulte línea base de seguridad para los servicios de Azure.

En este artículo se muestra cómo:

  • Configurar un perfil de Azure Front Door Estándar o Premium delante de una instancia de Azure API Management accesible públicamente: ya sea sin red o insertada en una red virtual en modo externo.
  • Restringir API Management para que acepte el tráfico de API solo desde Azure Front Door.

Requisitos previos

  • Una instancia de API Management
    • Si decide usar una instancia insertada en la red, se debe implementar en una red virtual externa. (La inserción de red virtual se admite en los niveles de servicio Desarrollador y Premium).
  • Importe una o varias API a la instancia de API Management para confirmar el enrutamiento mediante Front Door.

Configuración de Azure Front Door

Creación de perfil

Para conocer los pasos para crear un perfil de Azure Front Door Estándar o Premium, consulte Inicio rápido: Creación de un perfil de Azure Front Door con Azure Portal. Para este artículo, puede elegir un perfil de Front Door Estándar. Para obtener una comparación de Front Door Estándar y Front Door Premium, consulte Comparación de características entre niveles.

Configure las siguientes opciones de Front Door específicas para usar el punto de conexión de puerta de enlace de la instancia de API Management como origen de Front Door. Para obtener una explicación de otras opciones de configuración, consulte el inicio rápido de Front Door.

Configuración Value
Tipo de origen Seleccione API Management.
Nombre de host de origen Seleccione el nombre de host de la instancia de API Management, por ejemplo, myapim.azure-api.net
Almacenamiento en caché Seleccione Habilitar almacenamiento en caché para que Front Door almacene en caché el contenido estático.
Comportamiento del almacenamiento en caché de cadenas de consulta Seleccione Usar cadena de consulta.

Captura de pantalla de la creación de un perfil de Front Door en el portal.

Actualización del grupo de origen predeterminado

Una vez creado el perfil, actualice el grupo de origen predeterminado para incluir un sondeo de estado de API Management.

  1. En el portal, vaya al perfil de Front Door.

  2. En el menú izquierdo, en Configuración, seleccione Grupos de origen>default-origin-group.

  3. En la ventana Update origin group (Actualizar grupo de origen), configure las siguientes opciones de sondeo de estado y seleccione Update (Actualizar):

    Configuración Value
    Estado Seleccione Enable health probes (Habilitar sondeos de estado).
    Path Escriba /status-0123456789abcdef.
    Protocolo Seleccione HTTPS.
    Método Seleccione GET.
    Interval (in seconds) (Intervalo [en segundos]) Especifique 30.

    Captura de pantalla de la actualización del grupo de origen predeterminado en el portal.

Actualización de la ruta predeterminada

Se recomienda actualizar la ruta predeterminada asociada al grupo de origen de API Management para usar HTTPS como protocolo de reenvío.

  1. En el portal, vaya al perfil de Front Door.
  2. En el menú de la izquierda, en Configuración, seleccione Grupos de origen.
  3. Expanda el elemento default-origin-group.
  4. En el menú contextual (...) de default-route, seleccione Configure route (Configurar ruta).
  5. Establezca Accepted protocols (Protocolos aceptados) en HTTP y HTTPS.
  6. Habilite la opción Redirect all traffic to use HTTPS (Redirigir todo el tráfico para usar HTTPS).
  7. Establezca Forwarding protocol (Protocolo de reenvío) en HTTPS only (Solo HTTPS) y, a continuación, seleccione Update (Actualizar).

Pruebe la configuración.

Pruebe la configuración del perfil de Front Door mediante una llamada a una API hospedada por API Management. En primer lugar, llame a la API directamente mediante la puerta de enlace de API Management para asegurarse de que la API sea accesible. A continuación, llame a la API mediante Front Door. Para la prueba, puede usar un cliente de línea de comandos como curl para las llamadas o una herramienta como Postman.

Llamada a una API directamente mediante API Management

En el ejemplo siguiente, se llama directamente a una operación de la API de conferencia de demostración hospedada por la instancia de API Management mediante Postman. En este ejemplo, el nombre de host de la instancia está en el dominio predeterminado azure-api.net y se pasa una clave de suscripción válida mediante un encabezado de solicitud. Una respuesta correcta muestra 200 OK y devuelve los datos esperados:

Captura de pantalla que muestra la llamada al punto de conexión de API Management directamente mediante Postman.

Llamada a una API directamente mediante Front Door

En el ejemplo siguiente, se llama a la misma operación de la API de conferencia de demostración mediante el punto de conexión de Front Door configurado para la instancia. El nombre de host del punto de conexión del dominio azurefd.net se muestra en el portal en la página Información general del perfil de Front Door. Una respuesta correcta muestra 200 OK y devuelve los mismos datos que en el ejemplo anterior:

Captura de pantalla que muestra la llamada al punto de conexión de Front Door mediante Postman.

Restricción del tráfico entrante a la instancia de API Management

Use directivas de API Management para asegurarse de que la instancia de API Management acepte el tráfico solo desde Azure Front Door. Puede llevar a cabo esta restricción mediante uno o ambos de los métodos siguientes:

  1. Restricción de las direcciones IP entrantes a las instancias de API Management
  2. Restricción del tráfico en función del valor del encabezado X-Azure-FDID

Restricción de las direcciones IP entrantes

Puede configurar una directiva de filtro IP de entrada en API Management para permitir solo el tráfico relacionado con Front Door, que incluye:

  • Espacio de direcciones IP de back-end de Front Door: permita las direcciones IP correspondientes a la sección AzureFrontDoor.Backend de Intervalos IP y etiquetas de servicio de Azure.

    Nota:

    Si la instancia de API Management está implementada en una red virtual externa, lleve a cabo la misma restricción agregando una regla de grupo de seguridad de red de entrada en la subred que se usa para la instancia de API Management. Configure la regla para permitir el tráfico HTTPS desde la etiqueta de servicio de origen AzureFrontDoor.Backend en el puerto 443.

  • Servicios de infraestructura de Azure: permita las direcciones IP 168.63.129.16 y 169.254.169.254.

Comprobación del encabezado de Front Door

Las solicitudes enrutadas mediante Front Door incluyen encabezados específicos de la configuración de Front Door. Puede configurar la directiva check-header para filtrar las solicitudes entrantes en función del valor único del encabezado de solicitud HTTP X-Azure-FDID que se envía a API Management. Este valor de encabezado es el identificador de Front Door, que se muestra en el portal en la página Información general del perfil de Front Door.

En el ejemplo de directiva siguiente, el identificador de Front Door se especifica mediante un valor con nombre llamado FrontDoorId.

<check-header name="X-Azure-FDID" failed-check-httpcode="403" failed-check-error-message="Invalid request." ignore-case="false">
        <value>{{FrontDoorId}}</value>
</check-header>

Las solicitudes que no van acompañadas de un encabezado X-Azure-FDID válido devuelven una respuesta 403 Forbidden.

(Opcional) Configuración de Front Door para el portal para desarrolladores

Opcionalmente, configure el portal para desarrolladores de la instancia de API Management como punto de conexión en el perfil de Front Door. Aunque el portal para desarrolladores administrado ya tiene delante una red CDN administrada por Azure, es posible que quiera aprovechar las ventajas de las características de Front Door, como un WAF.

Estos son los pasos generales para agregar un punto de conexión para el portal para desarrolladores al perfil:

  • Para agregar un punto de conexión y configurar una ruta, consulte Configuración de un punto de conexión con el administrador de Front Door.

  • Al agregar la ruta, agregue un grupo de origen y una configuración de origen para representar el portal para desarrolladores:

    • Tipo de origen: seleccione Personalizado.
    • Nombre de host: escriba el nombre de host del portal para desarrolladores, por ejemplo, myapim.developer.azure-api.net

Para más información y detalles sobre la configuración, consulte Configuración de un origen para Azure Front Door.

Nota:

Si ha configurado un proveedor de identidades de Microsoft Entra ID o Azure AD B2C para el portal para desarrolladores, debe actualizar el registro de aplicación correspondiente con una dirección URL de redireccionamiento adicional para Front Door. En el registro de aplicación, agregue la dirección URL del punto de conexión del portal para desarrolladores configurado en el perfil de Front Door.

Pasos siguientes