Tillåt åtkomst till Azure Event Hubs-namnområden från specifika IP-adresser eller intervall

Som standard är Event Hubs-namnområden tillgängliga från Internet så länge begäran levereras med giltig autentisering och auktorisering. Med IP-brandväggen kan du begränsa den ytterligare till endast en uppsättning IPv4- och IPv6-adresser eller adressintervall i CIDR-notation (klasslös routning mellan domäner).

Den här funktionen är användbar i scenarier där Azure Event Hubs endast ska vara tillgänglig från vissa välkända webbplatser. Med brandväggsregler kan du konfigurera regler för att acceptera trafik som kommer från specifika IPv4- och IPv6-adresser. Om du till exempel använder Event Hubs med Azure Express Route kan du skapa en brandväggsregel som tillåter trafik från endast ip-adresser för din lokala infrastruktur.

IP-brandväggsregler

Du anger IP-brandväggsregler på namnområdesnivå för Event Hubs. Reglerna gäller därför för alla anslutningar från klienter som använder protokoll som stöds. Alla anslutningsförsök från en IP-adress som inte matchar en tillåten IP-regel i Event Hubs-namnområdet avvisas som obehöriga. I svaret nämns inte IP-regeln. IP-filterregler tillämpas i ordning och den första regeln som matchar IP-adressen avgör åtgärden acceptera eller avvisa.

Viktiga punkter

  • Den här funktionen stöds inte på den grundläggande nivån.
  • Om du aktiverar brandväggsregler 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 offentliga IP-adresser. Begäranden som blockeras inkluderar begäranden 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 IP-filtrering är aktiverat. En lista över betrodda tjänster finns i Betrodda Microsoft-tjänster.
  • Ange minst en IP-brandväggsregel 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 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).

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 Event Hubs-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. Nästa avsnitt innehåller information om hur du konfigurerar IP-brandväggen för att ange de IP-adresser som åtkomsten tillåts från.

Konfigurera IP-brandvägg för ett befintligt namnområde

Det här avsnittet visar hur du använder Azure-portalen för att skapa IP-brandväggsregler för ett Event Hubs-namnområde.

  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 för åtkomst till offentligt nätverk väljer du Alternativet Valda nätverk för att tillåta åtkomst från endast angivna IP-adresser.

    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 IP-adresser väljer du alternativet Valda nätverk och följer sedan följande steg:

    1. I avsnittet Brandvägg väljer du Alternativet Lägg till klientens IP-adress för att ge din aktuella klient-IP åtkomst till namnområdet.

    2. För adressintervall anger du specifika IPv4- eller IPv6-adresser eller adressintervall i CIDR-notation.

      Viktigt!

      När tjänsten börjar stödja IPv6-anslutningar i framtiden och klienter automatiskt växlar till att använda IPv6, bryts dina klienter om du bara har IPv4-adresser, inte IPv6-adresser. Därför rekommenderar vi att du lägger till IPv6-adresser i listan över tillåtna IP-adresser nu så att dina klienter inte bryts när tjänsten slutligen växlar till stöd för IPv6.

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

      Firewall section highlighted in the Public access tab of the Networking page.

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

    Kommentar

    Information om hur du begränsar åtkomsten till specifika virtuella nätverk finns i Tillåt åtkomst från specifika nätverk.

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

Viktigt!

Brandväggsfunktionen stöds inte på den grundläggande nivån.

Med följande Resource Manager-mall kan du lägga till en IP-filterregel i ett befintligt Event Hubs-namnområde.

ipMask i mallen är en enda IPv4-adress eller ett block med IP-adresser i CIDR-notation. I till exempel CIDR-notation 70.37.104.0/24 representerar 256 IPv4-adresserna från 70.37.104.0 till 70.37.104.255, med 24 som anger antalet signifikanta prefixbitar för intervallet.

Kommentar

