Uso de puntos de conexión privados para Azure SignalR Service

Puede usar puntos de conexión privados en Azure SignalR Service para que los clientes de una red virtual puedan acceder de forma segura a los datos a través de una instancia de Private Link. El punto de conexión privado usa una dirección IP del espacio de direcciones de la red virtual para Azure SignalR Service. El tráfico de red entre los clientes de la red virtual y Azure SignalR Service atraviesa un vínculo privado de la red troncal de Microsoft, lo que elimina la exposición a la red pública de Internet.

El uso de puntos de conexión privados para Azure SignalR Service le permite:

  • Proteger Azure SignalR Service mediante el control de acceso a la red para bloquear todas las conexiones en el punto de conexión público de Azure SignalR Service.
  • Aumentar la seguridad de la red virtual (VNet), ya que permite bloquear la filtración de datos de la red virtual.
  • Conectarse de forma segura a Azure SignalR Service desde las redes locales que se conectan a la red virtual mediante VPN o instancias de ExpressRoute con emparejamiento privado.

En este artículo se muestra cómo usar puntos de conexión privados con Azure SignalR Service.

Información general conceptual

Overview of private endpoints for Azure SignalR Service

Un punto de conexión privado es una interfaz de red especial para un servicio de Azure de la red virtual. Cuando se crea un punto de conexión privado para Azure SignalR Service, este proporciona conectividad segura entre los clientes de la red virtual y el servicio. Al punto de conexión privado se le asigna una dirección IP del intervalo de direcciones IP de la red virtual. La conexión entre el punto de conexión privado y Azure SignalR Service usa un vínculo privado seguro.

Las aplicaciones de la red virtual se pueden conectar a Azure SignalR Service a través del punto de conexión privado sin problemas, ya que se usan las mismas cadenas de conexión y mecanismos de autorización que en cualquier otro caso. Los puntos de conexión privados se pueden usar con todos los protocolos que admita Azure SignalR Service, incluida la API REST.

Cuando se crea un punto de conexión privado para una instancia de Azure SignalR Service, se envía una solicitud de consentimiento para su aprobación al propietario de Azure SignalR Service. Si el usuario que solicita la creación del punto de conexión privado también es propietario de la instancia de Azure SignalR Service, esta solicitud de consentimiento se aprueba automáticamente.

Los propietarios de Azure SignalR Service pueden administrar las solicitudes de consentimiento y los puntos de conexión privados desde la pestaña Puntos de conexión privados de Azure SignalR Service en Azure Portal.

Sugerencia

Si desea restringir el acceso a Azure SignalR Service de modo que solo se pueda realizar mediante el punto de conexión privado, configure el control de acceso de red para denegar o controlar todo acceso que se realice mediante el punto de conexión público.

Conexión a puntos de conexión privados

Los clientes de una red virtual que usen el punto de conexión privado deben utilizar la misma cadena de conexión para Azure SignalR Service que aquellos clientes que se conectan mediante el punto de conexión público. Confiamos en la resolución del DNS para enrutar automáticamente las conexiones desde la red virtual a Azure SignalR Service a través de un vínculo privado.

Importante

Use la misma cadena de conexión para conectarse a Azure SignalR Service mediante puntos de conexión privados, tal como haría en otras ocasiones. No se conecte a Azure SignalR Service mediante su dirección URL de subdominio privatelink.

De forma predeterminada, se crea una zona DNS privada conectada a la red virtual con las actualizaciones necesarias para los puntos de conexión privados. Sin embargo, si usa su propio servidor DNS, puede que tenga que realizar otros cambios en la configuración de DNS. En la sección Cambios de DNS de puntos de conexión privados se describen las actualizaciones necesarias para los puntos de conexión privados.

Cambios de DNS en puntos de conexión privados

