Tillåt åtkomst till Azure Event Hubs-namnområden från specifika virtuella nätverk

Integreringen av Event Hubs med tjänstslutpunkter för Virtual Network (VNet) ger säker åtkomst till meddelandefunktioner från arbetsbelastningar, till exempel virtuella datorer som är bundna till virtuella nätverk, och nätverkstrafikvägen skyddas i båda ändar.

När det har konfigurerats för att binda till minst en tjänstslutpunkt för virtuellt nätverksundernät accepterar respektive Event Hubs-namnområde inte längre trafik från var som helst, men auktoriserade undernät i virtuella nätverk. Ur ett virtuellt nätverksperspektiv konfigurerar Event Hubs ett namnområde till en tjänstslutpunkt en isolerad nätverkstunnel från det virtuella nätverkets undernät till meddelandetjänsten.

Resultatet är en privat och isolerad relation mellan de arbetsbelastningar som är bundna till undernätet och respektive Event Hubs-namnområde, trots att den observerbara nätverksadressen för meddelandetjänstens slutpunkt ligger i ett offentligt IP-intervall. Det finns ett undantag till det här beteendet. Om du aktiverar en tjänstslutpunkt aktiveras som standard regeln i denyall IP-brandväggen som är associerad med det virtuella nätverket. Du kan lägga till specifika IP-adresser i IP-brandväggen för att ge åtkomst till den offentliga slutpunkten för händelsehubben.

Viktiga punkter

  • Den här funktionen stöds inte på basic-nivån.
  • Aktivering av virtuella nätverk för din Event Hubs blockerar inkommande begäranden som standard, såvida inte begäranden kommer från en tjänst som fungerar från tillåtna virtuella nätverk. Begäranden som blockeras är bland annat från andra Azure-tjänster, från Azure Portal, från loggnings- och måtttjänster och så vidare. Som ett undantag kan du tillåta åtkomst till Event Hubs från vissa betrodda tjänster även när virtuella nätverk är aktiverade. En lista över betrodda tjänster finns i Betrodda tjänster.
  • Ange minst en IP-regel eller regel för virtuellt nätverk för namnområdet för att endast tillåta trafik från de angivna IP-adresserna eller undernätet i ett virtuellt nätverk. Om det inte finns några IP- och virtuella nätverksregler kan namnområdet nås via det offentliga Internet (med hjälp av åtkomstnyckeln).

Avancerade säkerhetsscenarier som aktiveras av VNet-integrering

Lösningar som kräver strikt och indead säkerhet, och där undernäten för virtuella nätverk tillhandahåller segmenteringen mellan de indeade tjänsterna, behöver fortfarande kommunikationsvägar mellan tjänster som finns i dessa fack.

En omedelbar IP-väg mellan facken, inklusive de som har HTTPS över TCP/IP, medför risk för utnyttjande av sårbarheter från nätverkslagret på upp. Meddelandetjänster tillhandahåller isolerade kommunikationsvägar, där meddelanden till och med skrivs till disk när de övergår mellan parter. Arbetsbelastningar i två distinkta virtuella nätverk som båda är bundna till samma Event Hubs-instans kan kommunicera effektivt och tillförlitligt via meddelanden, medan respektive gränsintegritet för nätverksisolering bevaras.

Det innebär att dina säkerhetskänsliga molnlösningar inte bara får tillgång till Azures branschledande tillförlitliga och skalbara asynkrona meddelandefunktioner, men de kan nu använda meddelanden för att skapa kommunikationsvägar mellan säkra lösningsfack som i sig är säkrare än vad som kan uppnås med peer-to-peer-kommunikationsläge, inklusive HTTPS och andra TLS-säkra socketprotokoll.

Binda händelsehubar till virtuella nätverk

Regler för virtuella nätverk är brandväggssäkerhetsfunktionen som styr om Azure Event Hubs-namnområdet accepterar anslutningar från ett visst undernät för ett virtuellt nätverk.

Att binda Event Hubs ett namnområde till ett virtuellt nätverk är en tvåstegsprocess. Du måste först skapa en tjänstslutpunkt för virtuellt nätverk i undernätet för ett virtuellt nätverk och aktivera den för Microsoft.EventHub enligt beskrivningen i översiktsartikeln om tjänstslutpunkter. När du har lagt till tjänstslutpunkten binder du Event Hubs till den med en regel för virtuellt nätverk.

Regeln för virtuellt nätverk är en association av Event Hubs med ett undernät för virtuellt nätverk. När regeln finns beviljas alla arbetsbelastningar som är bundna till undernätet åtkomst till Event Hubs namnområdet. Event Hubs upprättar aldrig utgående anslutningar, behöver inte få åtkomst och beviljas därför aldrig åtkomst till ditt undernät genom att aktivera den här regeln.

Använda Azure-portalen

Det här avsnittet visar hur du använder Azure Portal lägga till en tjänstslutpunkt för virtuellt nätverk. För att begränsa åtkomsten måste du integrera tjänstslutpunkten för det virtuella nätverket för Event Hubs namnområdet.

  1. Gå till Event Hubs namnområdet i Azure Portal.

  2. Välj Nätverk under Inställningar på den vänstra menyn.

    Varning

    Om du väljer alternativet Valda nätverk och inte lägger till minst en IP-brandväggsregel eller ett virtuellt nätverk på den här sidan kan namnområdet nås via offentligt Internet (med åtkomstnyckeln).

    Fliken Nätverk – valt nätverksalternativ

    Om du väljer alternativet Alla nätverk accepterar händelsehubben anslutningar från valfri IP-adress (med hjälp av åtkomstnyckeln). Den här inställningen motsvarar en regel som accepterar IP-adressintervallet 0.0.0.0/0.

    Brandvägg – alternativet Alla nätverk har valts

  3. Om du vill begränsa åtkomsten till specifika nätverk väljer du alternativet Valda nätverk överst på sidan om det inte redan är markerat.

  4. I Virtual Network på sidan väljer du +Lägg till befintligt virtuellt nätverk _. Välj _ + Skapa nytt virtuellt nätverk* om du vill skapa ett nytt virtuellt nätverk.

    lägga till ett befintligt virtuellt nätverk

    Varning

    Om du väljer alternativet Valda nätverk och inte lägger till minst en IP-brandväggsregel eller ett virtuellt nätverk på den här sidan kan namnområdet nås via offentligt Internet (med åtkomstnyckeln).

  5. Välj det virtuella nätverket i listan över virtuella nätverk och välj sedan undernätet. Du måste aktivera tjänstslutpunkten innan du lägger till det virtuella nätverket i listan. Om tjänstslutpunkten inte är aktiverad uppmanas du att aktivera den i portalen.

    välj undernät

  6. Du bör se följande meddelande när tjänstslutpunkten för undernätet har aktiverats för Microsoft.EventHub. Välj Lägg till längst ned på sidan för att lägga till nätverket.

    välj undernät och aktivera slutpunkt

    Anteckning

    Om du inte kan aktivera tjänstslutpunkten kan du ignorera tjänstslutpunkten för det virtuella nätverket som saknas med hjälp Resource Manager mallen. Den här funktionen är inte tillgänglig i portalen.

  7. Ange om du vill tillåta betrodda Microsoft-tjänster kringgå brandväggen. Se Betrodda Microsoft-tjänster för mer information.

  8. Spara inställningarna genom att välja Spara i verktygsfältet. Vänta några minuter tills bekräftelsen visas i portalmeddelandena.

    Spara nätverk

    Anteckning

    Om du vill begränsa åtkomsten till specifika IP-adresser eller intervall kan du se Tillåt åtkomst från specifika IP-adresser eller intervall.

Betrodda Microsoft-tjänster

När du aktiverar inställningen Tillåt betrodda Microsoft-tjänster att kringgå den här brandväggsinställningen beviljas följande tjänster åtkomst till dina Event Hubs resurser.

Betrodd tjänst Användningsscenarier som stöds
Azure Event Grid Tillåter Azure Event Grid att skicka händelser till händelsehubbbar i Event Hubs namnområdet. Du måste också göra följande:
  • Aktivera system tilldelad identitet för ett ämne eller en domän
  • Lägg till identiteten i Azure Event Hubs dataavsändarrollen Event Hubs namnområdet
  • Konfigurera sedan händelseprenumerationen som använder en händelsehubb som slutpunkt för att använda den system tilldelade identiteten.

Mer information finns i Händelseleverans med en hanterad identitet

Azure Monitor (diagnostik Inställningar och åtgärdsgrupper) Tillåter Azure Monitor att skicka diagnostikinformation och aviseringsmeddelanden till händelsehubbbar i Event Hubs namnområdet. Azure Monitor kan läsa från händelsehubben och även skriva data till händelsehubben.
Azure Stream Analytics Tillåter ett Azure Stream Analytics jobb att läsa data från (indata) eller skriva data till(utdata ) händelsehubbbar i Event Hubs namnområdet.

Viktigt! Stream Analytics ska konfigureras för att använda en hanterad identitet för att få åtkomst till händelsehubben. Mer information finns i Använda hanterade identiteter för att komma åt Händelsehubb från ett Azure Stream Analytics-jobb (förhandsversion).

Azure IoT Hub Tillåter IoT Hub att skicka meddelanden till händelsehubbbar i händelsehubbens namnområde. Du måste också göra följande:
  • Aktivera system tilldelad identitet för din IoT-hubb
  • Lägg till identiteten i Azure Event Hubs dataavsändarrollen i Event Hubs namnområdet.
  • Konfigurera sedan den IoT Hub som använder en händelsehubb som en anpassad slutpunkt för att använda identitetsbaserad autentisering.
Azure API Management

Med API Management-tjänsten kan du skicka händelser till en händelsehubb i Event Hubs namnområdet.

Azure IoT Central

Tillåter IoT Central exportera data till händelsehubbbar i händelsehubbens namnområde. Du måste också göra följande:

  • Aktivera system tilldelad identitet för ditt IoT Central program.
  • Lägg till identiteten i Azure Event Hubs dataavsändarrollen på Event Hubs namnområdet.
  • Konfigurera sedan Event Hubs exportmålet på ditt IoT Central att använda identitetsbaserad autentisering.

Använda Resource Manager-mallar

Följande exempelmall Resource Manager lägger till en regel för virtuellt nätverk i en befintlig Event Hubs namnområde. För nätverksregeln anger den ID:t för ett undernät i ett virtuellt nätverk.

ID:t är en fullständigt Resource Manager sökväg för det virtuella nätverkets undernät. Till exempel för /subscriptions/{id}/resourceGroups/{rg}/providers/Microsoft.Network/virtualNetworks/{vnet}/subnets/default standardundernätet för ett virtuellt nätverk.

När du lägger till regler för virtuella nätverk eller brandväggar anger du värdet defaultAction för till 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>],
          "trustedServiceAccessEnabled": false,
          "defaultAction": "Deny"
        }
      }
    ],
    "outputs": { }
  }

Om du vill distribuera mallen följer du anvisningarna för att Azure Resource Manager.

Viktigt

Om det inte finns några IP- och virtuella nätverksregler flödar all trafik till namnområdet även om du anger defaultAction till deny . Namnområdet kan nås via det offentliga Internet (med hjälp av åtkomstnyckeln). Ange minst en IP-regel eller regel för virtuellt nätverk för namnområdet för att endast tillåta trafik från de angivna IP-adresserna eller undernätet i ett virtuellt nätverk.

Nästa steg

Mer information om virtuella nätverk finns på följande länkar: