Permitir el acceso al espacio de nombres de Azure Service Bus desde redes virtuales específicas
La integración de Service Bus con Puntos de conexión de servicio de Red virtual permite el acceso seguro a las funcionalidades de mensajería desde cargas de trabajo como máquinas virtuales enlazadas a redes virtuales, con la ruta de acceso de tráfico de red que se protege en ambos extremos.
Una vez configurado para enlazarse a al menos un punto de conexión de servicio de subred de red virtual, el espacio de nombres correspondiente de Service Bus ya no aceptará tráfico desde ningún lugar, sino las redes virtuales autorizadas y, opcionalmente, direcciones IP de Internet específicas. Desde la perspectiva de la red virtual, el enlace de un espacio de nombres de Service Bus a un punto de conexión de servicio configura un túnel de redes aislado desde la subred de la red virtual al servicio de mensajería.
El resultado es una relación privada y aislada entre las cargas de trabajo enlazadas a la subred y el espacio de nombres respectivo de Service Bus, a pesar de que la dirección de red que se puede observar en el punto de conexión de servicio de mensajería esté en un intervalo IP público.
Observaciones importantes
Solo se admiten redes virtuales en espacios de nombres de Service Bus del nivel Premium. Al usar puntos de conexión de servicio de red virtual con Service Bus, no debe habilitar estos puntos de conexión en aplicaciones que combinan espacios de nombres de Service Bus de nivel estándar y Premium. Dado que el nivel estándar no admite redes virtuales. el punto de conexión está restringido solo a los espacios de nombres de nivel Premium.
La implementación de la integración de instancias de redes virtuales 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 de servicio de red 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).
Escenarios de seguridad avanzados que habilita la integración de red virtual
En el caso de soluciones que requieren una estricta seguridad compartimentalizada y en las que las subredes de redes virtuales proporcionan la segmentación entre los servicios compartimentalizados, estas siguen necesitando, por lo general, rutas de comunicación entre los servicios que residen en esos compartimientos.
Cualquier ruta IP inmediata entre compartimientos, incluidos aquellos que transportan HTTPS a través de TCP/IP, tienen el riesgo de sufrir ataques por puntos vulnerables en la capa de red o en capas superiores. Los servicios de mensajería proporcionan rutas de comunicación aisladas, donde los mensajes incluso se escriben en discos cuando se trasladan entre entidades. Las cargas de trabajo de dos redes virtuales distintas enlazadas a la misma instancia de Service Bus pueden comunicarse de forma eficaz y confiable mediante mensajes, al tiempo que se preserva la integridad de los respectivos límites de aislamiento de red.
Esto significa que sus soluciones confidenciales en la nube no solo obtienen acceso a las funcionalidades de mensajería asíncrona de Azure (líderes del sector en fiabilidad y escalabilidad), sino que también pueden usar la mensajería para crear rutas de comunicación entre compartimentos seguros de la solución, que son intrínsecamente más seguros de lo que se puede lograr con cualquier otro modo de comunicación entre iguales, incluyendo en protocolo HTTPS y los protocolos de socket protegidos por TLS.
Enlace de Service Bus a Virtual Networks
Las reglas de red virtual son una característica de firewall que controla si el servidor de Azure Service Bus acepta las conexiones de una subred determinada de una red virtual.
Enlazar un espacio de nombres de Service Bus a una red virtual es un proceso de dos pasos. Primero debe crear un punto de conexión de servicio de red virtual en una subred de red virtual y habilitarlo para Microsoft.ServiceBus, tal como se explicó en la introducción a los puntos de conexión de servicio. Una vez que agregue el punto de conexión de servicio, enlácelo con el espacio de nombres de Service Bus con una regla de red virtual.
La regla de red virtual es una asociación del espacio de nombres de Service Bus con una subred de red virtual. Mientras exista la regla, se les concederá acceso a todas las cargas de trabajo enlazadas a la subred al espacio de nombres de Service Bus. Service Bus no establece nunca por sí mismo conexiones de salida, no necesita obtener acceso y, por tanto, nunca se le concede acceso a la subred habilitando esta regla.
Nota
Recuerde que un punto de conexión de servicio de red proporciona a las aplicaciones que se ejecutan en la red virtual acceso al espacio de nombres de Service Bus. La red virtual controla la disponibilidad del punto de conexión, pero no las operaciones que se pueden realizar en entidades de Service Bus (colas, temas o suscripciones). Use Microsoft Entra ID para autorizar las operaciones que las aplicaciones pueden realizar en el espacio de nombres y sus entidades. Para obtener más información, vea Autenticación y autorización de una aplicación con Microsoft Entra ID para acceder a entidades de Azure Service Bus.
Usar Azure Portal
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. Una vez creado el espacio de nombres, puede permitir el acceso desde direcciones IP específicas o desde redes virtuales específicas (mediante puntos de conexión de servicio de red).
Configuración del acceso público al crear un espacio de nombres
Para habilitar el acceso público, seleccione Acceso público en la página Redes del asistente para la creación del espacio de nombres.
Después de crear el espacio de nombres, seleccione Redes en el menú izquierdo de la página Espacio de nombres de Service Bus. Verá que la opción Todas las redes está seleccionada. Puede seleccionar la opción Redes seleccionadas y permitir el acceso desde direcciones IP específicas o redes virtuales específicas. En la sección siguiente se proporcionan detalles sobre cómo especificar las redes desde las que se permite el acceso.
Configurar redes seleccionadas para un espacio de nombres existente
En esta sección se muestra cómo usar Azure Portal para agregar un punto de conexión de servicio de red virtual. Para limitar el acceso, debe integrar el punto de conexión de servicio de red virtual para este espacio de nombres de Event Hubs.
Vaya al espacio de nombres de Service Bus en Azure Portal.
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, puede establecer una de las tres opciones siguientes. Elija la opción Redes seleccionadas para permitir el acceso solo desde direcciones IP especificadas.
Todas las redes (predeterminado). Esta opción permite el acceso público desde todas las redes mediante una clave de acceso. Si selecciona la opción Todas las redes, Service Bus acepta conexiones procedentes de cualquier dirección IP (mediante la tecla de acceso). Esta configuración equivale a una regla que acepta el intervalo de direcciones IP 0.0.0.0/0.
Deshabilitado. Esta opción deshabilita cualquier acceso público al espacio de nombres. El espacio de nombres solo es accesible a través de los puntos de conexión privados.
Elija si quiere permitir que los servicios de confianza de Microsoft omitan el firewall. Para obtener la lista de servicios de Microsoft de confianza para Azure Service Bus, consulte la sección Servicios de Microsoft de confianza.
Redes seleccionadas. Esta opción permite el acceso público al espacio de nombres mediante una clave de acceso desde redes seleccionadas.
Importante
Si elige Redes seleccionadas, agregue al menos una regla de firewall de IP o una red virtual que tendrá acceso al espacio de nombres. Elija Deshabilitado si quiere restringir todo el tráfico a este espacio de nombres solo a través de puntos de conexión privados.
Para restringir el acceso a redes virtuales específicas, seleccione la opción Redes seleccionadas si aún no está seleccionada.
En la sección Red virtual de la página, seleccione la opción +Agregar red virtual existente. Seleccione + Crear nueva red virtual si desea crear una nueva red virtual.
Advertencia
Si selecciona la opción Redes seleccionadas y no agrega al menos una regla de firewall de IP o una red virtual en esta página, se podrá acceder al espacio de nombres desde la red pública de Internet (mediante la clave de acceso).
En la lista de redes virtuales, seleccione la red virtual y después elija la subred. Debe habilitar el punto de conexión de servicio antes de agregar la red virtual a la lista. Si no está habilitado el punto de conexión de servicio, el portal le pide que lo habilite.
Debería ver el siguiente mensaje correcto después de habilitar el punto de conexión de servicio para la subred para Microsoft. ServiceBus. Seleccione Agregar en la parte inferior de la página para agregar la red.
Nota
Si no puede habilitar el punto de conexión de servicio, puede ignorar el punto de conexión de servicio de red virtual que falta mediante la plantilla de Resource Manager. Esta funcionalidad no está disponible en Azure Portal.
Seleccione Guardar en la barra de herramientas para guardar la configuración. Espere unos minutos hasta que la confirmación se muestre en las notificaciones del portal. El botón Guardar debe estar deshabilitado.
Nota
Para obtener instrucciones para permitir el acceso desde intervalos o direcciones concretos, consulte Permitir el acceso desde intervalos o direcciones IP específicos.
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
Uso de plantillas de Resource Manager
La siguiente plantilla de Resource Manager de ejemplo agrega una regla de red virtual a un espacio de nombres de Service Bus existente. Para la regla de red, especifica el identificador de una subred en una red virtual.
El identificador es una ruta de acceso de Resource Manager completa para la subred de la red virtual. Por ejemplo, /subscriptions/{id}/resourceGroups/{rg}/providers/Microsoft.Network/virtualNetworks/{vnet}/subnets/default
para la subred predeterminada de una red virtual.
Nota
El valor predeterminado de defaultAction
es Allow
. Al agregar reglas de firewalls o de red virtual, asegúrese de establecer el valor de defaultAction
en Deny
.
Plantilla:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"servicebusNamespaceName": {
"type": "string",
"metadata": {
"description": "Name of the Service Bus namespace"
}
},
"virtualNetworkName": {
"type": "string",
"metadata": {
"description": "Name of the Virtual Network Rule"
}
},
"subnetName": {
"type": "string",
"metadata": {
"description": "Name of the Virtual Network Sub Net"
}
},
"location": {
"type": "string",
"metadata": {
"description": "Location for Namespace"
}
}
},
"variables": {
"namespaceNetworkRuleSetName": "[concat(parameters('servicebusNamespaceName'), concat('/', 'default'))]",
"subNetId": "[resourceId('Microsoft.Network/virtualNetworks/subnets/', parameters('virtualNetworkName'), parameters('subnetName'))]"
},
"resources": [{
"apiVersion": "2022-10-01-preview",
"name": "[parameters('servicebusNamespaceName')]",
"type": "Microsoft.ServiceBus/namespaces",
"location": "[parameters('location')]",
"sku": {
"name": "Premium",
"tier": "Premium",
"capacity": 1
},
"properties": {
"premiumMessagingPartitions": 1,
"minimumTlsVersion": "1.2",
"publicNetworkAccess": "Enabled",
"disableLocalAuth": false,
"zoneRedundant": true
}
},
{
"apiVersion": "2022-07-01",
"name": "[parameters('virtualNetworkName')]",
"location": "[parameters('location')]",
"type": "Microsoft.Network/virtualNetworks",
"properties": {
"addressSpace": {
"addressPrefixes": [
"10.0.0.0/23"
]
},
"subnets": [{
"name": "[parameters('subnetName')]",
"properties": {
"addressPrefix": "10.0.0.0/23",
"serviceEndpoints": [{
"service": "Microsoft.ServiceBus"
}]
}
}]
}
},
{
"apiVersion": "2022-10-01-preview",
"name": "[variables('namespaceNetworkRuleSetName')]",
"type": "Microsoft.ServiceBus/namespaces/networkruleset",
"dependsOn": [
"[concat('Microsoft.ServiceBus/namespaces/', parameters('servicebusNamespaceName'))]"
],
"properties": {
"publicNetworkAccess": "Enabled",
"defaultAction": "Deny",
"virtualNetworkRules": [{
"subnet": {
"id": "[variables('subNetId')]"
},
"ignoreMissingVnetServiceEndpoint": false
}],
"ipRules": [],
"trustedServiceAccessEnabled": false
}
}
],
"outputs": {}
}
Para implementar la plantilla, siga las instrucciones para Azure Resource Manager.
Importante
Si no hay ninguna regla de red virtual y de IP, todo el tráfico fluye al espacio de nombres, aunque establezca defaultAction
en deny
. Se puede acceder al espacio de nombres a través de la red pública de Internet (mediante la clave de acceso). 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.
Uso de CLI de Azure
Use los comandos az servicebus namespace network-rule-set
añadir, enumerar, actualizar y eliminar para administrar reglas de red virtual para un espacio de nombres de Service Bus.
Uso de Azure PowerShell
Use los siguientes comandos Azure PowerShell para agregar, enumerar, quitar, actualizar y eliminar reglas de red para un espacio de nombres de Service Bus.
Set-AzServiceBusNetworkRuleSet
para agregar una regla de red virtual.New-AzServiceBusVirtualNetworkRuleConfig
ySet-AzServiceBusNetworkRuleSet
juntos para agregar una regla de red virtual.
Acción predeterminada y acceso a la red pública
API DE REST
El valor predeterminado de la propiedad defaultAction
era Deny
para la versión de API 2021-01-01-preview y versiones anteriores. Sin embargo, la regla de negación no se aplica, a menos que establezca filtros IP y reglas de red virtual. Es decir, si no tiene ningún filtro IP o reglas de red virtual, se trata como Allow
.
Desde la versión 2021-06-01-preview en adelante de la API, el valor predeterminado de la propiedad defaultAction
es Allow
, a fin de reflejar con precisión el cumplimiento por parte del servicio. Si la acción predeterminada se establece en Deny
, se aplican filtros IP y reglas de red virtual. Si la acción predeterminada se establece en Allow
, no se aplican filtros IP ni reglas de red virtual. El servicio recuerda las reglas cuando las desactiva y vuelve a activarlas.
En la versión de API 2021-06-01-preview y versiones posteriores también se presenta una propiedad nueva denominada publicNetworkAccess
. Si se establece en Disabled
, se restringen las operaciones solo a vínculos privados. Si se establece en Enabled
, se permiten las operaciones a través de la red pública de Internet.
Para obtener más información sobre estas propiedades, consulte Crear o actualizar conexiones de punto de conexión privado.
Nota:
Ninguna de las opciones anteriores omite la validación de notificaciones a través de la autenticación de Microsoft Entra o SAS. La comprobación de autenticación siempre se ejecuta una vez que el servicio valida las comprobaciones de red configuradas según los parámetros defaultAction
, publicNetworkAccess
, privateEndpointConnections
.
Azure Portal
Azure Portal siempre usa la versión más reciente de la API para obtener y establecer propiedades. Si ha configurado previamente el espacio de nombres con 2021-01-01-versión preliminar y versiones anteriores con defaultAction
establecido en Deny
, y ha especificado cero filtros IP y reglas de red virtual, el portal habría comprobado previamente Redes seleccionadas en la página Networking del espacio de nombres. Ahora, marca la opción Todas las redes.
Contenido relacionado
Para obtener más información acerca de las redes virtuales, consulte los siguientes vínculos: