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

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

Om du vill kommunicera på ett säkert och privat sätt mellan arbetsflödet i en standardlogikapp och ett virtuellt Azure-nätverk kan du konfigurera privata slutpunkter för inkommande trafik och använda virtuell nätverksintegrering 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 delegering. 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ösaren Förfrågning eller HTTP + Webhook-utlösaren. 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.

  • Webhook-utlösare för hanterat API (push-utlösare ) och åtgärder fungerar inte eftersom de körs i det offentliga molnet och inte kan anropa 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ösare 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 App Service infrastruktur.

Krav för inkommande trafik via privata slutpunkter

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

Till exempel skapar utlösaren Begäran 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. Välj Nätverk under Inställningar på logikappmenyn.

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

  3. I privata slutpunktsanslutningar väljer du Lägg till.

  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 för 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 är konfigurerad och fungerar korrekt.

  6. För att säkerställa att anslutningen fungerar korrekt skapar du en virtuell dator i samma virtuella nätverk som har den privata slutpunkten och försöker anropa logikappens arbetsflöde.

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

För att 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 appen kan nå. Om du vill undvika problem med undernätskapaciteten 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 Målport Källa Mål Protokoll Syfte
    * 443 Undernät integrerat med standardlogikapp Lagringskonto TCP Lagringskonto
    * 445 Undernät integrerat med standardlogikapp Lagringskonto TCP 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 som körs med en privat IP-adress, till exempel 10.0.1.3.

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

  5. Från designern kör du arbetsflödet manuellt.

    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 virtuella nätverk

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

  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 den prenumeration och det virtuella nätverk som ansluter till din interna tjänst.

    När du har lagt till integrering av virtuella 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 DNS (Domain Name Server) med ditt virtuella nätverk ställer du in logikappresursens WEBSITE_DNS_SERVER appinställning på 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