Standardvärdet för defaultAction är Allow. När du lägger till regler för virtuella nätverk eller brandväggar måste du ange defaultAction till Deny.

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "namespace_name": {
            "defaultValue": "contosoehub1333",
            "type": "String"
        }
    },
    "variables": {},
    "resources": [
        {
            "type": "Microsoft.EventHub/namespaces",
            "apiVersion": "2022-01-01-preview",
            "name": "[parameters('namespace_name')]",
            "location": "East US",
            "sku": {
                "name": "Standard",
                "tier": "Standard",
                "capacity": 1
            },
            "properties": {
                "minimumTlsVersion": "1.2",
                "publicNetworkAccess": "Enabled",
                "disableLocalAuth": false,
                "zoneRedundant": true,
                "isAutoInflateEnabled": false,
                "maximumThroughputUnits": 0,
                "kafkaEnabled": true
            }
        },
        {
            "type": "Microsoft.EventHub/namespaces/authorizationrules",
            "apiVersion": "2022-01-01-preview",
            "name": "[concat(parameters('namespace_name'), '/RootManageSharedAccessKey')]",
            "location": "eastus",
            "dependsOn": [
                "[resourceId('Microsoft.EventHub/namespaces', parameters('namespace_name'))]"
            ],
            "properties": {
                "rights": [
                    "Listen",
                    "Manage",
                    "Send"
                ]
            }
        },
        {
            "type": "Microsoft.EventHub/namespaces/networkRuleSets",
            "apiVersion": "2022-01-01-preview",
            "name": "[concat(parameters('namespace_name'), '/default')]",
            "location": "East US",
            "dependsOn": [
                "[resourceId('Microsoft.EventHub/namespaces', parameters('namespace_name'))]"
            ],
            "properties": {
                "publicNetworkAccess": "Enabled",
                "defaultAction": "Deny",
                "virtualNetworkRules": [],
                "ipRules": [
                    {
                        "ipMask": "10.1.1.1",
                        "action": "Allow"
                    },
                    {
                        "ipMask": "11.0.0.0/24",
                        "action": "Allow"
                    },
                    {
                        "ipMask": "172.72.157.204",
                        "action": "Allow"
                    }
                ]
            }
        }
    ]
}

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 add, list, update och remove för att hantera IP-brandväggsregler för ett Event Hubs-namnområde.

Använda Azure PowerShell

Använd cmdleten Set-AzEventHubNetworkRuleSet för att lägga till en eller flera IP-brandväggsregler. Ett exempel från artikeln:

$ipRule1 = New-AzEventHubIPRuleConfig -IPMask 2.2.2.2 -Action Allow
$ipRule2 = New-AzEventHubIPRuleConfig -IPMask 3.3.3.3 -Action Allow
$virtualNetworkRule1 = New-AzEventHubVirtualNetworkRuleConfig -SubnetId '/subscriptions/subscriptionId/resourcegroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/default'
$networkRuleSet = Get-AzEventHubNetworkRuleSet -ResourceGroupName myResourceGroup -NamespaceName myNamespace
$networkRuleSet.IPRule += $ipRule1
$networkRuleSet.IPRule += $ipRule2
$networkRuleSet.VirtualNetworkRule += $virtualNetworkRule1
Set-AzEventHubNetworkRuleSet -ResourceGroupName myResourceGroup -NamespaceName myNamespace -IPRule $ipRule1,$ipRule2 -VirtualNetworkRule $virtualNetworkRule1,$virtualNetworkRule2,$virtualNetworkRule3

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. Om du inte har några IP-filter eller regler för virtuella nätverk 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 regler för virtuella nätverk. Om standardåtgärden är inställd på Allowtillämpas inte IP-filter och regler för virtuella nätverk. 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 hade konfigurerat ditt namnområde med 2021-01-01-preview och tidigare med defaultAction inställt på Deny, och angett noll IP-filter och regler för virtuella nätverk, 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

Information om hur du begränsar åtkomsten till händelsehubbar till virtuella Azure-nätverk finns i följande länk: