Tillåt åtkomst till Azure Service Bus namnområde från specifika virtuella nätverk

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

När de har konfigurerats för att vara bundna till minst en tjänstslutpunkt för virtuellt nätverk kommer respektive Service Bus namnområde inte längre att acceptera trafik var som helst än auktoriserade virtuella nätverk och, om du vill, specifika IP-adresser för Internet. Från det virtuella nätverkets perspektiv konfigurerar bindning av ett Service Bus 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 arbetsbelastningarna som är bundna till undernätet och respektive Service Bus namnområde, trots att den observerbara nätverksadressen för slutpunkten för meddelandetjänsten är i ett offentligt IP-intervall.

Viktiga saker

  • Virtuella nätverk stöds endast i Premium nivå Service Bus namnområden. När du använder VNet-tjänstslutpunkter med Service Bus bör du inte aktivera dessa slutpunkter i program som blandar standard- och premiumnivå Service Bus namnområden. Eftersom standardnivån inte stöder virtuella nätverk. Slutpunkten är begränsad till endast Premium-nivånamnområden.

  • Genom att implementera integrering av virtuella nätverk kan du förhindra andra Azure-tjänster från att interagera med Service Bus. Som ett undantag kan du tillåta åtkomst till Service Bus resurser från vissa betrodda tjänster även när nätverkstjänstslutpunkter är aktiverade. 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
  • 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 nära och uppdelad säkerhet, och där virtuella nätverksundernät tillhandahåller segmenteringen mellan de uppdelade tjänsterna, behöver vanligtvis fortfarande kommunikationsvägar mellan tjänster som finns i dessa avdelningar.

Varje omedelbar IP-väg mellan avdelningarna, inklusive de som transporterar HTTPS över 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 Service Bus 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 i sig är säkrare än vad som kan uppnås med alla peer-to-peer-kommunikationslägen, inklusive HTTPS och andra TLS-säkra socketprotokoll.

Bind Service Bus till virtuella nätverk

Regler för virtuella nätverk är brandväggssäkerhetsfunktionen som styr om din Azure Service Bus-server accepterar anslutningar från ett visst virtuellt nätverksundernät.

Att binda ett Service Bus namnområde till ett virtuellt nätverk är en tvåstegsprocess. Du måste först skapa en Virtual Network tjänstslutpunkt i ett Virtual Network undernät och aktivera den för Microsoft.ServiceBus enligt beskrivningen i översikten över tjänstslutpunkten. När du har lagt till tjänstslutpunkten binder du Service Bus namnområde till den med en regel för virtuellt nätverk.

Regeln för virtuellt nätverk är en association mellan Service Bus namnområdet och ett virtuellt nätverksundernät. När regeln finns beviljas alla arbetsbelastningar som är bundna till undernätet åtkomst till Service Bus namnområde. Service Bus 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.

Anteckning

Kom ihåg att en nätverkstjänstslutpunkt ger program som körs i det virtuella nätverket åtkomsten till Service Bus namnområde. Det virtuella nätverket styr slutpunktens nåbarhet, men inte vilka åtgärder som kan utföras på Service Bus entiteter (köer, ämnen eller prenumerationer). Använd Azure Active Directory (Azure AD) för att auktorisera åtgärder som programmen kan utföra på namnområdet och dess entiteter. Mer information finns i Autentisera och auktorisera ett program med Azure AD för åtkomst Service Bus entiteter.

Använda Azure-portalen

Det här avsnittet visar hur du använder Azure Portal 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 event hubs-namnområdet.

  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 begränsa åtkomsten till specifika virtuella nätverk väljer du alternativet Valda nätverk om det inte redan är markerat.

  5. I avsnittet 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.

    Image showing the selection of Add existing virtual network button on the toolbar.

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

  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 VNet and subnet.

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

    Image showing the success message of enabling the service endpoint.

    Anteckning

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

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

    Image showing the network service endpoint saved.

    Anteckning

    Anvisningar om hur du tillåter åtkomst från specifika IP-adresser eller intervall finns i Tillåt åtkomst från specifika IP-adresser eller intervall.

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

Följande exempel Resource Manager mall lägger till en regel för virtuellt nätverk i en befintlig Service Bus 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.

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.

Mall:

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
      "servicebusNamespaceName": {
        "type": "string",
        "metadata": {
          "description": "Name of the Service Bus 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('servicebusNamespaceName'), concat('/', 'default'))]",
      "subNetId": "[resourceId('Microsoft.Network/virtualNetworks/subnets/', parameters('virtualNetworkName'), parameters('subnetName'))]"
    },
    "resources": [
      {
        "apiVersion": "2018-01-01-preview",
        "name": "[parameters('servicebusNamespaceName')]",
        "type": "Microsoft.ServiceBus/namespaces",
        "location": "[parameters('location')]",
        "sku": {
          "name": "Premium",
          "tier": "Premium"
        },
        "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.ServiceBus"
                  }
                ]
              }
            }
          ]
        }
      },
      {
        "apiVersion": "2018-01-01-preview",
        "name": "[variables('namespaceNetworkRuleSetName')]",
        "type": "Microsoft.ServiceBus/namespaces/networkruleset",
        "dependsOn": [
          "[concat('Microsoft.ServiceBus/namespaces/', parameters('servicebusNamespaceName'))]"
        ],
        "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.

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

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