Permiso para acceder a los espacios de nombres de Azure Service Bus a través de puntos de conexión privados

El servicio Azure Private Link le permite acceder a los servicios de Azure (por ejemplo, Azure Service Bus, Azure Storage y Azure Cosmos DB) y a los servicios de asociados o clientes hospedados por Azure mediante un punto de conexión privado de la red virtual.

Un punto de conexión privado es una interfaz de red que le conecta de forma privada y segura a un servicio con la tecnología de Azure Private Link. El punto de conexión privado usa una dirección IP privada de la red virtual para incorporar el servicio de manera eficaz a su red virtual. Todo el tráfico dirigido al servicio se puede enrutar mediante el punto de conexión privado, por lo que no se necesita ninguna puerta de enlace, dispositivos NAT, conexiones de ExpressRoute o VPN ni direcciones IP públicas. El tráfico entre la red virtual y el servicio atraviesa la red troncal de Microsoft, eliminando la exposición a la red pública de Internet. Puede conectarse a una instancia de un recurso de Azure, lo que le otorga el nivel más alto de granularidad en el control de acceso.

Para más información, consulte ¿Qué es Azure Private Link?

Observaciones importantes

  • Esta característica es compatible con el nivel premium de Azure Service Bus. Para más información sobre el nivel premium, consulte el artículo Niveles de mensajería Premium y Estándar de Service Bus.

  • La implementación de puntos de conexión privados puede evitar que otros servicios de Azure interactúen con Service Bus. Como excepción, puede permitir el acceso a los recursos de Service Bus desde determinados servicios de confianza, incluso cuando los puntos de conexión privados no están habilitados. Para ver una lista de servicios de confianza, consulte Servicios de confianza.

    Los siguientes servicios de Microsoft deben estar en una red virtual

    • Azure App Service
    • Azure Functions
  • Especifique al menos una regla de IP o una regla de red virtual para que el espacio de nombres permita el tráfico solo desde las direcciones IP o la subred especificadas de una red virtual. Si no hay ninguna regla de red virtual y de IP, se puede acceder al espacio de nombres a través de la red pública de Internet (mediante la clave de acceso).

Incorporación de un punto de conexión privado mediante Azure Portal

Requisitos previos

Para integrar un espacio de nombres de Service Bus con Azure Private Link, necesita las siguientes entidades o permisos:

  • Un espacio de nombres de Service Bus.
  • Una red virtual de Azure.
  • Una subred en la red virtual. Puede usar la subred predeterminada.
  • Permisos de propietario o colaborador para el espacio de nombres de Service Bus y la red virtual.

El punto de conexión privado y la red virtual deben estar en la misma región. Al seleccionar una región para el punto de conexión privado mediante el portal, solo se filtran automáticamente las redes virtuales que se encuentran en dicha región. El espacio de nombres de Service Bus puede estar en una región diferente. Y el punto de conexión privado usa una dirección IP privada en la red virtual.

Configuración del acceso privado al crear un espacio de nombres

Al crear un espacio de nombres, solo puede permitir el acceso público (desde todas las redes) o privado (solo a través de puntos de conexión privados) al espacio de nombres.

Si selecciona la opción Acceso privado en la página Redes del Asistente para la creación de espacios de nombres, puede agregar un punto de conexión privado en la página seleccionando el botón + Punto de conexión privado. Consulte la sección siguiente para ver los pasos detallados para agregar un punto de conexión privado.

Captura de pantalla que muestra la página Redes del asistente Crear espacio de nombres con la opción Acceso privado seleccionada.

Configuración del acceso privado para un espacio de nombres existente

