Tillåt åtkomst till Azure Service Bus-namnrymd 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, och nätverkstrafikvägen skyddas i båda ändar.

När det har konfigurerats för att bindas till minst en tjänstslutpunkt för virtuellt nätverk kommer respektive Service Bus-namnområde inte längre att acceptera trafik från var som helst, men auktoriserade virtuella nätverk och eventuellt specifika IP-adresser för Internet. Ur ett virtuellt nätverksperspektiv konfigurerar en Service Bus till en tjänstslutpunkt en isolerad nätverkstunnel från det virtuella nätverkets undernät till meddelandetjänsten.

Resultatet är en privat och isolerad relation mellan de arbetsbelastningar som är bundna till undernätet och respektive Service Bus-namnområde, trots att den observerbara nätverksadressen för meddelandetjänstens slutpunkt ligger i ett offentligt IP-intervall.

Viktiga punkter

  • Virtuella nätverk stöds endast Premium 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 namnrymder. Eftersom standardnivån inte stöder virtuella nätverk. Slutpunkten är begränsad till Premium endast namnrymder på nivån.

  • 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 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 regel för virtuellt nätverk för namnområdet för att endast tillåta trafik 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).

Avancerade säkerhetsscenarier som aktiveras av VNet-integrering

Lösningar som kräver strikt och indead säkerhet, och där undernäten för virtuella nätverk tillhandahåller segmentering mellan de indemaskerade tjänsterna, behöver vanligtvis fortfarande kommunikationsvägar mellan tjänster som finns i dessa fack.

En omedelbar IP-väg mellan facken, inklusive de som har HTTPS över TCP/IP, medför risk för utnyttjande av sårbarheter från nätverkslagret på upp. Meddelandetjänster tillhandahåller helt isolerade kommunikationsvägar, där meddelanden även 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 gränsintegritet för nätverksisolering bevaras.

Det innebär att dina säkerhetskänsliga molnlösningar inte bara får tillgång till Azures branschledande tillförlitliga och skalbara asynkrona meddelandefunktioner, men 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 peer-to-peer-kommunikationsläge, inklusive HTTPS och andra TLS-säkra socketprotokoll.

Bindning Service Bus 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 Service Bus ett 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änstslutpunkter. När du har lagt till tjänstslutpunkten binder du Service Bus namnområdet till den med en regel för virtuellt nätverk.

Regeln för virtuellt nätverk är en association av Service Bus med ett undernät för virtuellt nätverk. När regeln finns beviljas alla arbetsbelastningar som är bundna till undernätet åtkomst till Service Bus namnområdet. 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 åtkomst till Service Bus namnområdet. Det virtuella nätverket styr slutpunktens nåbarhet, men inte vilka åtgärder som kan utföras 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 att komma åt 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 Service Bus namnområdet i Azure Portal.

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

    Anteckning

    Fliken Nätverk visas endast för premiumnamnrymder.

    Nätverkssidan – standard

    Om du väljer alternativet Alla nätverk accepterar Service Bus anslutningar från valfri IP-adress. Standardvärdet motsvarar en regel som accepterar IP-adressintervallet 0.0.0.0/0.

    Brandvägg – alternativet Alla nätverk har valts

  3. Om du vill begränsa åtkomsten till specifika virtuella nätverk väljer du alternativet Valda nätverk om det inte redan är markerat.

  4. I avsnittet Virtual Network på sidan väljer du +Lägg till befintligt virtuellt nätverk.

    lägga till ett befintligt virtuellt nätverk

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

  5. 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 uppmanas du att aktivera den i portalen.

    välj undernät

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

    välj undernät och aktivera slutpunkt

    Anteckning

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

  7. Spara inställningarna genom att välja Spara i verktygsfältet. Vänta några minuter tills bekräftelsen visas i portalmeddelandena. Knappen Spara ska vara inaktiverad.

    Spara nätverk

    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.

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 Tillåter Azure Event Grid att skicka händelser till köer eller ämnen i Service Bus namnområdet. Du måste också göra följande:
  • Aktivera system tilldelad identitet för ett ämne eller en domän
  • Lägg till identiteten i rollen Azure Service Bus Data Sender i Service Bus namnområdet
  • Konfigurera sedan händelseprenumerationen som använder en Service Bus kö eller ämne som slutpunkt för att använda den system tilldelade 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ådet.

Azure IoT Central

Tillåter IoT Central exportera data till Service Bus köer eller ämnen i Service Bus namnområdet. Du måste också göra följande:

  • Aktivera system tilldelad identitet för ditt IoT Central program
  • Lägg till identiteten i rollen Azure Service Bus Data Sender i Service Bus namnområdet.
  • Konfigurera sedan Service Bus exportmålet på ditt IoT Central att använda identitetsbaserad autentisering.

Använda Resource Manager-mallar

Följande exempelmall Resource Manager lägger till en regel för virtuellt nätverk i en befintlig Service Bus namnområde. För nätverksregeln anger den ID:t för ett undernät i ett virtuellt nätverk.

ID:t är en fullständigt Resource Manager sökväg för det virtuella nätverkets undernät. Till exempel för /subscriptions/{id}/resourceGroups/{rg}/providers/Microsoft.Network/virtualNetworks/{vnet}/subnets/default 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 .

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": {
          "virtualNetworkRules": 
          [
            {
              "subnet": {
                "id": "[variables('subNetId')]"
              },
              "ignoreMissingVnetServiceEndpoint": false
            }
          ],
          "ipRules":[<YOUR EXISTING IP RULES>],
          "trustedServiceAccessEnabled": false,          
          "defaultAction": "Deny"
        }
      }
    ],
    "outputs": { }
  }

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

Nästa steg

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