Skydda trafiken mellan standardlogikappar och virtuella Azure-nätverk med privata slutpunkter

Gäller för: Azure Logic Apps (Standard)

Om du vill kommunicera säkert och privat mellan ditt arbetsflöde i en standardlogikapp och ett virtuellt Azure-nätverk kan du konfigurera privata slutpunkter för inkommande trafik och använda integrering av virtuella nätverk för utgående trafik.

En privat slutpunkt är ett nätverksgränssnitt som ansluter privat och säkert till en tjänst som drivs av Azure Private Link. Tjänsten kan vara en Azure-tjänst, till exempel Azure Logic Apps, Azure Storage, Azure Cosmos DB, SQL eller din egna Private Link-tjänst. Den privata slutpunkten använder en privat IP-adress från ditt virtuella nätverk, vilket effektivt tar in tjänsten i ditt virtuella nätverk.

Den här artikeln visar hur du konfigurerar åtkomst via privata slutpunkter för inkommande trafik och integrering av virtuella nätverk för utgående trafik.

Mer information finns i följande dokumentation:

Förutsättningar

Du måste ha ett nytt eller befintligt virtuellt Azure-nätverk som innehåller ett undernät utan delegeringar. Det här undernätet används för att distribuera och allokera privata IP-adresser från det virtuella nätverket.

Mer information finns i följande dokumentation:

Konfigurera inkommande trafik via privata slutpunkter

Utför följande övergripande steg för att skydda inkommande trafik till arbetsflödet:

  1. Starta arbetsflödet med en inbyggd utlösare som kan ta emot och hantera inkommande begäranden, till exempel Utlösare för begäran eller HTTP + Webhook-utlösare. Den här utlösaren konfigurerar arbetsflödet med en anropbar slutpunkt.

  2. Lägg till en privat slutpunkt för logikappresursen i ditt virtuella nätverk.

  3. Gör testanrop för att kontrollera åtkomsten till slutpunkten. Om du vill anropa logikappens arbetsflöde när du har konfigurerat den här slutpunkten måste du vara ansluten till det virtuella nätverket.

Överväganden för inkommande trafik via privata slutpunkter

  • Om den nås utanför ditt virtuella nätverk kan övervakningsvyn inte komma åt indata och utdata från utlösare och åtgärder.

  • Managed API webhook-utlösare (push-utlösare) och åtgärder fungerar inte eftersom de körs i det offentliga molnet och inte kan anropa till ditt privata nätverk. De kräver en offentlig slutpunkt för att ta emot samtal. Sådana utlösare inkluderar till exempel Dataverse-utlösaren och Event Grid-utlösaren.

  • Om du använder Office 365 Outlook-utlösaren utlöses arbetsflödet bara per timme.

  • Distribution från Visual Studio Code eller Azure CLI fungerar endast inifrån det virtuella nätverket. Du kan använda Distributionscenter för att länka logikappen till en GitHub-lagringsplats. Du kan sedan använda Azure-infrastrukturen för att skapa och distribuera din kod.

    För att GitHub-integreringen WEBSITE_RUN_FROM_PACKAGE ska fungera tar du bort inställningen från logikappen eller anger värdet till 0.

  • Aktivering av Private Link påverkar inte utgående trafik, som fortfarande flödar genom den App Service infrastrukturen.

Krav för inkommande trafik via privata slutpunkter

Tillsammans med konfigurationen av det virtuella nätverket i de översta kraven måste du ha ett nytt eller befintligt arbetsflöde för logikappen Standard som börjar med en inbyggd utlösare som kan ta emot begäranden.

Utlösaren Request (Begäran) skapar till exempel en slutpunkt i arbetsflödet som kan ta emot och hantera inkommande begäranden från andra anropare, inklusive arbetsflöden. Den här slutpunkten innehåller en URL som du kan använda för att anropa och utlösa arbetsflödet. I det här exemplet fortsätter stegen med utlösaren Begäran.

Mer information finns i Ta emot och svara på inkommande HTTP-begäranden med hjälp av Azure Logic Apps.

Skapa arbetsflödet

  1. Om du inte redan har gjort det skapar du en logikapp baserad på en klientorganisation och ett tomt arbetsflöde.

  2. När designern har öppnats lägger du till utlösaren Begäran som det första steget i arbetsflödet.

  3. Baserat på dina scenariokrav lägger du till andra åtgärder som du vill köra i arbetsflödet.

  4. Spara arbetsflödet när du är klar.

Mer information finns i Skapa logikapparbetsflöden för en klientorganisation i Azure Logic Apps.

Kopiera slutpunkts-URL:en

  1. På arbetsflödesmenyn väljer du Översikt.

  2. På sidan Översikt kopierar och sparar du arbetsflödes-URL:en för senare användning.

    Om du vill utlösa arbetsflödet anropar eller skickar du en begäran till den här URL:en.

  3. Kontrollera att URL:en fungerar genom att anropa eller skicka en begäran till URL:en. Du kan använda valfritt verktyg som du vill skicka begäran, till exempel Postman.

Konfigurera privat slutpunktsanslutning

  1. På logikappmenyn går du till Inställningar och väljer Nätverk.

  2. På sidan Nätverk går du till kortet Inkommande trafik och väljer Privata slutpunkter.

  3. Välj Lägg tillprivata slutpunktsanslutningar.

  4. I fönstret Lägg till privat slutpunkt som öppnas anger du den begärda informationen om slutpunkten.

    Mer information finns i Egenskaper för privat slutpunkt.

  5. När Azure har etablerat den privata slutpunkten försöker du igen att anropa arbetsflödes-URL:en.

    Den här gången får du ett förväntat 403 Forbidden fel, vilket innebär att den privata slutpunkten har konfigurerats och fungerar korrekt.

  6. Kontrollera att anslutningen fungerar korrekt genom att skapa en virtuell dator i samma virtuella nätverk som har den privata slutpunkten och prova att anropa logikappens arbetsflöde.

Konfigurera utgående trafik med hjälp av integrering av virtuella nätverk

Om du vill skydda utgående trafik från logikappen kan du integrera logikappen med ett virtuellt nätverk. Skapa och testa först ett exempelarbetsflöde. Du kan sedan konfigurera integrering av virtuella nätverk.

Överväganden för utgående trafik via integrering av virtuella nätverk

  • Konfiguration av integrering av virtuella nätverk påverkar endast utgående trafik. Om du vill skydda inkommande trafik, som fortsätter att använda den App Service delade slutpunkten, läser du Konfigurera inkommande trafik via privata slutpunkter.

  • Du kan inte ändra undernätsstorleken efter tilldelningen, så använd ett undernät som är tillräckligt stort för att hantera den skala som din app kan nå. Om du vill undvika problem med undernätskapacitet använder du ett /26 undernät med 64 adresser. Om du skapar undernätet för integrering av virtuella nätverk med Azure Portal måste du använda /27 som minsta undernätsstorlek.

  • För att Azure Logic Apps-körningen ska fungera måste du ha en oavbruten anslutning till serverdelslagringen. Om serverdelslagringen exponeras för det virtuella nätverket via en privat slutpunkt kontrollerar du att följande portar är öppna:

    Källport Riktning Protokoll Källa/mål Syfte
    443 Utgående TCP Privat slutpunkt/Lagringskonto Lagringskonto
    445 Utgående TCP Privat slutpunkt/undernät integrerat med standardlogikapp SMB-filresurs (Server Message Block)
  • För att azure-värdbaserade hanterade anslutningsappar ska fungera måste du ha en oavbruten anslutning till den hanterade API-tjänsten. Med integrering av virtuella nätverk kontrollerar du att ingen brandväggs- eller nätverkssäkerhetsprincip blockerar dessa anslutningar. Om ditt virtuella nätverk använder en nätverkssäkerhetsgrupp (NSG), användardefinierad routningstabell (UDR) eller en brandvägg kontrollerar du att det virtuella nätverket tillåter utgående anslutningar till alla IP-adresser för hanterade anslutningsappar i motsvarande region. Annars fungerar inte Azure-hanterade anslutningsappar.

Mer information finns i följande dokumentation:

Skapa och testa arbetsflödet

  1. Om du inte redan har gjort det i Azure Portal skapar du en logikapp baserad på en klientorganisation och ett tomt arbetsflöde.

  2. När designern har öppnats lägger du till utlösaren Begäran som det första steget i arbetsflödet.

  3. Lägg till en HTTP-åtgärd för att anropa en intern tjänst som inte är tillgänglig via Internet och körs med en privat IP-adress, 10.0.1.3till exempel .

  4. Spara arbetsflödet när du är klar.

  5. Kör arbetsflödet manuellt från designern.

    HTTP-åtgärden misslyckas, vilket är avsiktligt och förväntat eftersom arbetsflödet körs i molnet och inte kan komma åt din interna tjänst.

Konfigurera integrering av virtuellt nätverk

  1. I Azure Portal går du till logikappens resursmeny under Inställningar och väljer Nätverk.

  2. I fönstret Nätverk går du till kortet Utgående trafik och väljer VNet-integrering.

  3. I fönstret VNet-integrering väljer du Lägg till Vnet.

  4. I fönstret Lägg till VNet-integrering väljer du prenumerationen och det virtuella nätverk som ansluter till din interna tjänst.

    När du har lagt till integrering av virtuellt nätverk är inställningen Dirigera alla aktiverad som standard i fönstret VNet-integrering. Den här inställningen dirigerar all utgående trafik via det virtuella nätverket. När den här inställningen är aktiverad ignoreras appinställningen WEBSITE_VNET_ROUTE_ALL .

  5. Om du använder din egen domännamnsserver (DNS) med ditt virtuella nätverk anger du logikappresursens WEBSITE_DNS_SERVER appinställning till IP-adressen för din DNS. Om du har en sekundär DNS lägger du till en annan appinställning med namnet WEBSITE_DNS_ALT_SERVERoch anger även värdet till IP-adressen för din DNS.

  6. När Azure har etablerat integreringen av det virtuella nätverket kan du försöka köra arbetsflödet igen.

    HTTP-åtgärden körs nu.

Nästa steg