Compartir a través de


Conexión privada a API Management con un punto de conexión privado entrante

SE APLICA A: Desarrollador | Básico | Estándar | Estándar v2 | Premium

Puede configurar un punto de conexión privado entrante para la instancia de API Management. Así, los clientes de la red privada podrán acceder de forma segura a la instancia con Azure Private Link.

  • El punto de conexión privado usa una dirección IP de una red virtual de Azure en la que se hospeda.

  • El tráfico de red entre un cliente en la red privada y API Management recorre la red virtual y un Private Link en la red troncal de Microsoft, lo que elimina la exposición a Internet público.

  • Configurar valores de DNS personalizados o una zona privada de Azure DNS para asignar el nombre de host de API Management a la dirección IP privada del punto de conexión.

Diagrama que muestra una conexión entrante segura a API Management mediante un punto de conexión privado.

Con un punto de conexión privado y Private Link, puede:

  • Crear varias conexiones de Private Link a una instancia de API Management.

  • Usar el punto de conexión privado para enviar tráfico de entrada a una conexión segura.

  • Usar la directiva para distinguir el tráfico que procede de un punto de conexión privado.

  • Limitar el tráfico de entrada solo a los puntos de conexión privados, lo que impide la filtración de datos.

  • Combine puntos de conexión privados entrantes a instancias de Standard v2 con integración de red virtual de salida para proporcionar aislamiento de red de un extremo a otro de los clientes y servicios back-end de API Management.

    Diagrama que muestra una conexión entrante segura a API Management Standard v2 mediante un punto de conexión privado.

Importante

  • Solo puede configurar una conexión de punto de conexión privado para el tráfico entrante a la instancia de API Management.
  • Solo puede deshabilitar el acceso de red pública a la instancia de API Management después de configurar un punto de conexión privado.

Limitaciones

  • Solo el punto de conexión de la puerta de enlace de la instancia de API Management es compatible con las conexiones de Private Link entrantes.
  • Cada instancia de API Management admite 100 conexiones de Private Link como máximo.
  • Las conexiones no se admiten en la puerta de enlace autohospedada ni en una puerta de enlace del espacio de trabajo.
  • En los niveles clásicos de API Management, los puntos de conexión privados no se admiten en instancias insertadas en una red virtual interna o externa.

Escenarios típicos

Use un punto de conexión privado de entrada para habilitar el modo de acceso solo privado directamente a la puerta de enlace de API Management y limitar la exposición de datos confidenciales o back-ends.

Las configuraciones admitidas incluyen:

  • Pase las solicitudes de cliente a través de un firewall y configure reglas para enrutar las solicitudes de forma privada a la puerta de enlace de API Management.
  • Configure Azure Front Door (o Azure Front Door con Azure Application Gateway) para recibir tráfico externo y, a continuación, enrutar el tráfico de forma privada a la puerta de enlace de API Management. Por ejemplo, consulte Conexión de Azure Front Door Premium a una instancia de Azure API Management con Private Link.

Requisitos previos

  • Una instancia existente de API Management. Crear uno si aún no lo ha hecho.
    • Al usar una instancia en el nivel clásico Desarrollador o Premium, no implemente (inserte) la instancia en una red virtual externa o interna.
  • Una red virtual que contiene una subred para hospedar el punto de conexión privado. La subred puede contener otros recursos de Azure, pero no se puede delegar en otro servicio.
  • (Recomendado) Una máquina virtual en la misma u otra subred en la red virtual para probar el punto de conexión privado.

Método de aprobación del punto de conexión privado

Normalmente un administrador de red crea un punto de conexión privado. En función de los permisos del control de acceso basado en rol (RBAC) de Azure, el punto de conexión privado que cree se aprobará automáticamente para enviar tráfico a la instancia de API Management o necesitará que el administrador del recurso apruebe manualmente la conexión.

Método de aprobación Permisos mínimos de RBAC
Automático Microsoft.Network/virtualNetworks/**
Microsoft.Network/virtualNetworks/subnets/**
Microsoft.Network/privateEndpoints/**
Microsoft.Network/networkinterfaces/**
Microsoft.Network/locations/availablePrivateEndpointTypes/read
Microsoft.ApiManagement/service/**
Microsoft.ApiManagement/service/privateEndpointConnections/**
Manual de instrucciones Microsoft.Network/virtualNetworks/**
Microsoft.Network/virtualNetworks/subnets/**
Microsoft.Network/privateEndpoints/**
Microsoft.Network/networkinterfaces/**
Microsoft.Network/locations/availablePrivateEndpointTypes/read

Pasos para configurar un punto de conexión privado

  1. Obtener los tipos de puntos de conexión privados disponibles en la suscripción
  2. Creación de un punto de conexión privado: portal

Obtenga los tipos de puntos de conexión privados disponibles con la suscripción

Compruebe que el tipo de punto de conexión privado de API Management está disponible con su suscripción y en su ubicación. En el portal, busque esta información en Private Link Center. Seleccione Recursos compatibles.

También puede encontrar esta información en Tipos de puntos de conexión privados disponibles: lista de API de REST.

GET https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{region}/availablePrivateEndpointTypes?api-version=2021-03-01

La salida debe incluir el Microsoft.ApiManagement.service tipo de punto de conexión:

[...]

      "name": "Microsoft.ApiManagement.service",
      "id": "/subscriptions/{subscriptionId}/providers/Microsoft.Network/AvailablePrivateEndpointTypes/Microsoft.ApiManagement.service",
      "type": "Microsoft.Network/AvailablePrivateEndpointTypes",
      "resourceName": "Microsoft.ApiManagement/service",
      "displayName": "Microsoft.ApiManagement/service",
      "apiVersion": "2021-04-01-preview"
    }
[...]

Creación de un punto de conexión privado: portal

Puede crear un punto de conexión privado al crear una instancia de API Management en Azure Portal, o bien puede agregar un punto de conexión privado a una instancia existente. También puede crear un punto de conexión privado mediante el Centro de Private Link.

Para agregar un punto de conexión privado a una instancia de API Management existente:

  1. Vaya al servicio API Management en Azure Portal.

  2. En el menú de la izquierda, en implementación e infraestructura, seleccione Red.

  3. Seleccione Conexiones de puntos de conexión privados entrantes>+ Agregar punto de conexión.

    Recorte de pantalla que muestra cómo agregar un punto de conexión privado mediante Azure Portal.

  4. En la pestaña Aspectos básicos , escriba o seleccione la siguiente información:

    Configuración Importancia
    Detalles del proyecto
    Suscripción Selecciona tu suscripción.
    Grupo de recursos Seleccione un grupo de recursos existente, o bien cree uno. Debe estar en la misma región que la red virtual.
    Detalles de instancia
    Nombre Escriba un nombre para el punto de conexión privado, como myPrivateEndpoint.
    Nombre de la interfaz de red Escriba un nombre para la interfaz de red, como myInterface
    Región Seleccione una ubicación para el punto de conexión privado. Debe estar en la misma región que la red virtual. Puede ser distinta a la región en la que se hospeda la instancia de API Management.
  5. Seleccione el botón Siguiente: Recurso en la parte inferior de la pantalla. Ya está rellenada la siguiente información sobre la instancia de API Management:

    • Suscripción
    • Tipo de recurso
    • Nombre del recurso
  6. En Recurso, en subrecurso de destino, seleccione Puerta de enlace.

    Recorte de pantalla que muestra la configuración para crear un punto de conexión privado en Azure Portal.

    Importante

    Solo se admite el subrecurso Puerta de enlace para API Management. No se admiten otros subrecursos.

  7. Seleccione el botón Siguiente: Virtual Network de la parte inferior de la pantalla.

  8. En Red virtual, escriba o seleccione esta información:

    Configuración Importancia
    Red virtual Seleccione la red virtual.
    Subred Seleccione su subred.
    Configuración de IP privada En la mayoría de los casos, seleccione Asignar dinámicamente la dirección IP.
    Grupo de seguridad de aplicaciones Opcionalmente, seleccione un grupo de seguridad de aplicaciones.
  9. Seleccione el botón Siguiente: DNS en la parte inferior de la pantalla.

  10. En Integración de DNS privado, escriba o seleccione esta información:

    Configuración Importancia
    Integración con una zona DNS privada Deje el valor predeterminado de .
    Suscripción Selecciona tu suscripción.
    Grupo de recursos Seleccione el grupo de recursos que necesite.
    Zonas DNS privadas Se muestra el valor predeterminado: (nuevo) privatelink.azure-api.net.
  11. Seleccione el botón Siguiente: pestañas en la parte inferior de la pantalla. Si lo desea, escriba etiquetas para organizar los recursos de Azure.

  12. Seleccione el botón Siguiente: Revisar y crear en la parte inferior de la pantalla. Seleccione Crear.

Lista de las conexiones de los puntos de conexión privados a la instancia

Una vez creado el punto de conexión privado y actualizado el servicio, figura en la lista de la página de las Conexiones del punto de conexión privado entrantes de la instancia de API Management del portal.

Tenga en cuenta el estado de conexión del punto de conexión:

  • Aprobada indica que el recurso API Management la aprobó automáticamente.
  • Pendiente indica que la conexión debe ser aprobada manualmente por el propietario del recurso.

Aprobación de conexiones pendientes del punto de conexión privado

Si una conexión de punto de conexión privado está en estado pendiente, un propietario de la instancia de API Management debe aprobarla manualmente para poder usarla.

Si tiene los permisos adecuados, apruebe una conexión de punto de conexión privado en la página Conexiones de puntos de conexión privado de la instancia de API Management en el portal. En el menú contextual (...) de la conexión, seleccione Aprobar.

También puede usar la API REST de Conexión de punto de conexión privado: crear o actualizar de API Management para aprobar las conexiones de punto de conexión privado pendientes.

Deshabilitación opcional del acceso a la red pública

Como alternativa, para limitar el tráfico de entrada de la instancia de API Management solo a los puntos de conexión privados, deshabilite la propiedad de acceso a la red pública. Solo puede deshabilitar el acceso a la red pública después de configurar un punto de conexión privado.

Nota:

El acceso a la red pública solo se puede deshabilitar en instancias de API Management configuradas con un punto de conexión privado, no con otras configuraciones de red.

Para deshabilitar la propiedad de acceso a la red pública en los niveles clásicos mediante la CLI de Azure, ejecute el siguiente comando az apim update , sustituyendo los nombres de la instancia de API Management y el grupo de recursos:

az apim update --name my-apim-service --resource-group my-resource-group --public-network-access false

También puede usar la API REST de Servicio API Management: actualización para deshabilitar el acceso a la red pública estableciendo la propiedad publicNetworkAccess en Disabled.

Validación de una conexión del punto de conexión privado

Una vez creado el punto de conexión privado, confirme su configuración de DNS en el portal.

  1. Vaya al servicio API Management en Azure Portal.

  2. En el menú de la izquierda, en Implementación e infraestructura, seleccione Red>Conexiones de punto de conexión privado entrantes y seleccione el punto de conexión privado que creó.

  3. En el panel de navegación izquierdo, en Configuración, seleccione configuración de DNS.

  4. Revise los registros de DNS y la dirección IP del punto de conexión privado. La dirección IP es una dirección privada en el espacio de direcciones de la subred en donde se configura el punto de conexión privado.

Prueba en la red virtual

Conéctese a una máquina virtual que haya configurado en la red virtual.

Ejecute una utilidad, como nslookup o dig, para buscar la dirección IP del punto de conexión de la puerta de enlace predeterminada a través de Private Link. Por ejemplo:

nslookup my-apim-service.privatelink.azure-api.net

La salida debe incluir la dirección IP privada asociada al punto de conexión privado.

Las llamadas API iniciadas dentro de la red virtual al punto de conexión de la puerta de enlace predeterminada deberían hacerse correctamente.

Prueba de Internet

Desde el exterior de la ruta de acceso del punto de conexión privado, intente llamar al punto de conexión de la puerta de enlace predeterminada de la instancia de API Management. Si el acceso público está deshabilitado, la salida incluye un error con el código de estado 403 y un mensaje similar al siguiente:

Request originated from client public IP address 192.0.2.12, public network access on this 'Microsoft.ApiManagement/service/my-apim-service' is disabled.
       
To connect to 'Microsoft.ApiManagement/service/my-apim-service', please use the Private Endpoint from inside your virtual network. 

Limitación del nombre de dominio personalizado en el nivel Estándar v2

Actualmente, en el nivel Estándar v2, la gestión de API requiere un nombre DNS que se pueda resolver públicamente para permitir el tráfico al punto de enlace de gateway. Si configura un nombre de dominio personalizado para el endpoint de Gateway, ese nombre debe poder resolverse públicamente y no estar restringido a una zona DNS privada.

Como solución alternativa en escenarios en los que limita el acceso público a la puerta de enlace y configura un nombre de dominio privado, puede configurar Application Gateway para recibir tráfico en el nombre de dominio privado y enrutarlo al punto de conexión de puerta de enlace de la instancia de API Management. Para obtener una arquitectura de ejemplo, consulte este repositorio de GitHub.