Compartir a través de


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

Nota:

A partir del 1 de junio de 2024, las aplicaciones de App Service recién creadas pueden generar un nombre de host predeterminado único que use la convención de nomenclatura <app-name>-<random-hash>.<region>.azurewebsites.net. Los nombres de aplicación existentes permanecen sin cambios. Por ejemplo:

myapp-ds27dh7271aah175.westus-01.azurewebsites.net

Para obtener más información, consulte Nombre de host predeterminado único para el recurso de App Service.

Importante

Los puntos de conexión privados están disponible para aplicaciones de Windows y Linux, en contenedores o no, hospedados en estos planes de App Service: Básico, Estándar, PremiumV2, PremiumV3, IsolatedV2 y Functions Premium (también referido como plan Elastic Premium).

Puede usar un punto de conexión privado para las aplicaciones de App Service. El punto de conexión privado permite que los clientes ubicados en la red privada accedan de forma segura a la aplicación desde 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 recorre la red virtual y una instancia de Private Link en la red troncal de Microsoft. Esta configuración elimina la exposición a la red pública de Internet.

El uso de un punto de conexión privado para la aplicación le permite lo siguiente:

  • Proteja la aplicación mediante la configuración del punto de conexión privado y deshabilite el acceso a la red pública para eliminar 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.

Información general conceptual

Un punto de conexión privado es una interfaz de red (NIC) especial para la aplicación de App Service en una subred dentro 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 este punto de conexión privado. Puede insertar tráfico saliente en la red de una subred diferente mediante la característica 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 nombre del subrecurso de una ranura es sites-<slot-name>.

La subred en la que se conecta el punto de conexión privado puede tener otros recursos. 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.

Desde la perspectiva de seguridad:

  • El punto de conexión privado 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 que el acceso a la red pública está deshabilitado.
  • Puede habilitar varios puntos de conexión privados en otras redes virtuales y subredes, incluidas las redes virtuales de otras regiones.
  • Las reglas de restricciones 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 quitando todas las reglas del grupo de seguridad de red (NSG) donde el destino es etiquetar Internet o servicios de Azure.

En los registros HTTP web de la aplicación, se encuentra la dirección IP de origen del cliente. Esta característica se implementa mediante el protocolo proxy TCP, reenviando la propiedad de la dirección IP de cliente a la aplicación. Para obtener más información, consulte Cómo obtener información de conexión mediante el proxy TCP V2.

Diagrama en el que se muestra la Información general global del punto de conexión privado de la aplicación de App Service.

DNS

Cuando se usa un punto de conexión privado para aplicaciones de App Service, la dirección URL solicitada debe coincidir con el nombre de la aplicación. De manera predeterminada, <app-name>.azurewebsites.net. Al usar el nombre de host predeterminado único, el nombre de la aplicación tiene el formato <app-name>-<random-hash>.<region>.azurewebsites.net. En los siguientes ejemplos mywebapp también podría representar el nombre de host único regionalizado completo.

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 Value
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 DNS para que apunte al nombre canónico: mywebapp.privatelink.azurewebsites.net. Por ejemplo, la resolución de nombres es:

Nombre Tipo Value 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 su punto de conexión privado; recibirá 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. Por ejemplo, la resolución de nombres es:

Nombre Tipo Value Comentario
mywebapp.azurewebsites.net CNAME mywebapp.privatelink.azurewebsites.net <--Azure crea esta entrada CNAME 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 <--Esta entrada se administra en el sistema DNS para apuntar a la dirección IP del punto de conexión privado

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

Si necesita usar un nombre DNS personalizado, debe agregar el nombre personalizado en la aplicación y debe validarlo, como cualquier nombre personalizado, mediante la resolución DNS pública. Para obtener más información, vea Validación de un DNS personalizado.

Para la consola de Kudu, o la API REST de Kudu (implementación con agentes autohospedados de Azure DevOps Services, por ejemplo) debe crear dos registros que apunten a la 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 de la aplicación.

Nombre Tipo Value
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 en Azure Portal en el panel de configuración de App Service Environment o a través de la siguiente CLI:

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 Azure Functions en el plan Elástico Premium con un punto de conexión privado, para ejecutar la función en Azure Portal debe tener acceso directo a la red. 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. Le recomendamos implementar el código en una ranura y depurarlo allí de forma remota.
  • 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.
  • La TLS basada en la IP no se admite 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 el punto de conexión de servicio habilitado Microsoft.Web 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 de tipo Microsoft.Network/privateEndpoints. Para más información, consulte Reglas y restricciones de nomenclatura.

Para obtener información actualizada sobre las limitaciones, vea Limitaciones.