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

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

När den har konfigurerats för att bindas till minst en tjänstslutpunkt för virtuellt nätverk accepterar respektive Event Hubs-namnområde inte längre trafik från någon plats utan auktoriserade undernät i virtuella nätverk. Från det virtuella nätverkets perspektiv konfigurerar bindning av ett Event Hubs-namnområde till en tjänstslutpunkt en isolerad nätverkstunnel från det virtuella nätverksundernätet 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 finns i ett offentligt IP-intervall. Det finns ett undantag till det här beteendet. Om du aktiverar en tjänstslutpunkt aktiveras denyall som standard regeln i 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 aktivera åtkomst till den offentliga Slutpunkten för Event Hubs.

Viktiga punkter

  • Den här funktionen stöds inte på den grundläggande nivån.
  • Om du aktiverar virtuella nätverk för event hubs-namnområdet blockeras inkommande begäranden som standard, såvida inte begäranden kommer från en tjänst som körs från tillåtna virtuella nätverk. Begäranden som blockeras inkluderar sådana från andra Azure-tjänster, från Azure-portalen, från loggnings- och måtttjänster och så vidare. Som ett undantag kan du tillåta åtkomst till Event Hubs-resurser 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 en regel för virtuellt nätverk för namnområdet så att endast trafik tillåts från de angivna IP-adresserna eller undernätet för 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 uppdelad säkerhet, och där virtuella nätverksundernät tillhandahåller segmenteringen mellan de uppdelade tjänsterna, behöver fortfarande kommunikationsvägar mellan tjänster som finns i dessa fack.

Varje omedelbar IP-väg mellan facken, inklusive de som transporterar HTTPS via TCP/IP, medför risk för utnyttjande av sårbarheter från nätverksskiktet uppåt. 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 nätverksisoleringsgränsintegritet bevaras.

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

Binda händelsehubbar till virtuella nätverk

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

Att binda ett Event Hubs-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 ett virtuellt nätverks undernät och aktivera den för Microsoft.EventHub enligt beskrivningen i översiktsartikeln för tjänstslutpunkten. När du har lagt till tjänstslutpunkten binder du Event Hubs-namnområdet till den med en regel för virtuellt nätverk.

Regeln för virtuellt nätverk är en association av Event Hubs-namnområdet med ett virtuellt nätverksundernät. Regeln finns, men alla arbetsbelastningar som är bundna till undernätet beviljas åtkomst till Event Hubs-namnområdet. Själva 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

När du skapar ett namnområde kan du antingen endast tillåta offentlig (från alla nätverk) eller endast privat (endast via privata slutpunkter) åtkomst till namnområdet. När namnområdet har skapats kan du tillåta åtkomst från specifika IP-adresser eller från specifika virtuella nätverk (med hjälp av nätverkstjänstslutpunkter).

Konfigurera offentlig åtkomst när du skapar ett namnområde

Om du vill aktivera offentlig åtkomst väljer du Offentlig åtkomstsidan Nätverk i guiden skapa namnrymd.

Screenshot showing the Networking page of the Create namespace wizard with Public access option selected.

När du har skapat namnområdet väljer du Nätverk på den vänstra menyn på sidan Service Bus-namnområde . Du ser att alternativet Alla nätverk är markerat. Du kan välja alternativet Valda nätverk och tillåta åtkomst från specifika IP-adresser eller specifika virtuella nätverk. I nästa avsnitt finns information om hur du anger vilka nätverk som åtkomsten ska tillåtas från.

Konfigurera valda nätverk för ett befintligt namnområde

Det här avsnittet visar hur du använder Azure-portalen för att 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 det här Event Hubs-namnområdet.

  1. Gå till event hubs-namnområdet i Azure-portalen.

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

  3. På sidan Nätverk kan du ange något av följande tre alternativ för åtkomst till offentligt nätverk. Välj alternativet Valda nätverk för att endast tillåta åtkomst från specifika virtuella nätverk.

    Här följer mer information om tillgängliga alternativ på åtkomstsidan för offentligt nätverk:

    • Inaktiverad. Det här alternativet inaktiverar all offentlig åtkomst till namnområdet. Namnområdet är endast tillgängligt via privata slutpunkter.

    • Valda nätverk. Det här alternativet ger offentlig åtkomst till namnområdet med hjälp av en åtkomstnyckel från valda nätverk.

      Viktigt!

      Om du väljer Valda nätverk lägger du till minst en IP-brandväggsregel eller ett virtuellt nätverk som har åtkomst till namnområdet. Välj Inaktiverad om du bara vill begränsa all trafik till det här namnområdet över privata slutpunkter .

    • Alla nätverk (standard). Det här alternativet ger offentlig åtkomst från alla nätverk med hjälp av en åtkomstnyckel. 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.

  4. 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.

  5. I avsnittet Virtuella nätverk 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.

    Selection of Add existing virtual network menu item.

    Viktigt!

    Om du väljer Valda nätverk lägger du till minst en IP-brandväggsregel eller ett virtuellt nätverk som har åtkomst till namnområdet. Välj Inaktiverad om du bara vill begränsa all trafik till det här namnområdet över privata slutpunkter .

  6. 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 uppmanar portalen dig att aktivera den.

    Image showing the selection of a subnet.

  7. 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.

    Image showing the selection of a subnet and enabling an endpoint.

    Kommentar

    Om du inte kan aktivera tjänstslutpunkten kan du ignorera den saknade tjänstslutpunkten för virtuella nätverk med hjälp av Resource Manager-mallen. Den här funktionen är inte tillgänglig i portalen.

  8. Ange om du vill tillåta att betrodda Microsoft-tjänster kringgår den här brandväggen. Mer information finns i Betrodda Microsoft-tjänster.

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

    Image showing the saving of virtual network.

    Kommentar

    Information om hur du begränsar åtkomsten till specifika IP-adresser eller intervall finns i 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 inom samma klientorganisation åtkomst till dina Event Hubs-resurser.

Betrodd tjänst Användningsscenarier som stöds
Azure Event Grid Gör att Azure Event Grid kan skicka händelser till händelsehubbar i ditt Event Hubs-namnområde. Du måste också utföra följande steg:
  • Aktivera systemtilldelad identitet för ett ämne eller en domän
  • Lägg till identiteten i rollen Azure Event Hubs Data Sender i Event Hubs-namnområdet
  • Konfigurera sedan händelseprenumerationen som använder en händelsehubb som slutpunkt för att använda den systemtilldelade identiteten.

Mer information finns i Händelseleverans med en hanterad identitet

Azure Stream Analytics Gör att ett Azure Stream Analytics-jobb kan läsa data från (indata) eller skriva data till (utdata) händelsehubbar i event Hubs-namnområdet.

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

Azure IoT Hub Tillåter att IoT Hub skickar meddelanden till händelsehubbar i event hubs-namnområdet. Du måste också utföra följande steg:
  • Aktivera systemtilldelad identitet för din IoT-hubb
  • Lägg till identiteten i rollen Azure Event Hubs Data Sender 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 den identitetsbaserade autentiseringen.
Azure API Management

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

Azure Monitor (diagnostikgrupper Inställningar och åtgärdsgrupper) Gör att Azure Monitor kan skicka diagnostikinformation och aviseringsaviseringar till händelsehubbar i event hubs-namnområdet. Azure Monitor kan läsa från händelsehubben och även skriva data till händelsehubben.
Azure Synapse Gör att Azure Synapse kan ansluta till händelsehubben med hjälp av synapse-arbetsytans hanterade identitet. Lägg till rollen Azure Event Hubs Data Sender, Receiver eller Owner i identiteten på Event Hubs-namnområdet.
Öppna Azure-datautforskaren Gör att Azure Data Explorer kan ta emot händelser från händelsehubben med hjälp av klustrets hanterade identitet. Du måste utföra följande steg:
  • Konfigurera den hanterade identiteten i Azure Data Explorer
  • Bevilja Azure Event Hubs-datamottagarerollen till identiteten på händelsehubben.
 
Azure IoT Central

Tillåter att IoT Central exporterar data till händelsehubbar i Event Hubs-namnområdet. Du måste också utföra följande steg:

  • Aktivera systemtilldelad identitet för ditt IoT Central-program.
  • Lägg till identiteten i rollen Azure Event Hubs Data Sender i Event Hubs-namnområdet.
  • Konfigurera sedan Event Hubs-exportmålet för ditt IoT Central-program så att det använder identitetsbaserad autentisering.
Azures tjänster för hälsodata Gör att IoT-anslutningsappen för hälso- och sjukvårds-API:er kan mata in data från ditt Event Hubs-namnområde och spara data i din konfigurerade FHIR-tjänst® (Fast Healthcare Interoperability Resources). IoT-anslutningsappen ska konfigureras för att använda en hanterad identitet för att få åtkomst till händelsehubben. Mer information finns i Kom igång med IoT-anslutningsappen – Azure Healthcare-API:er.
Azure Digital Twins Gör att Azure Digital Twins kan utgående data till händelsehubbar i event Hubs-namnområdet. Du måste också utföra följande steg:

  • Aktivera systemtilldelad identitet för din Azure Digital Twins-instans.
  • Lägg till identiteten i rollen Azure Event Hubs Data Sender i Event Hubs-namnområdet.
  • Konfigurera sedan en Azure Digital Twins-slutpunkt eller Azure Digital Twins-datahistorikanslutning som använder den systemtilldelade identiteten för att autentisera. Mer information om hur du konfigurerar slutpunkter och händelsevägar till Event Hubs-resurser från Azure Digital Twins finns i Dirigera Azure Digital Twins-händelser och Skapa slutpunkter i Azure Digital Twins.

De andra betrodda tjänsterna för Azure Event Hubs finns nedan:

  • Azure Arc
  • Azure Kubernetes
  • Azure Machine Learning
  • Microsoft Purview

Använda Resource Manager-mallar

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

ID:t är en fullständigt kvalificerad Resource Manager-sökväg för det virtuella nätverkets undernät. Till exempel /subscriptions/{id}/resourceGroups/{rg}/providers/Microsoft.Network/virtualNetworks/{vnet}/subnets/default för 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": {
          "publicNetworkAccess": "Enabled",
          "defaultAction": "Deny",
          "virtualNetworkRules": 
          [
            {
              "subnet": {
                "id": "[variables('subNetId')]"
              },
              "ignoreMissingVnetServiceEndpoint": false
            }
          ],
          "ipRules":[],
          "trustedServiceAccessEnabled": false
        }
      }
    ],
    "outputs": { }
  }

Om du vill distribuera mallen följer du anvisningarna för 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 en regel för virtuellt nätverk för namnområdet så att endast trafik tillåts från de angivna IP-adresserna eller undernätet för ett virtuellt nätverk.

Använda Azure CLI

Använd az eventhubs namespace network-rule-set kommandona lägg till, lista, uppdatera och ta bort för att hantera regler för virtuella nätverk för ett Service Bus-namnområde.

Använda Azure PowerShell

Använd följande Azure PowerShell-kommandon för att lägga till, lista, ta bort, uppdatera och ta bort nätverksregler för ett Service Bus-namnområde.

standardåtgärd och åtkomst till offentligt nätverk

REST-API

Standardvärdet för defaultAction egenskapen var Deny för API-version 2021-01-01-preview och tidigare. Neka-regeln tillämpas dock inte om du inte anger IP-filter eller regler för virtuella nätverk (VNet). Om du inte har några IP-filter eller VNet-regler behandlas det alltså som Allow.

Från API version 2021-06-01-preview och senare är Allowstandardvärdet defaultAction för egenskapen , för att korrekt återspegla tillämpningen på tjänstsidan. Om standardåtgärden är inställd på Denytillämpas IP-filter och VNet-regler. Om standardåtgärden är inställd på Allowtillämpas inte IP-filter och VNet-regler. Tjänsten kommer ihåg reglerna när du inaktiverar dem och sedan startar igen.

API-versionen 2021-06-01-preview och framåt introducerar också en ny egenskap med namnet publicNetworkAccess. Om den är inställd på Disabledbegränsas åtgärderna endast till privata länkar. Om den är inställd på Enabledtillåts åtgärder via det offentliga Internet.

Mer information om dessa egenskaper finns i Skapa eller uppdatera nätverksregeluppsättning och Skapa eller uppdatera privata slutpunkter Anslut ions.

Kommentar

Ingen av ovanstående inställningar kringgår valideringen av anspråk via SAS- eller Microsoft Entra-autentisering. Autentiseringskontrollen körs alltid när tjänsten har verifierat nätverkskontrollerna som konfigurerats av defaultAction, publicNetworkAccess, privateEndpointConnections inställningar.

Azure Portal

Azure-portalen använder alltid den senaste API-versionen för att hämta och ange egenskaper. Om du tidigare hade konfigurerat ditt namnområde med 2021-01-01-preview och tidigare med defaultAction inställt på Deny, och angett noll IP-filter och VNet-regler, skulle portalen tidigare ha markerat Valda nätverksidan Nätverk i namnområdet. Nu kontrollerar den alternativet Alla nätverk .

Screenshot that shows the Public access page with the All networks option selected.

Nästa steg

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