Verwenden von Virtual Network-Dienstendpunkten mit Azure Event HubsUse Virtual Network service endpoints with Azure Event Hubs

Die Integration von Event Hubs und VNET-Dienstendpunkten ermöglicht den sicheren Zugriff auf Messagingfunktionen für Workloads, z. B. an virtuelle Netzwerke (VNETs) gebundene virtuelle Computer, wobei der Pfad für den Netzwerkdatenverkehr an beiden Enden geschützt ist.The integration of Event Hubs with Virtual Network (VNet) Service Endpoints enables secure access to messaging capabilities from workloads such as virtual machines that are bound to virtual networks, with the network traffic path being secured on both ends.

Nachdem die Konfiguration der Bindung an mindestens einen Dienstendpunkt des VNET-Subnetzes durchgeführt wurde, akzeptiert der entsprechende Event Hubs-Namespace nur noch Datenverkehr von autorisierten Subnetzen in virtuellen Netzwerken.Once configured to bound to at least one virtual network subnet service endpoint, the respective Event Hubs namespace no longer accepts traffic from anywhere but authorized subnets in virtual networks. Aus Sicht des virtuellen Netzwerks wird durch die Bindung eines Event Hubs-Namespace an einen Dienstendpunkt ein isolierter Netzwerktunnel vom Subnetz des virtuellen Netzwerks zum Messagingdienst konfiguriert.From the virtual network perspective, binding an Event Hubs namespace to a service endpoint configures an isolated networking tunnel from the virtual network subnet to the messaging service.

Das Ergebnis ist eine private und isolierte Beziehung zwischen den Workloads, die an das Subnetz gebunden sind, und dem entsprechenden Event Hubs-Namespace, obwohl sich die beobachtbare Netzwerkadresse des Messaging-Dienstendpunkts in einem öffentlichen IP-Bereich befindet.The result is a private and isolated relationship between the workloads bound to the subnet and the respective Event Hubs namespace, in spite of the observable network address of the messaging service endpoint being in a public IP range. Es gibt bei diesem Verhalten eine Ausnahme.There is an exception to this behavior. Das Aktivieren eines Dienstendpunkts aktiviert standardmäßig die denyall-Regel in der dem virtuellen Netzwerk zugeordneten IP-Firewall.Enabling a service endpoint, by default, enables the denyall rule in the IP firewall associated with the virtual network. Sie können bestimmte IP-Adressen in der IP-Firewall hinzufügen, um den Zugriff auf den öffentlichen Endpunkt des Event Hub zu ermöglichen.You can add specific IP addresses in the IP firewall to enable access to the Event Hub public endpoint.

Warnung

Die Implementierung der VNET-Integration kann verhindern, dass andere Azure-Dienste mit Event Hubs interagieren.Implementing Virtual Networks integration can prevent other Azure services from interacting with Event Hubs.

Vertrauenswürdige Microsoft-Dienste werden bei Implementierung von Virtual Networks nicht unterstützt.Trusted Microsoft services are not supported when Virtual Networks are implemented.

Allgemeine Azure-Szenarien, die nicht mit Virtual Networks funktionieren (beachten Sie, dass die Liste NICHT vollständig ist):Common Azure scenarios that don't work with Virtual Networks (note that the list is NOT exhaustive) -

  • Azure MonitorAzure Monitor
  • Azure Stream AnalyticsAzure Stream Analytics
  • Integration in Azure Event GridIntegration with Azure Event Grid
  • Azure IoT Hub-RoutenAzure IoT Hub Routes
  • Azure IoT Device ExplorerAzure IoT Device Explorer

Die folgenden Microsoft-Dienste müssen in einem virtuellen Netzwerk ausgeführt werden:The below Microsoft services are required to be on a virtual network

  • Azure-Web-AppsAzure Web Apps
  • Azure-FunktionenAzure Functions

Wichtig

Virtuelle Netzwerke werden in den Tarifen Standard und Dediziert von Event Hubs unterstützt.Virtual networks are supported in standard and dedicated tiers of Event Hubs. Sie werden nicht im Basic-Tarif unterstützt.It's not supported in basic tier.

Erweiterte Sicherheitsszenarien basierend auf der VNET-IntegrationAdvanced security scenarios enabled by VNet integration

Lösungen, für die eine strikte und auf mehrere Bereiche aufgeteilte Sicherheit erforderlich ist und bei denen die VNET-Subnetze die Segmentierung zwischen den einzelnen aufgeteilten Diensten bereitstellen, benötigen weiterhin Kommunikationspfade zwischen den Diensten, die sich in diesen Bereichen befinden.Solutions that require tight and compartmentalized security, and where virtual network subnets provide the segmentation between the compartmentalized services, still need communication paths between services residing in those compartments.

Für alle direkten IP-Routen zwischen den Bereichen (auch für HTTPS per TCP/IP) besteht die Gefahr, dass ab der Vermittlungsschicht Sicherheitsrisiken ausgenutzt werden.Any immediate IP route between the compartments, including those carrying HTTPS over TCP/IP, carries the risk of exploitation of vulnerabilities from the network layer on up. Bei Messagingdiensten werden vollständig isolierte Kommunikationspfade bereitgestellt, für die Nachrichten während des Übergangs zwischen Parteien sogar auf Datenträger geschrieben werden.Messaging services provide completely insulated communication paths, where messages are even written to disk as they transition between parties. Workloads in zwei einzelnen virtuellen Netzwerken, die beide an dieselbe Event Hubs-Instanz gebunden sind, können über Nachrichten effizient und zuverlässig kommunizieren, während die Integrität der jeweiligen Netzwerkisolationsgrenze aufrechterhalten wird.Workloads in two distinct virtual networks that are both bound to the same Event Hubs instance can communicate efficiently and reliably via messages, while the respective network isolation boundary integrity is preserved.

Dies bedeutet, dass Ihre sicherheitsrelevanten Cloudlösungen nicht nur Zugriff auf zuverlässige und skalierbare Azure-Funktionen für asynchrones Messaging eines Branchenführers haben, sondern dass das Messaging jetzt auch genutzt werden kann, um Kommunikationspfade zwischen sicheren Lösungsbereichen zu erstellen. Diese sind deutlich sicherer als alle Optionen des Peer-to-Peer-Kommunikationsmodus, einschließlich HTTPS und andere per TLS geschützte Socketprotokolle.That means your security sensitive cloud solutions not only gain access to Azure industry-leading reliable and scalable asynchronous messaging capabilities, but they can now use messaging to create communication paths between secure solution compartments that are inherently more secure than what is achievable with any peer-to-peer communication mode, including HTTPS and other TLS-secured socket protocols.

Binden von Event Hubs an virtuelle NetzwerkeBind Event Hubs to Virtual Networks

VNET-Regeln sind ein Feature für die Firewallsicherheit, mit dem gesteuert wird, ob Ihr Azure Event Hubs-Namespace Verbindungen eines bestimmten VNET-Subnetzes akzeptiert.Virtual network rules are the firewall security feature that controls whether your Azure Event Hubs namespace accepts connections from a particular virtual network subnet.

Das Binden eines Event Hubs-Namespace an ein virtuelles Netzwerk ist ein Prozess mit zwei Schritten.Binding an Event Hubs namespace to a virtual network is a two-step process. Zuerst müssen Sie einen VNET-Dienstendpunkt in einem Subnetz eines virtuellen Netzwerks erstellen und für „Microsoft.EventHub“ aktivieren, wie in der Übersicht über Dienstendpunkte beschrieben.You first need to create a Virtual Network service endpoint on a Virtual Network subnet and enable it for "Microsoft.EventHub" as explained in the service endpoint overview. Nachdem Sie den Dienstendpunkt hinzugefügt haben, binden Sie den Event Hubs-Namespace mit einer VNET-Regel daran.Once you have added the service endpoint, you bind the Event Hubs namespace to it with a virtual network rule.

Die VNET-Regel ist eine Zuordnung des Event Hubs-Namespace zu einem Subnetz eines virtuellen Netzwerks.The virtual network rule is an association of the Event Hubs namespace with a virtual network subnet. Während die Regel vorhanden ist, wird allen Workloads, die an das Subnetz gebunden sind, Zugriff auf den Event Hubs-Namespace gewährt.While the rule exists, all workloads bound to the subnet are granted access to the Event Hubs namespace. Event Hubs stellt selbst niemals ausgehende Verbindungen her, muss keinen Zugriff erhalten und erhält daher niemals die Gewährung des Zugriffs auf Ihr Subnetz, indem diese Regel aktiviert wird.Event Hubs itself never establishes outbound connections, does not need to gain access, and is therefore never granted access to your subnet by enabling this rule.

Erstellen einer VNET-Regel mit Azure Resource Manager-VorlagenCreate a virtual network rule with Azure Resource Manager templates

Mithilfe der folgenden Resource Manager-Vorlage können Sie einem vorhandenen Event Hubs-Namespace eine VNET-Regel hinzufügen.The following Resource Manager template enables adding a virtual network rule to an existing Event Hubs namespace.

Vorlagenparameter:Template parameters:

  • namespaceName: Event Hubs-NamespacenamespaceName: Event Hubs namespace.
  • vnetRuleName: Name für die zu erstellende VNET-RegelvnetRuleName: Name for the Virtual Network rule to be created.
  • virtualNetworkingSubnetId: Vollqualifizierter Resource Manager-Pfad für das Subnetz des virtuellen Netzwerks, z. B. /subscriptions/{id}/resourceGroups/{rg}/providers/Microsoft.Network/virtualNetworks/{vnet}/subnets/default für das Standardsubnetz eines virtuellen Netzwerks.virtualNetworkingSubnetId: Fully qualified Resource Manager path for the virtual network subnet; for example, /subscriptions/{id}/resourceGroups/{rg}/providers/Microsoft.Network/virtualNetworks/{vnet}/subnets/default for the default subnet of a virtual network.

Hinweis

Obwohl keine Verweigerungsregeln möglich sind, ist in der Azure Resource Manager-Vorlage die Standardaktion auf „Zulassen“ festgelegt. Dies schränkt die Verbindungen nicht ein.While there are no deny rules possible, the Azure Resource Manager template has the default action set to "Allow" which doesn't restrict connections. Bei der Erstellung von Regeln für virtuelle Netzwerke oder Firewalls muss die Standardaktion (defaultAction) geändert werden.When making Virtual Network or Firewalls rules, we must change the "defaultAction"

fromfrom

"defaultAction": "Allow"

zuto

"defaultAction": "Deny"
{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
      "eventhubNamespaceName": {
        "type": "string",
        "metadata": {
          "description": "Name of the Event Hubs 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('eventhubNamespaceName'), concat('/', 'default'))]",
      "subNetId": "[resourceId('Microsoft.Network/virtualNetworks/subnets/', parameters('virtualNetworkName'), parameters('subnetName'))]"
    },
    "resources": [
      {
        "apiVersion": "2018-01-01-preview",
        "name": "[parameters('eventhubNamespaceName')]",
        "type": "Microsoft.EventHub/namespaces",
        "location": "[parameters('location')]",
        "sku": {
          "name": "Standard",
          "tier": "Standard"
        },
        "properties": { }
      },
      {
        "apiVersion": "2017-09-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.EventHub"
                  }
                ]
              }
            }
          ]
        }
      },
      {
        "apiVersion": "2018-01-01-preview",
        "name": "[variables('namespaceNetworkRuleSetName')]",
        "type": "Microsoft.EventHub/namespaces/networkruleset",
        "dependsOn": [
          "[concat('Microsoft.EventHub/namespaces/', parameters('eventhubNamespaceName'))]"
        ],
        "properties": {
          "virtualNetworkRules": 
          [
            {
              "subnet": {
                "id": "[variables('subNetId')]"
              },
              "ignoreMissingVnetServiceEndpoint": false
            }
          ],
          "ipRules":[<YOUR EXISTING IP RULES>],
          "defaultAction": "Deny"
        }
      }
    ],
    "outputs": { }
  }

Gehen Sie zum Bereitstellen der Vorlage gemäß den Anweisungen für Azure Resource Manager vor.To deploy the template, follow the instructions for Azure Resource Manager.

Nächste SchritteNext steps

Weitere Informationen zu virtuellen Netzwerken finden Sie unter den folgenden Links:For more information about virtual networks, see the following links: