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.
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:
Inicie sesión en Azure Portal.
En la barra de búsqueda, escriba Service Bus.
En la lista, seleccione el espacio de nombres al que desea agregar un punto de conexión privado.
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.
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.
En Permitir que los servicios de Microsoft de confianza omitan este firewall, seleccione Sí si desea permitir que los servicios de Microsoft de confianza omitan este firewall.
Seleccione Guardar en la barra de herramientas.
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.
Seleccione el botón + Punto de conexión privado en la parte superior de la página.
En la página Conceptos básicos, siga estos pasos:
Seleccione la suscripción de Azure donde desea crear el punto de conexión privado.
Seleccione el grupo de recursos para el recurso de punto de conexión privado.
Escriba el Nombre del punto de conexión privado.
Escriba un nombre para la interfaz de red.
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.
Seleccione el botón Siguiente: Recurso > en la parte inferior de la página.
En la página Recurso, revise la configuración y seleccione Siguiente: Virtual Network en la parte inferior de la página.
En la página Virtual Network, seleccione la subred de una red virtual en la que desee implementar el punto de conexión privado.
- Seleccione una red virtual. En la lista desplegable, solo se muestran las redes virtuales de la suscripción y la ubicación seleccionadas actualmente.
- Seleccione una subred de la red virtual que seleccionó.
- 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.
- 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*.
- 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.
- Seleccione el botón Siguiente: DNS> situado en la parte inferior de la página.
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 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.
En Revisar y crear, revise toda la configuración y seleccione Crear para crear el punto de conexión privado.
Confirme que se ha creado el punto de conexión privado. Si es el propietario del recurso, en la página Redes del espacio de nombres de Service Bus, la conexión del punto de conexión debe aprobarse automáticamente. Si está en el estado pendiente, consulte la sección Administración de puntos de conexión privados desde Azure Portal.
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:
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:
|
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:
|
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
- Microsoft Defender for Cloud
- Centro de proveedores de Azure
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 Sí 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 de 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
- Inicie sesión en Azure Portal.
- En la barra de búsqueda, escriba Service Bus.
- Seleccione el espacio de nombres que desea administrar.
- Seleccione la pestaña Redes.
- Consulte la sección siguiente adecuada en función de la operación que desee: aprobar, rechazar o eliminar.
Rechazo de una conexión de punto de conexión privado
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.
En la página Rechazo de la conexión, escriba un comentario opcional y seleccione Sí. Si selecciona No, no ocurrirá nada.
Ahora puede ver que el estado de la conexión de la lista ha cambiado a Rechazado.
Eliminación de una conexión de punto de conexión privado
Para eliminar una conexión de punto de conexión privado, selecciónela en la lista y seleccione Eliminar en la barra de herramientas.
En la página Eliminar conexión, seleccione Sí para confirmar la eliminación del punto de conexión privado. Si selecciona No, no ocurrirá nada.
Ahora puede ver que el estado ha cambiado a Desconectado. A continuación, el punto de conexión desaparecerá de la lista.
Aprobación de una conexión de punto de conexión privado
- Si hay alguna conexión pendiente, verá una conexión que aparece con el estado Pendiente como estado de aprovisionamiento.
- Seleccione el punto de conexión privado que desea aprobar.
- Seleccione el botón Aprobar de la barra de herramientas.
- En la página Aprobación de la conexión escriba un comentario opcional y seleccione Yes. Si selecciona No, no ocurrirá nada.
- Ahora puede ver que el estado de la conexión de la lista ha cambiado a Aprobado.
Validación de que la conexión de vínculo privado funciona
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:
- Especifique Red virtual y Subred. Debe seleccionar la instancia de Virtual Network en la que implementó el punto de conexión privado.
- Especifique un recurso de dirección IP pública.
- En Grupo de seguridad de red de NIC, seleccione Ninguno.
- 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 las operaciones
nslookup
tienen éxito 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
- Más información sobre Azure Private Link.
- Más información sobre Azure Service Bus