Compartir a través de


Uso de puntos de conexión privados para aplicaciones de Azure App Service

Puede usar un punto de conexión privado para las aplicaciones de Azure App Service. El punto de conexión privado permite a los clientes ubicados en la red privada acceder de forma segura a una aplicación a través de Azure Private Link. El punto de conexión privado usa una dirección IP del espacio de direcciones de la red virtual de Azure. El tráfico de red entre un cliente de la red privada y la aplicación pasa por la red virtual y Private Link en la red troncal de Microsoft. Esta configuración elimina la exposición de la red pública de Internet.

Al usar un punto de conexión privado para la aplicación, puede hacer lo siguiente:

  • Proteja la aplicación al configurar el punto de conexión privado y deshabilite el acceso a la red pública, lo que elimina la exposición pública.
  • Conéctese de forma segura a su aplicación desde redes locales que se conectan a la red virtual usando una VPN o un emparejamiento privado de ExpressRoute.
  • Evite la filtración de datos de la red virtual.

Importante

Los puntos de conexión privados están disponibles para aplicaciones de Windows y Linux, en contenedores o no, hospedadas en los siguientes planes de App Service: Básico, Estándar, PremiumV2, PremiumV3, IsolatedV2, Functions Premium (a veces denominado plan Elastic Premium).

Información general conceptual

Un punto de conexión privado es una interfaz de red para la aplicación de App Service en una subred de la red virtual.

Cuando se crea un punto de conexión privado para la aplicación, se proporciona una conectividad segura entre los clientes de la red privada y la aplicación. Al punto de conexión privado se le asigna una dirección IP del intervalo de direcciones IP de su red virtual. La conexión entre el punto de conexión privado y la aplicación usa una instancia de Private Link segura. El punto de conexión privado solo se usa para el tráfico entrante a la aplicación. El tráfico saliente no usa el punto de conexión privado. Puede redireccionar el tráfico saliente a su red en una subred diferente mediante la funcionalidad de integración de red virtual.

Cada ranura de una aplicación se configura por separado. Puede usar hasta 100 puntos de conexión privados por ranura. No se puede compartir un punto de conexión privado entre ranuras. El subresource nombre de una ranura es sites-<slot-name>.

La subred que se usa para conectar el punto de conexión privado puede tener otros recursos en ella. No necesita una subred vacía dedicada.

También puede implementar el punto de conexión privado en una región diferente de la aplicación.

Nota:

La característica de integración de red virtual no puede usar la misma subred que el punto de conexión privado.

Consideraciones de seguridad

Los puntos de conexión privados y el acceso público pueden coexistir en una aplicación. Para más información, vea esta introducción a las restricciones de acceso.

Para garantizar el aislamiento, al habilitar puntos de conexión privados en la aplicación, asegúrese de deshabilitar el acceso a la red pública. Puede habilitar varios puntos de conexión privados en otras redes virtuales y subredes, incluidas las redes virtuales de otras regiones.

Las reglas de restricción de acceso de la aplicación no se evalúan para el tráfico a través del punto de conexión privado. Puede eliminar el riesgo de filtración de datos de la red virtual. Elimine todas las reglas del grupo de seguridad de red (NSG) donde el destino sea la etiqueta de internet o los servicios de Azure.

Puede encontrar la dirección IP de origen del cliente en los registros HTTP web de la aplicación. Esta característica se implementa mediante el proxy del protocolo de control de transmisión (TCP), que reenvía la propiedad IP del cliente hasta la aplicación. Para obtener más información, consulte Obtención de información de conexión mediante el proxy TCP v2.

Diagrama que muestra una visión general global de los puntos de conexión privados de App Service.

DNS (Sistema de Nombres de Dominio)

Cuando se usa el punto de conexión privado para las aplicaciones de App Service, la dirección URL solicitada debe coincidir con la dirección de la aplicación. De manera predeterminada, sin un punto de conexión privado, el nombre público de la aplicación web es un nombre canónico para el clúster. Por ejemplo, la resolución de nombres es:

Nombre Tipo Valor
mywebapp.azurewebsites.net CNAME clustername.azurewebsites.windows.net
clustername.azurewebsites.windows.net CNAME cloudservicename.cloudapp.net
cloudservicename.cloudapp.net A 192.0.2.13

Al implementar un punto de conexión privado, el enfoque actualiza la entrada del sistema de nombres de dominio (DNS) para que apunte al nombre canónico: mywebapp.privatelink.azurewebsites.net. Por ejemplo, la resolución de nombres es:

Nombre Tipo Valor Comentario
mywebapp.azurewebsites.net CNAME mywebapp.privatelink.azurewebsites.net
mywebapp.privatelink.azurewebsites.net CNAME clustername.azurewebsites.windows.net
clustername.azurewebsites.windows.net CNAME cloudservicename.cloudapp.net
cloudservicename.cloudapp.net A 192.0.2.13 <--Esta dirección IP pública no es el punto de conexión privado. Recibe un error 403.

Debe configurar un servidor DNS privado o una zona privada de Azure DNS. Para las pruebas, puede modificar la entrada de host de la máquina de pruebas. La zona DNS que necesita crear es: privatelink.azurewebsites.net. Realice el registro de la aplicación con un registro A y la dirección IP del punto de conexión privado. Con los grupos de zonas DNS privadas de Azure, los registros DNS se agregan automáticamente a la zona DNS privada.

Por ejemplo, la resolución de nombres es:

Nombre Tipo Valor Comentario
mywebapp.azurewebsites.net CNAME mywebapp.privatelink.azurewebsites.net <--Azure crea esta CNAME entrada en DNS público de Azure para que apunte la dirección de la aplicación a la dirección del punto de conexión privado.
mywebapp.privatelink.azurewebsites.net A 10.10.10.8 <--Usted administra esta entrada en su sistema DNS para que apunte a la dirección IP de su punto de conexión privado.

Al configurar esta configuración de DNS, puede acceder a la aplicación de forma privada con el nombre mywebapp.azurewebsites.netpredeterminado . Debe usar este nombre, ya que el certificado predeterminado se emite para *.azurewebsites.net.

Nombre de dominio personalizado

Si necesita usar un nombre de dominio personalizado, agregue el nombre personalizado en la aplicación. Debe validar el nombre personalizado como cualquier nombre personalizado mediante la resolución DNS pública. Para obtener más información, vea Validación de un DNS personalizado.

En la zona DNS personalizada, debe actualizar el registro DNS para que apunte al punto de conexión privado. Si la aplicación ya está configurada con resolución DNS para el nombre de host predeterminado, la manera preferida es agregar un CNAME registro para el dominio personalizado que apunta a mywebapp.azurewebsites.net. Si solo desea que el nombre de dominio personalizado se resuelva en el punto de conexión privado, puede agregar un registro A directamente con la dirección IP del punto de conexión privado.

Punto de conexión de Kudu/scm

Para la consola de Kudu o la API rest de Kudu (para la implementación con agentes autohospedados de Azure DevOps Services, por ejemplo), debe crear un segundo registro que apunte a la dirección IP del punto de conexión privado en la zona privada de Azure DNS o en el servidor DNS personalizado. La primera es para la aplicación y la segunda es para el SCM (administración del control de código fuente) de la aplicación. Con los grupos de zonas DNS privadas de Azure, el punto de conexión scm se agrega automáticamente.

Nombre Tipo Valor
mywebapp.privatelink.azurewebsites.net A PrivateEndpointIP
mywebapp.scm.privatelink.azurewebsites.net A PrivateEndpointIP

Consideración especial para App Service Environment v3

Para habilitar el punto de conexión privado para las aplicaciones hospedadas en un plan IsolatedV2 (App Service Environment v3), habilite la compatibilidad con puntos de conexión privados en el nivel de App Service Environment. Puede activar la característica mediante Azure Portal en el panel de configuración de App Service Environment o a través de la CLI siguiente:

az appservice ase update --name myasename --allow-new-private-endpoint-connections true

Requisitos específicos

Si la red virtual se encuentra en una suscripción diferente que la aplicación, asegúrese de que la suscripción con la red virtual esté registrada para el proveedor de recursos Microsoft.Web. Para registrar explícitamente el proveedor, vea Registro del proveedor de recursos. Registrará automáticamente el proveedor al crear la primera aplicación web en una suscripción.

Precios

Para más información sobre los precios, consulte Precios de Azure Private Link.

Limitaciones

  • Al usar una función de Azure en el plan Elastic Premium con un punto de conexión privado, debe tener acceso directo a la red para ejecutar la función en Azure Portal. De lo contrario, se producirá un error HTTP 403. El explorador debe ser capaz de contactar con el punto de conexión privado para ejecutar la función desde Azure Portal.
  • Puede conectar hasta 100 puntos de conexión privados a una aplicación en particular.
  • La funcionalidad de depuración remota no está disponible a través del punto de conexión privado. Se recomienda implementar el código en una ranura y depurarlo de forma remota allí.
  • El acceso FTP se proporciona a través de la dirección IP pública de entrada. Un punto de conexión privado no admite el acceso FTP a la aplicación.
  • El TLS basado en IP no es compatible con puntos de conexión privados.
  • Las aplicaciones que configure con puntos de conexión privados no pueden recibir tráfico público procedente de subredes con un Microsoft.Web punto de conexión de servicio habilitado y no pueden usar reglas de restricción de acceso basadas en puntos de conexión de servicio.
  • La nomenclatura del punto de conexión privado debe seguir las reglas definidas para los recursos del Microsoft.Network/privateEndpoints tipo. Para más información, consulte Reglas y restricciones de nomenclatura.

Para obtener información actualizada sobre las limitaciones, consulte esta documentación.