Al crear un punto de conexión privado, el registro del recurso CNAME de DNS de Azure SignalR Service se actualiza a un alias de un subdominio con el prefijo privatelink. De forma predeterminada, también se crea una zona DNS privada, que se corresponde con el subdominio privatelink, con los registros de recursos D de DNS para los puntos de conexión privados.

Al resolver el nombre de dominio de Azure SignalR Service desde fuera de la red virtual con el punto de conexión privado, se resuelve en el punto de conexión público de Azure SignalR Service. Cuando se resuelve desde la red virtual que hospeda el punto de conexión privado, el nombre de dominio se resuelve en la dirección IP de este.

En el ejemplo que se ilustra, los registros de recursos DNS de Azure SignalR Service "foobar", cuando se resuelven desde fuera de la red virtual que hospeda el punto de conexión privado, serán:

Nombre Tipo Value
foobar.service.signalr.net CNAME foobar.privatelink.service.signalr.net
foobar.privatelink.service.signalr.net A <Dirección IP pública de Azure SignalR>

Como ya se ha mencionado, puede denegar o controlar el acceso de los clientes de fuera de la red virtual con el punto de conexión público mediante el control de acceso de red.

Los registros de recursos DNS "foobar", cuando los resuelva un cliente en la red virtual que hospeda el punto de conexión privado, serán:

Nombre Tipo Value
foobar.service.signalr.net CNAME foobar.privatelink.service.signalr.net
foobar.privatelink.service.signalr.net A 10.1.1.5

Este enfoque permite el acceso a Azure SignalR Service usando la misma cadena de conexión tanto con los clientes de la red virtual que hospeda los puntos de conexión privados como con los clientes que estén fuera de ella.

Si va a usar un servidor DNS personalizado en la red, los clientes deben ser capaces de resolver el FQDN del punto de conexión de Azure SignalR Service en la dirección IP del punto de conexión privado. Debe configurar el servidor DNS para delegar el subdominio del vínculo privado en la zona DNS privada de la red virtual, o bien configurar los registros D para foobar.privatelink.service.signalr.net con la dirección IP del punto de conexión privado.

Sugerencia

Cuando use un servidor DNS personalizado o local, debe configurarlo para resolver el nombre de Azure SignalR Service en el subdominio privatelink en la dirección IP del punto de conexión privado. Para ello, puede delegar el subdominio privatelink en la zona DNS privada de la red virtual, o bien configurar la zona DNS en el servidor DNS y agregar los registros A de DNS.

El nombre de zona DNS recomendado para los puntos de conexión privados de Azure SignalR Service es privatelink.service.signalr.net.

Para más información sobre cómo configurar su propio servidor DNS para que admita puntos de conexión privados, consulte los artículos siguientes:

Creación de un punto de conexión privado

Creación de un punto de conexión privado junto con una nueva instancia de Azure SignalR Service en Azure Portal

  1. Al crear una instancia de Azure SignalR Service, seleccione la pestaña Redes . Elija Punto de conexión privado como método de conectividad.

    Create Azure SignalR Service - Networking tab

  2. Seleccione Agregar. Rellene la suscripción, el grupo de recursos, la ubicación y el nombre del nuevo punto de conexión privado. Elija una red virtual y una subred.

    Create Azure SignalR Service - Add private endpoint

  3. Seleccione Revisar + crear.

Creación de un punto de conexión privado para una instancia de Azure SignalR Service existente en Azure Portal

  1. Vaya a la instancia de Azure SignalR Service.

  2. Seleccione el menú de configuración denominado Conexiones de punto de conexión privado.

  3. Seleccione el botón + Punto de conexión privado en la parte superior.

    Private endpoint connections blade

  4. Especifique la suscripción, el grupo de recursos, el nombre del recurso y la región del nuevo punto de conexión privado.

    Create private endpoint - Basics

  5. Elija el recurso de Azure SignalR Service de destino.

    Create private endpoint - Resource

  6. Elección de la red virtual de destino

    Create private endpoint - Configuration

  7. Seleccione Revisar + crear.

Creación de un punto de conexión privado mediante la CLI de Azure

  1. Inicio de sesión en la CLI de Azure
    az login
    
  2. Establecimiento de la suscripción de Azure
    az account set --subscription {AZURE SUBSCRIPTION ID}
    
  3. Creación de un nuevo grupo de recursos
    az group create -n {RG} -l {AZURE REGION}
    
  4. Registro de Microsoft.SignalRService como proveedor
    az provider register -n Microsoft.SignalRService
    
  5. Creación de una instancia de Azure SignalR Service
    az signalr create --name {NAME} --resource-group {RG} --location {AZURE REGION} --sku Standard_S1
    
  6. Creación de una red virtual
    az network vnet create --resource-group {RG} --name {vNet NAME} --location {AZURE REGION}
    
  7. Adición de una subred
    az network vnet subnet create --resource-group {RG} --vnet-name {vNet NAME} --name {subnet NAME} --address-prefixes {addressPrefix}
    
  8. Deshabilitar directivas de red virtual
    az network vnet subnet update --name {subnet NAME} --resource-group {RG} --vnet-name {vNet NAME} --disable-private-endpoint-network-policies true
    
  9. Agregar una zona de DNS privado
    az network private-dns zone create --resource-group {RG} --name privatelink.service.signalr.net
    
  10. Vinculación de DNS privado zona a red virtual
    az network private-dns link vnet create --resource-group {RG} --virtual-network {vNet NAME} --zone-name privatelink.service.signalr.net --name {dnsZoneLinkName} --registration-enabled true
    
  11. Creación de un punto de conexión privado (aprobación automática)
    az network private-endpoint create --resource-group {RG} --vnet-name {vNet NAME} --subnet {subnet NAME} --name {Private Endpoint Name}  --private-connection-resource-id "/subscriptions/{AZURE SUBSCRIPTION ID}/resourceGroups/{RG}/providers/Microsoft.SignalRService/SignalR/{NAME}" --group-ids signalr --connection-name {Private Link Connection Name} --location {AZURE REGION}
    
  12. Creación de un punto de conexión privado (solicitud manual de aprobación)
    az network private-endpoint create --resource-group {RG} --vnet-name {vNet NAME} --subnet {subnet NAME} --name {Private Endpoint Name}  --private-connection-resource-id "/subscriptions/{AZURE SUBSCRIPTION ID}/resourceGroups/{RG}/providers/Microsoft.SignalRService/SignalR/{NAME}" --group-ids signalr --connection-name {Private Link Connection Name} --location {AZURE REGION} --manual-request
    
  13. Mostrar estado de Conectar ion
    az network private-endpoint show --resource-group {RG} --name {Private Endpoint Name}
    

Precios

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

Problemas conocidos

Tenga en cuenta los siguientes problemas conocidos relacionados con los puntos de conexión privados para Azure SignalR Service

Nivel gratis

No se puede crear ningún punto de conexión privado de Azure SignalR Service en el nivel gratuito.

Restricciones de acceso para los clientes de redes virtuales con puntos de conexión privados

Los clientes de redes virtuales con puntos de conexión privados se enfrentan a ciertas restricciones al acceder a otras instancias de Azure SignalR Service que tienen puntos de conexión privados. Por ejemplo:

  • Cuando la red virtual N1 tiene un punto de conexión privado para una instancia de Azure SignalR Service S1
    • Si una instancia S2 de Azure SignalR Service tiene un punto de conexión privado en una red virtual N2, los clientes de la red virtual N1 también deben tener acceso a la instancia S2 de Azure SignalR Service con un punto de conexión privado.
    • Si una instancia S2 de Azure SignalR Service no tiene ningún punto de conexión privado, los clientes de la red virtual N1 pueden acceder a Azure SignalR Service en esa cuenta sin un punto de conexión privado.

Esta restricción es el resultado de los cambios de DNS realizados cuando Azure SignalR Service S2 crea un punto de conexión privado.

Pasos siguientes