Si ya tiene un espacio de nombres existente, puede crear un punto de conexión privado siguiendo estos pasos:

  1. Inicie sesión en Azure Portal.

  2. En la barra de búsqueda, escriba Service Bus.

  3. En la lista, seleccione el espacio de nombres al que desea agregar un punto de conexión privado.

  4. En el menú de la izquierda, seleccione la opción Redes en Configuración.

    Nota

    Puede ver la pestaña Redes solo para los espacios de nombres premium.

  5. En la página Redes, en Acceso a la red pública, seleccione Deshabilitado si desea que solo se acceda al espacio de nombres a través de puntos de conexión privados.

  6. En Permitir que los servicios de Microsoft de confianza omitan este firewall, seleccione si desea permitir que los servicios de Microsoft de confianza omitan este firewall.

    Captura de pantalla de la página Redes con el acceso a una red pública marcado como Deshabilitado.

  7. Para permitir el acceso al espacio de nombres a través de puntos de conexión privados, seleccione la pestaña Conexiones de puntos de conexión privado en la parte superior de la página.

  8. Seleccione el botón + Punto de conexión privado en la parte superior de la página.

    Incorporación del botón de un punto de conexión privado

  9. En la página Conceptos básicos, siga estos pasos:

    1. Seleccione la suscripción de Azure donde desea crear el punto de conexión privado.

    2. Seleccione el grupo de recursos para el recurso de punto de conexión privado.

    3. Escriba el Nombre del punto de conexión privado.

    4. Escriba un nombre para la interfaz de red.

    5. Seleccione la región del punto de conexión privado. El punto de conexión privado debe estar en la misma región que la red virtual, que puede estar en una región diferente al recurso del enlace privado al que se está conectando.

    6. Seleccione el botón Siguiente: Recurso en la parte inferior de la página.

      En esta captura de pantalla se muestra la página Conceptos básicos del asistente Crear un punto de conexión privado.

  10. En la página Recurso, revise la configuración y seleccione Siguiente: Virtual Network en la parte inferior de la página.

    En esta captura de pantalla se muestra la página Recurso del asistente Crear un punto de conexión privado.

  11. En la página Virtual Network, seleccione la subred de una red virtual en la que desee implementar el punto de conexión privado.

    1. Seleccione una red virtual. En la lista desplegable, solo se muestran las redes virtuales de la suscripción y la ubicación seleccionadas actualmente.
    2. Seleccione una subred de la red virtual que seleccionó.
    3. Tenga en cuenta que la directiva de red para los puntos de conexión privados está deshabilitada. Si quiere habilitarla, seleccione Editar, actualice la configuración y seleccione Guardar.
    4. En Configuración de IP privada, la opción Asignar dirección IP de forma dinámica está seleccionada de manera predeterminada. Si desea asignar una dirección IP estática, seleccione Asignar estáticamente dirección IP*.
    5. En Grupo de seguridad de aplicaciones, seleccione un grupo de seguridad de aplicaciones existente o cree uno que se asociará al punto de conexión privado.
    6. Seleccione el botón Siguiente: DNS> situado en la parte inferior de la página.

    En esta captura de pantalla se muestra la página Virtual Network del asistente Crear un punto de conexión privado.

  12. En la página DNS, seleccione si desea que el punto de conexión privado se integre con una zona DNS privada y, a continuación, seleccione Siguiente: etiquetas.

    En esta captura de pantalla se muestra la página DNS del asistente Crear un punto de conexión privado.

  13. En la página Etiquetas, cree cualquier etiqueta (nombres y valores) que desee asociar al recurso de punto de conexión privado. Después, en la parte inferior de la página, seleccione el botón Revisar y crear.

  14. En Revisar y crear, revise toda la configuración y seleccione Crear para crear el punto de conexión privado.

    En esta captura de pantalla se muestra la página Revisar y creación del asistente Crear un punto de conexión privado.

  15. Confirme que se ha creado el punto de conexión privado. Si es el propietario del recurso y ha seleccionado la opción Conectar a un recurso de Azure en mi directorio en Método de conexión, la conexión del punto de conexión debe ser aprobada automáticamente. Si está en el estado pendiente, consulte la sección Administración de puntos de conexión privados desde Azure Portal.

    Punto de conexión privado creado

Servicios de Microsoft de confianza

Al activar la opción ¿Quiere permitir que los servicios de confianza de Microsoft puedan omitir este firewall? , los siguientes servicios adquieren acceso a los recursos de Service Bus.

Servicio de confianza Escenarios de uso admitidos
Azure Event Grid Permite a Azure Event Grid enviar eventos a colas o temas en el espacio de nombres de Service Bus. También debe seguir estos pasos:
  • Habilite la identidad asignada por el sistema para un tema o un dominio
  • Agregue la identidad al rol Remitente de datos de Azure Service Bus en el espacio de nombres de Service Bus
  • A continuación, configure la suscripción de eventos que emplea una cola o tema de Service Bus como punto de conexión para usar la identidad asignada por el sistema.

Para obtener más información, vea Entrega de evento con una identidad administrada

Azure Stream Analytics Permite que un trabajo de Azure Stream Analytics produzca datos en colas de Service Bus en temas.

Importante: El trabajo de Stream Analytics debe estar configurado para usar una identidad administrada y tener acceso al espacio de nombres de Service Bus. Agregue la identidad al rol Remitente de datos de Azure Service Bus en el espacio de nombres de Service Bus.

Azure IoT Hub Permite que un centro de IoT envíe mensajes a colas o temas en el espacio de nombres de Service Bus. También debe seguir estos pasos:
Azure API Management

El servicio API Management le permite enviar mensajes a una cola o un tema de Service Bus en el espacio de nombres de Service Bus.

Azure IoT Central

Permite a IoT Central exportar datos a colas o temas de Service Bus en el espacio de nombres de Service Bus. También debe seguir estos pasos:

  • Habilitación de la identidad asignada por el sistema para la aplicación IoT Central
  • Agregue la identidad al rol Remitente de datos de Azure Service Bus en el espacio de nombres de Service Bus.
  • A continuación, configure el destino de exportación de Service Bus en la aplicación IoT Central para usar la autenticación basada en identidades.
Azure Digital Twins Permite que Azure Digital Twins envíe datos a los temas de Service Bus en el espacio de nombres de Service Bus. También debe seguir estos pasos:

  • Habilite la identidad asignada por el sistema para la instancia de Azure Digital Twins.
  • Agregue la identidad al rol Remitente de datos de Azure Service Bus en el espacio de nombres de Service Bus.
  • Después, configure un punto de conexión de Azure Digital Twins o una conexión del historial de datos de Azure Digital Twins que use la identidad asignada por el sistema para autenticarse. Para más información sobre cómo configurar puntos de conexión y rutas de eventos a recursos de Service Bus desde Azure Digital Twins, consulte Enrutamiento de eventos de Azure Digital Twins y Creación de puntos de conexión en Azure Digital Twins.
Azure Monitor (configuración de diagnóstico y grupos de acciones) Permite a Azure Monitor enviar información de diagnóstico y notificaciones de alertas a Service Bus en el espacio de nombres de Service Bus. Azure Monitor puede leer y escribir datos en el espacio de nombres de Service Bus.
Azure Synapse Permite a Azure Synapse conectarse a Service Bus utilizando la identidad administrada del área de trabajo de Synapse. Agregue los roles de Remitente, Receptor o Propietario de datos de Azure Service Bus a la identidad en el espacio de nombres de Service Bus.

Los demás servicios de confianza para Azure Service Bus se pueden encontrar a continuación:

  • Explorador de datos de Azure
  • Azure Health Data Services
  • Azure Arc
  • Azure Kubernetes
  • Azure Machine Learning
  • Microsoft Purview

Para permitir que los servicios de confianza accedan a su espacio de nombres, cambie a la pestaña Acceso público de la página Redes y seleccione para ¿Quiere permitir que los servicios de confianza de Microsoft puedan omitir este firewall?

Incorporación de un punto de conexión privado mediante PowerShell

En el ejemplo siguiente se muestra cómo usar Azure PowerShell para crear una conexión de punto de conexión privado a un espacio de nombres de Service Bus.

El punto de conexión privado y la red virtual deben estar en la misma región. El espacio de nombres de Service Bus puede estar en una región diferente. Y el punto de conexión privado usa una dirección IP privada en la red virtual.


$rgName = "<RESOURCE GROUP NAME>"
$vnetlocation = "<VNET LOCATION>"
$vnetName = "<VIRTUAL NETWORK NAME>"
$subnetName = "<SUBNET NAME>"
$namespaceLocation = "<NAMESPACE LOCATION>"
$namespaceName = "<NAMESPACE NAME>"
$peConnectionName = "<PRIVATE ENDPOINT CONNECTION NAME>"

# create resource group
New-AzResourceGroup -Name $rgName -Location $vnetLocation 

# create virtual network
$virtualNetwork = New-AzVirtualNetwork `
                    -ResourceGroupName $rgName `
                    -Location $vnetlocation `
                    -Name $vnetName `
                    -AddressPrefix 10.0.0.0/16

# create subnet with endpoint network policy disabled
$subnetConfig = Add-AzVirtualNetworkSubnetConfig `
                    -Name $subnetName `
                    -AddressPrefix 10.0.0.0/24 `
                    -PrivateEndpointNetworkPoliciesFlag "Disabled" `
                    -VirtualNetwork $virtualNetwork

# update virtual network
$virtualNetwork | Set-AzVirtualNetwork

# create premium service bus namespace
$namespaceResource = New-AzResource -Location $namespaceLocation -ResourceName $namespaceName -ResourceGroupName $rgName -Sku @{name = "Premium"; capacity = 1} -Properties @{} -ResourceType "Microsoft.ServiceBus/namespaces" -

# create a private link service connection
$privateEndpointConnection = New-AzPrivateLinkServiceConnection `
                                -Name $peConnectionName `
                                -PrivateLinkServiceId $namespaceResource.ResourceId `
                                -GroupId "namespace"

# get subnet object that you will use in the next step                                
$virtualNetwork = Get-AzVirtualNetwork -ResourceGroupName  $rgName -Name $vnetName
$subnet = $virtualNetwork | Select -ExpandProperty subnets `
                                | Where-Object  {$_.Name -eq $subnetName}  
   
# now, create private endpoint   
$privateEndpoint = New-AzPrivateEndpoint -ResourceGroupName $rgName  `
                                -Name $vnetName   `
                                -Location $vnetlocation `
                                -Subnet  $subnet   `
                                -PrivateLinkServiceConnection $privateEndpointConnection

(Get-AzResource -ResourceId $namespaceResource.ResourceId -ExpandProperties).Properties


Administración de puntos de conexión privados desde Azure Portal

Cuando se crea un punto de conexión privado, se debe aprobar la conexión. Si el recurso para el que va a crear un punto de conexión privado está en el directorio, puede aprobar la solicitud de conexión siempre que tenga permisos suficientes. Si se va a conectar a un recurso de Azure en otro directorio, debe esperar a que el propietario de ese recurso apruebe la solicitud de conexión.

Hay cuatro estados de aprovisionamiento:

Acción del servicio Estado de punto de conexión privado del consumidor del servicio Descripción
None Pending La conexión se crea manualmente y está pendiente de aprobación por parte del propietario del recurso de Private Link.
Aprobación Aprobado La conexión se aprobó de forma automática o manual y está lista para usarse.
Reject Rechazada El propietario del recurso de vínculo privado rechazó la conexión.
Remove Escenario desconectado El propietario del recurso del vínculo privado quitó la conexión, el punto de conexión privado se vuelve informativo y debe eliminarse para la limpieza.

