Tillåt åtkomst till Azure Service Bus namnområde från specifika IP-adresser eller intervall

Som standard är Service Bus-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-adresser eller IPv4-adressintervall i CIDR-notation (klasslös Inter-Domain routning).

Den här funktionen är användbar i scenarier där Azure Service Bus endast ska vara tillgänglig från vissa välkända platser. Med brandväggsregler kan du konfigurera regler för att acceptera trafik som kommer från specifika IPv4-adresser. Om du till exempel använder Service Bus med Azure Express Route kan du skapa en brandväggsregel som tillåter trafik från endast din lokala infrastrukturs IP-adresser eller adresser för en NAT-gateway för företag.

IP-brandväggsregler

IP-brandväggsreglerna tillämpas på Service Bus-namnområdesnivå. Därför gäller reglerna för alla anslutningar från klienter som använder ett protokoll som stöds (AMQP (5671) och HTTPS (443)). Alla anslutningsförsök från en IP-adress som inte matchar en tillåten IP-regel i Service Bus-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 saker

  • Brandväggar och virtuella nätverk stöds endast på Premium-nivån för Service Bus. Om uppgradering till premier-nivån inte är ett alternativ rekommenderar vi att du håller SAS-token (Signatur för delad åtkomst) säker och delar med endast behöriga användare. Information om SAS-autentisering finns i Autentisering och auktorisering.

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

  • Implementering av brandväggsregler kan förhindra att andra Azure-tjänster interagerar med Service Bus. Som ett undantag kan du tillåta åtkomst till Service Bus-resurser från vissa betrodda tjänster även när IP-filtrering är aktiverat. En lista över betrodda tjänster finns i Betrodda tjänster.

    Följande Microsoft tjänster måste finnas i ett virtuellt nätverk

    • Azure App Service
    • Azure Functions

Använda Azure-portalen

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

  1. Gå till Service Bus-namnområdet i Azure-Portal.

  2. På den vänstra menyn väljer du Alternativet Nätverk under Inställningar.

    Anteckning

    Du ser endast fliken Nätverk för premiumnamnområden .

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

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

      Nätverkssida – fliken Offentlig åtkomst – åtkomst till offentligt nätverk är inaktiverad.

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

      Nätverkssida med det valda nätverksalternativet valt.

    • 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 Service Bus 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.

      Skärmbild av sidan Azure-Portal Nätverk. Alternativet för att tillåta åtkomst från Alla nätverk väljs på fliken Brandväggar och virtuella nätverk.

  4. Om du vill tillåta åtkomst från endast angiven IP-adress väljer du alternativet Valda nätverk om det inte redan är markerat. I avsnittet Brandvägg följer du dessa steg:

    1. Välj alternativet Lägg till klientens IP-adress för att ge den aktuella klient-IP-adressen åtkomst till namnområdet.

    2. För adressintervall anger du en specifik IPv4-adress eller ett IPv4-adressintervall i CIDR-notation.

    3. Ange om du vill tillåta att betrodda Microsoft-tjänster kringgår brandväggen.

      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 hjälp av åtkomstnyckeln).

      Skärmbild av sidan Azure-Portal Nätverk. Alternativet för att tillåta åtkomst från valda nätverk är markerat och avsnittet Brandvägg är markerat.

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

    Anteckning

    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 åtkomst till dina Service Bus-resurser.

Betrodd tjänst Användningsscenarier som stöds
Azure Event Grid Gör att Azure Event Grid kan skicka händelser till köer eller ämnen i Service Bus-namnområdet. 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 Service Bus datasändare i Service Bus-namnområdet
  • Konfigurera sedan händelseprenumerationen som använder en Service Bus-kö eller ett ämne som en slutpunkt för att använda den systemtilldelade identiteten.

Mer information finns i Händelseleverans med en hanterad identitet

Azure API Management

Med Gestione API-tjänsten kan du skicka meddelanden till en Service Bus-kö/-ämne i Service Bus-namnområdet.

Azure IoT Central

Gör att IoT Central kan exportera data till Service Bus-köer eller ämnen i Service Bus-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 Service Bus datasändarroll i Service Bus-namnområdet.
  • Konfigurera sedan Service Bus-exportmålet för ditt IoT Central-program för att använda identitetsbaserad autentisering.
Azure IoT Hub Tillåter att en IoT-hubb skickar meddelanden till köer eller ämnen i Service Bus-namnområdet. Du måste också utföra följande steg:

Använda Resource Manager-mallar

Det här avsnittet har en Azure Resource Manager-exempelmall som lägger till ett virtuellt nätverk och en brandväggsregel i ett befintligt Service Bus-namnområde.

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

Anteckning

Standardvärdet för defaultAction är Allow. När du lägger till regler för virtuellt 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": {
        "serviceBusNamespaceName": {
            "defaultValue": "contososbusns",
            "type": "String"
        }
    },
    "variables": {},
    "resources": [
        {
            "type": "Microsoft.ServiceBus/namespaces",
            "apiVersion": "2021-06-01-preview",
            "name": "[parameters('serviceBusNamespaceName')]",
            "location": "East US",
            "sku": {
                "name": "Premium",
                "tier": "Premium",
                "capacity": 1
            },
            "properties": {
                "disableLocalAuth": false,
                "zoneRedundant": true
            }
        },
        {
            "type": "Microsoft.ServiceBus/namespaces/networkRuleSets",
            "apiVersion": "2021-06-01-preview",
            "name": "[concat(parameters('serviceBusNamespaceName'), '/default')]",
            "location": "East US",
            "dependsOn": [
                "[resourceId('Microsoft.ServiceBus/namespaces', parameters('serviceBusNamespaceName'))]"
            ],
            "properties": {
                "publicNetworkAccess": "Enabled",
                "defaultAction": "Allow",
                "virtualNetworkRules": [],
                "ipRules": [
                    {
                        "ipMask":"10.1.1.1",
                        "action":"Allow"
                    },
                    {
                        "ipMask":"11.0.0.0/24",
                        "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 regel för virtuellt nätverk för namnområdet som endast tillåter trafik från de angivna IP-adresserna eller undernätet för ett virtuellt nätverk.

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 virtuellt 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 sätter på dem igen.

API-versionen 2021-06-01-preview och senare 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 slutpunktsanslutningar.

Anteckning

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

Azure-portalen

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

Skärmbild av sidan Azure-Portal nätverk. Alternativet för att tillåta åtkomst från Alla nätverk väljs på fliken Brandväggar och virtuella nätverk.

Nästa steg

Information om hur du begränsar åtkomsten till virtuella Nätverk i Service Bus till virtuella Azure-nätverk finns på följande länk: