Permiso para acceder a los espacios de nombres de Azure Event Hubs a través de puntos de conexión privados
Azure Private Link le permite acceder a los servicios de Azure (por ejemplo, Azure Event Hubs, Azure Storage y Azure Cosmos DB) y a los servicios de asociados o clientes hospedados de 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 enruta 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 no se admite en el nivel Básico.
- La habilitación de los puntos de conexión privados puede evitar que otros servicios de Azure interactúen con Event Hubs. Las solicitudes que bloquean incluyen aquellas de otros servicios de Azure, desde Azure Portal, desde los servicios de registro y de métricas, etc. Como excepción, puede permitir el acceso a los recursos de Event Hubs 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.
- 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 Event Hubs con Azure Private Link, necesitará las siguientes entidades o permisos:
- Un espacio de nombres de Event Hubs.
- 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 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, se filtran automáticamente las redes virtuales que se encuentran en dicha región. El espacio de nombres puede estar en una región diferente.
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 de Event Hubs, puede crear una conexión de vínculo privado siguiendo estos pasos:
Inicie sesión en Azure Portal.
En la barra de búsqueda, escriba Event Hubs.
En la lista, seleccione el espacio de nombres al que desea agregar un punto de conexión privado.
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.
Cambie a la pestaña Conexiones de punto de conexión privado.
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 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 la conexión de punto de conexión privado que ha creado aparece en la lista de puntos de conexión. Actualice la página y cambie a la pestaña Conexiones de punto de conexión privado. En este ejemplo, el punto de conexión privado se aprueba automáticamente porque se conectó a un recurso de Azure de su directorio y tiene permisos suficientes.
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 del mismo inquilino obtiene acceso a los recursos de Event Hubs.
Servicio de confianza | Escenarios de uso admitidos |
---|---|
Azure Event Grid | Permite que Azure Event Grid envíe eventos a Event Hubs en el espacio de nombres de Event Hubs. 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 lea datos de centros de eventos del espacio de nombres de Event Hubs (entrada) o escriba datos en ellos (salida). Importante: El trabajo de Stream Analytics debe estar configurado para usar una identidad administrada para tener acceso al centro de eventos. Para obtener más información, consulte Uso de identidades administradas para acceder al centro de eventos desde un trabajo de Azure Stream Analytics (versión preliminar). |
Azure IoT Hub | Permite que IoT Hub envíe mensajes a centros de eventos del espacio de nombres de Event Hubs. También debe seguir estos pasos:
|
Azure API Management | El servicio API Management le permite enviar eventos a un centro de eventos en el espacio de nombres de Event Hubs.
|
Azure Monitor (configuración de diagnóstico y grupos de acciones) | Permite que Azure Monitor envíe información de diagnóstico y notificaciones de alertas a Event Hubs en el espacio de nombres de Event Hubs. Azure Monitor puede leer desde el centro de eventos y escribir datos en el centro de eventos. |
Azure Synapse | Permite a Azure Synapse conectarse al centro de eventos utilizando la identidad administrada de área de trabajo de Synapse. Añada el rol de remitente, receptor o propietario de datos de Azure Event Hubs a la identidad en el espacio de nombres de Event Hubs. |
Explorador de datos de Azure | Permite a Azure Data Explorer recibir eventos del centro de eventos mediante la identidad administrada del clúster. Debe seguir estos pasos:
|
Azure IoT Central | Permite que IoT Central exporte datos a centros de eventos del espacio de nombres de Event Hubs. También debe seguir estos pasos:
|
Azure Health Data Services | Permite que el conector de IoT de las API de atención médica ingiera datos de dispositivos médicos de el espacio de nombres de Event Hubs y conserve los datos en el servicio de Recursos Rápidos de Interoperabilidad en Salud (FHIR®) configurado. El conector de IoT debe configurarse para usar una identidad administrada para acceder al centro de eventos. Para obtener más información, consulta Introducción al conector de IoT: API de Azure Healthcare. |
Azure Digital Twins | Permite a Azure Digital Twins enviar datos a los centros de eventos de su espacio de nombres de Event Hubs. También debe seguir estos pasos:
|
Los demás servicios de confianza para Azure Event Hubs se pueden encontrar a continuación:
- 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 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. No crea un clúster dedicado. Siga los pasos de este artículo para crear un clúster de Event Hubs dedicado.
$rgName = "<RESOURCE GROUP NAME>"
$vnetlocation = "<VIRTUAL NETWORK 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 an event hubs namespace in a dedicated cluster
$namespaceResource = New-AzResource -Location $namespaceLocation `
-ResourceName $namespaceName `
-ResourceGroupName $rgName `
-Sku @{name = "Standard"; capacity = 1} `
-Properties @{clusterArmId = "/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP NAME>/providers/Microsoft.EventHub/clusters/<EVENT HUBS CLUSTER NAME>"} `
-ResourceType "Microsoft.EventHub/namespaces" -ApiVersion "2018-01-01-preview"
# create private endpoint connection
$privateEndpointConnection = New-AzPrivateLinkServiceConnection `
-Name $peConnectionName `
-PrivateLinkServiceId $namespaceResource.ResourceId `
-GroupId "namespace"
# get subnet object that you'll use later
$virtualNetwork = Get-AzVirtualNetwork -ResourceGroupName $rgName -Name $vnetName
$subnet = $virtualNetwork | Select -ExpandProperty subnets `
| Where-Object {$_.Name -eq $subnetName}
# create a private endpoint
$privateEndpoint = New-AzPrivateEndpoint -ResourceGroupName $rgName `
-Name $vnetName `
-Location $vnetlocation `
-Subnet $subnet `
-PrivateLinkServiceConnection $privateEndpointConnection
(Get-AzResource -ResourceId $namespaceResource.ResourceId -ExpandProperties).Properties
Configuración de la zona DNS privada
Cree una zona DNS privada para el dominio de Event Hubs y cree un vínculo de asociación con la red virtual:
$zone = New-AzPrivateDnsZone -ResourceGroupName $rgName `
-Name "privatelink.servicebus.windows.net"
$link = New-AzPrivateDnsVirtualNetworkLink -ResourceGroupName $rgName `
-ZoneName "privatelink.servicebus.windows.net" `
-Name "mylink" `
-VirtualNetworkId $virtualNetwork.Id
$networkInterface = Get-AzResource -ResourceId $privateEndpoint.NetworkInterfaces[0].Id -ApiVersion "2019-04-01"
foreach ($ipconfig in $networkInterface.properties.ipConfigurations) {
foreach ($fqdn in $ipconfig.properties.privateLinkConnectionProperties.fqdns) {
Write-Host "$($ipconfig.properties.privateIPAddress) $($fqdn)"
$recordName = $fqdn.split('.',2)[0]
$dnsZone = $fqdn.split('.',2)[1]
New-AzPrivateDnsRecordSet -Name $recordName -RecordType A -ZoneName "privatelink.servicebus.windows.net" `
-ResourceGroupName $rgName -Ttl 600 `
-PrivateDnsRecords (New-AzPrivateDnsRecordConfig -IPv4Address $ipconfig.properties.privateIPAddress)
}
}
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 Event Hubs.
- Seleccione el espacio de nombres que desea administrar.
- Seleccione la pestaña Redes.
- Vaya a 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
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.
En la página Aprobación de la conexión agregue un comentario (opcional), y seleccione Sí. Si selecciona No, no ocurrirá nada.
Ahora puede ver que el estado de la conexión de punto de conexión privado de la lista ha cambiado a Aprobado.
Rechazo de una conexión de punto de conexión privado
Si hay conexiones de punto de conexión privado que desee rechazar, ya sea una solicitud pendiente o una conexión existente, seleccione la conexión y seleccione el botónRechazar.
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 punto de conexión privado 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.
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 Event Hubs 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 <event-hubs-namespace-name>.servicebus.windows.net
Debería ver un resultado con el siguiente aspecto.
Non-authoritative answer:
Name: <event-hubs-namespace-name>.privatelink.servicebus.windows.net
Address: 10.0.0.4 (private IP address associated with the private endpoint)
Aliases: <event-hubs-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 Event Hubs: 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
Contenido relacionado
- Más información sobre Azure Private Link.
- Más información acerca de Azure Event Hubs