Aprobación, rechazo o eliminación de una conexión de punto de conexión privado

  1. Inicie sesión en Azure Portal.
  2. En la barra de búsqueda, escriba Service Bus.
  3. Seleccione el espacio de nombres que desea administrar.
  4. Seleccione la pestaña Redes.
  5. Consulte la sección siguiente adecuada en función de la operación que desee: aprobar, rechazar o eliminar.

Aprobación de una conexión de punto de conexión privado

  1. Si hay alguna conexión pendiente, verá una conexión que aparece con el estado Pendiente como estado de aprovisionamiento.

  2. Seleccione el punto de conexión privado que desea aprobar.

  3. Seleccione el botón Aprobar.

    Aprobación de un punto de conexión privado

  4. En la página Aprobación de la conexión escriba un comentario opcional y seleccione Yes. Si selecciona No, no ocurrirá nada.

    Página Aprobar conexión

  5. Ahora puede ver que el estado de la conexión de la lista ha cambiado a Aprobado.

    Estado de la conexión: aprobada

Rechazo de una conexión de punto de conexión privado

  1. Si hay conexiones del punto de conexión privado que quiere rechazar, ya sea una solicitud pendiente o una conexión existente que se aprobó antes, seleccione la conexión del punto de conexión y seleccione el botón Rechazar.

    Botón Rechazar

  2. En la página Rechazo de la conexión, escriba un comentario opcional y seleccione . Si selecciona No, no ocurrirá nada.

    Página Rechazar conexión

  3. Ahora puede ver que el estado de la conexión de la lista ha cambiado a Rechazado.

    Punto de conexión rechazado

Eliminación de una conexión de punto de conexión privado

  1. Para eliminar una conexión de punto de conexión privado, selecciónela en la lista y seleccione Eliminar en la barra de herramientas.

    Botón Quitar

  2. En la página Eliminar conexión, seleccione para confirmar la eliminación del punto de conexión privado. Si selecciona No, no ocurrirá nada.

    Página Eliminar conexión

  3. Ahora puede ver que el estado ha cambiado a Desconectado. A continuación, el punto de conexión desaparecerá de la lista.

Debe comprobar que los recursos de la red virtual del punto de conexión privado se conectan al espacio de nombres de Service Bus mediante una dirección IP privada y que tienen la integración correcta de la zona DNS privada.

En primer lugar, cree una máquina virtual siguiendo los pasos que encontrará en Creación de una máquina virtual Windows en Azure Portal.

Haga clic en la pestaña Redes:

  1. Especifique Red virtual y Subred. Debe seleccionar la instancia de Virtual Network en la que implementó el punto de conexión privado.
  2. Especifique un recurso de dirección IP pública.
  3. En Grupo de seguridad de red de NIC, seleccione Ninguno.
  4. En Equilibrio de carga, seleccione No.

Conéctese a la máquina virtual, abra la línea de comandos y ejecute el siguiente comando:

nslookup <service-bus-namespace-name>.servicebus.windows.net

Debería ver un resultado con el siguiente aspecto.

Non-authoritative answer:
Name:    <service-bus-namespace-name>.privatelink.servicebus.windows.net
Address:  10.0.0.4 (private IP address associated with the private endpoint)
Aliases:  <service-bus-namespace-name>.servicebus.windows.net

Limitaciones y consideraciones de diseño

  • Para más información sobre los precios, consulte Precios de Azure Private Link.
  • Esta característica está disponible en todas las regiones públicas de Azure.
  • Número máximo de puntos de conexión privados por espacio de nombres de Service Bus: 120.
  • El tráfico se bloquea en el nivel de aplicación, no en la capa TCP. Por lo tanto, verá que las conexiones TCP o nslookup las operaciones que se realizan correctamente en el punto de conexión público, aunque el acceso público esté deshabilitado.

Para más información, consulte Servicio Azure Private Link: Limitaciones

Pasos siguientes