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

Som standard är Service Bus namnrymder 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 för att endast tillåta trafik från 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 på Service Bus namnområdet avvisas som obehörig. 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å premiumnivå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 ditt Service Bus namnområde 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.

      Networking page - public access tab - public network access is disabled.

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

      Networking page with the selected networks option selected.

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

      Screenshot of the Azure portal Networking page. The option to allow access from All networks is selected on the Firewalls and virtual networks tab.

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

      Screenshot of the Azure portal Networking page. The option to allow access from Selected networks is selected and the Firewall section is highlighted.

  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.

Betrodd 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 Tillåter Azure Event Grid att skicka händelser till köer eller ämnen i ditt Service Bus 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 Service Bus datasändarroll i Service Bus namnområde
  • Konfigurera sedan händelseprenumerationen som använder en Service Bus kö eller ämne som slutpunkt för att använda den systemtilldelade identiteten.

Mer information finns i Händelseleverans med en hanterad identitet

Azure API Management

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

Azure IoT Central

Gör att IoT Central kan exportera data till Service Bus köer eller ämnen i Service Bus namnområde. 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åde.
  • 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åde. 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 en befintlig 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 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.

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 tvingande 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 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 valideringen av anspråk via SAS- eller Azure AD-autentisering. Autentiseringskontrollen körs alltid när tjänsten har verifierat de nätverkskontroller som konfigurerats av defaultAction, publicNetworkAccess, privateEndpointConnections inställningar.

Azure Portal

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 2021-01-01-preview och tidigare med defaultAction inställt på Deny, och angett noll IP-filter och VNet-regler, skulle portalen tidigare ha kontrollerat Valda nätverk på sidan Nätverk i namnområdet. Nu kontrollerar den alternativet Alla nätverk .

Screenshot of the Azure portal Networking page. The option to allow access from All networks is selected on the Firewalls and virtual networks tab.

Nästa steg

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