Zabezpieczanie ruchu między standardowymi aplikacjami logiki i sieciami wirtualnymi platformy Azure przy użyciu prywatnych punktów końcowych

Dotyczy: Azure Logic Apps (wersja Standardowa)

Aby bezpiecznie i prywatnie komunikować się między przepływem pracy w standardowej aplikacji logiki i sieci wirtualnej platformy Azure, możesz skonfigurować prywatne punkty końcowe dla ruchu przychodzącego i korzystać z integracji sieci wirtualnej dla ruchu wychodzącego.

Prywatny punkt końcowy to interfejs sieciowy, który prywatnie i bezpiecznie nawiązuje połączenie z usługą obsługiwaną przez usługę Azure Private Link. Może to być usługa platformy Azure, taka jak Azure Logic Apps, Azure Storage, Azure Cosmos DB, SQL lub Twoja własna usługa Private Link. Prywatny punkt końcowy używa prywatnego adresu IP z Twojej sieci wirtualnej, co skutecznie przenosi usługę do sieci wirtualnej.

W tym artykule pokazano, jak skonfigurować dostęp za pośrednictwem prywatnych punktów końcowych dla ruchu przychodzącego i integracji sieci wirtualnej dla ruchu wychodzącego.

Aby uzyskać więcej informacji, zapoznaj się z następującą dokumentacją:

Wymagania wstępne

Musisz mieć nową lub istniejącą sieć wirtualną platformy Azure, która zawiera podsieć bez żadnych delegacji. Ta podsieć służy do wdrażania i przydzielania prywatnych adresów IP z sieci wirtualnej.

Aby uzyskać więcej informacji, zapoznaj się z następującą dokumentacją:

Konfigurowanie ruchu przychodzącego za pośrednictwem prywatnych punktów końcowych

Aby zabezpieczyć ruch przychodzący do przepływu pracy, wykonaj następujące ogólne kroki:

  1. Uruchom przepływ pracy przy użyciu wbudowanego wyzwalacza, który może odbierać i obsługiwać żądania przychodzące, takie jak wyzwalacz Żądania lub wyzwalacz HTTP + element webhook. Ten wyzwalacz konfiguruje przepływ pracy z wywoływanym punktem końcowym.

  2. Dodaj prywatny punkt końcowy dla zasobu aplikacji logiki do sieci wirtualnej.

  3. Wykonaj wywołania testowe, aby sprawdzić dostęp do punktu końcowego. Aby wywołać przepływ pracy aplikacji logiki po skonfigurowaniu tego punktu końcowego, musisz mieć połączenie z siecią wirtualną.

Zagadnienia dotyczące ruchu przychodzącego za pośrednictwem prywatnych punktów końcowych

  • Jeśli dostęp jest uzyskiwany spoza sieci wirtualnej, widok monitorowania nie może uzyskać dostępu do danych wejściowych i wyjściowych z wyzwalaczy i akcji.

  • Zarządzane wyzwalacze elementu webhook interfejsu API (wyzwalacze wypychania ) i akcje nie będą działać, ponieważ działają w chmurze publicznej i nie mogą wywoływać ich w sieci prywatnej. Wymagają one publicznego punktu końcowego do odbierania wywołań. Na przykład takie wyzwalacze obejmują wyzwalacz Dataverse i wyzwalacz usługi Event Grid.

  • Jeśli używasz wyzwalacza Office 365 Outlook, przepływ pracy jest wyzwalany tylko co godzinę.

  • Wdrożenie z Visual Studio Code lub interfejsu wiersza polecenia platformy Azure działa tylko z poziomu sieci wirtualnej. Centrum wdrażania umożliwia połączenie aplikacji logiki z repozytorium GitHub. Następnie możesz użyć infrastruktury platformy Azure do kompilowania i wdrażania kodu.

    Aby integracja z usługą GitHub działała, usuń WEBSITE_RUN_FROM_PACKAGE ustawienie z aplikacji logiki lub ustaw wartość na 0.

  • Włączenie Private Link nie wpływa na ruch wychodzący, który nadal przepływa przez infrastrukturę App Service.

Wymagania wstępne dotyczące ruchu przychodzącego za pośrednictwem prywatnych punktów końcowych

Oprócz konfiguracji sieci wirtualnej w wymaganiach wstępnych najwyższego poziomu musisz mieć nowy lub istniejący przepływ pracy standardowej aplikacji logiki rozpoczynający się od wbudowanego wyzwalacza, który może odbierać żądania.

Na przykład wyzwalacz Żądanie tworzy punkt końcowy w przepływie pracy, który może odbierać i obsługiwać żądania przychodzące od innych osób wywołujących, w tym przepływy pracy. Ten punkt końcowy udostępnia adres URL, którego można użyć do wywoływania i wyzwalania przepływu pracy. W tym przykładzie kroki są kontynuowane przy użyciu wyzwalacza Żądanie.

Aby uzyskać więcej informacji, zobacz Odbieranie i odpowiadanie na przychodzące żądania HTTP przy użyciu usługi Azure Logic Apps.

Tworzenie przepływu pracy

  1. Jeśli jeszcze tego nie zrobiono, utwórz aplikację logiki opartą na jednej dzierżawie i pusty przepływ pracy.

  2. Po uruchomieniu projektanta dodaj wyzwalacz Żądanie jako pierwszy krok w przepływie pracy.

  3. Na podstawie wymagań scenariusza dodaj inne akcje, które chcesz uruchomić w przepływie pracy.

  4. Gdy wszystko będzie gotowe, zapisz przepływ pracy.

Aby uzyskać więcej informacji, zobacz Tworzenie przepływów pracy aplikacji logiki z jedną dzierżawą w usłudze Azure Logic Apps.

Kopiowanie adresu URL punktu końcowego

  1. W menu przepływu pracy wybierz pozycję Przegląd.

  2. Na stronie Przegląd skopiuj i zapisz adres URL przepływu pracy do późniejszego użycia.

    Aby wyzwolić przepływ pracy, należy wywołać lub wysłać żądanie do tego adresu URL.

  3. Upewnij się, że adres URL działa, wywołując lub wysyłając żądanie do adresu URL. Możesz użyć dowolnego narzędzia, które chcesz wysłać żądanie, na przykład Postman.

Konfigurowanie połączenia prywatnego punktu końcowego

  1. W menu aplikacji logiki w obszarze Ustawienia wybierz pozycję Sieć.

  2. Na stronie Sieć na karcie Ruchu przychodzącego wybierz pozycję Prywatne punkty końcowe.

  3. W obszarze Połączenia prywatnego punktu końcowego wybierz pozycję Dodaj.

  4. W otwartym okienku Dodawanie prywatnego punktu końcowego podaj żądane informacje o punkcie końcowym.

    Aby uzyskać więcej informacji, zapoznaj się z właściwościami prywatnego punktu końcowego.

  5. Gdy platforma Azure pomyślnie aprowizuje prywatny punkt końcowy, spróbuj ponownie wywołać adres URL przepływu pracy.

    Tym razem zostanie wyświetlony oczekiwany 403 Forbidden błąd, co oznacza, że prywatny punkt końcowy jest skonfigurowany i działa poprawnie.

  6. Aby upewnić się, że połączenie działa poprawnie, utwórz maszynę wirtualną w tej samej sieci wirtualnej, która ma prywatny punkt końcowy, i spróbuj wywołać przepływ pracy aplikacji logiki.

Konfigurowanie ruchu wychodzącego przy użyciu integracji z siecią wirtualną

Aby zabezpieczyć ruch wychodzący z aplikacji logiki, możesz zintegrować aplikację logiki z siecią wirtualną. Najpierw utwórz i przetestuj przykładowy przepływ pracy. Następnie można skonfigurować integrację z siecią wirtualną.

Zagadnienia dotyczące ruchu wychodzącego za pośrednictwem integracji z siecią wirtualną

  • Konfigurowanie integracji z siecią wirtualną wpływa tylko na ruch wychodzący. Aby zabezpieczyć ruch przychodzący, który nadal używa App Service współużytkowanego punktu końcowego, zobacz Konfigurowanie ruchu przychodzącego za pośrednictwem prywatnych punktów końcowych.

  • Nie można zmienić rozmiaru podsieci po przypisaniu, więc użyj podsieci, która jest wystarczająco duża, aby uwzględnić skalę, którą może osiągnąć aplikacja. Aby uniknąć problemów z pojemnością podsieci, użyj podsieci /26 z 64 adresami. Jeśli tworzysz podsieć na potrzeby integracji sieci wirtualnej z Azure Portal, musisz użyć /27 jej jako minimalnego rozmiaru podsieci.

  • Aby środowisko uruchomieniowe usługi Azure Logic Apps działało, musisz mieć nieprzerwane połączenie z magazynem zaplecza. Jeśli magazyn zaplecza jest uwidoczniony w sieci wirtualnej za pośrednictwem prywatnego punktu końcowego, upewnij się, że są otwarte następujące porty:

    Port źródłowy Port docelowy Element źródłowy Element docelowy Protokół Przeznaczenie
    * 443 Podsieć zintegrowana ze standardową aplikacją logiki Konto magazynu TCP Konto magazynu
    * 445 Podsieć zintegrowana ze standardową aplikacją logiki Konto magazynu TCP Udział plików bloku komunikatów serwera (SMB)
  • Aby łączniki zarządzane hostowane na platformie Azure działały, musisz mieć nieprzerwane połączenie z usługą zarządzanego interfejsu API. W przypadku integracji z siecią wirtualną upewnij się, że żadne zasady zabezpieczeń zapory ani sieci nie blokują tych połączeń. Jeśli sieć wirtualna korzysta z sieciowej grupy zabezpieczeń, tabeli tras zdefiniowanej przez użytkownika lub zapory, upewnij się, że sieć wirtualna zezwala na połączenia wychodzące ze wszystkimi adresami IP łącznika zarządzanego w odpowiednim regionie. W przeciwnym razie łączniki zarządzane przez platformę Azure nie będą działać.

Aby uzyskać więcej informacji, zapoznaj się z następującą dokumentacją:

Tworzenie i testowanie przepływu pracy

  1. Jeśli jeszcze tego nie zrobiono, w Azure Portal utwórz aplikację logiki opartą na jednej dzierżawie i pusty przepływ pracy.

  2. Po uruchomieniu projektanta dodaj wyzwalacz Żądania jako pierwszy krok w przepływie pracy.

  3. Dodaj akcję HTTP, aby wywołać usługę wewnętrzną niedostępną za pośrednictwem Internetu i uruchamianą przy użyciu prywatnego adresu IP, takiego jak 10.0.1.3.

  4. Po zakończeniu zapisz przepływ pracy.

  5. W projektancie ręcznie uruchom przepływ pracy.

    Akcja HTTP kończy się niepowodzeniem, czyli zgodnie z oczekiwaniami, ponieważ przepływ pracy działa w chmurze i nie może uzyskać dostępu do usługi wewnętrznej.

Konfigurowanie integracji z siecią wirtualną

  1. W Azure Portal w menu zasobów aplikacji logiki w obszarze Ustawienia wybierz pozycję Sieć.

  2. W okienku Sieć na karcie Ruchu wychodzącego wybierz pozycję Integracja z siecią wirtualną.

  3. W okienku Integracja z siecią wirtualną wybierz pozycję Dodaj sieć wirtualną.

  4. W okienku Dodawanie integracji z siecią wirtualną wybierz subskrypcję i sieć wirtualną, która łączy się z usługą wewnętrzną.

    Po dodaniu integracji sieci wirtualnej w okienku Integracja z siecią wirtualną ustawienie Route All jest domyślnie włączone. To ustawienie kieruje cały ruch wychodzący przez sieć wirtualną. Po włączeniu WEBSITE_VNET_ROUTE_ALL tego ustawienia ustawienie aplikacji jest ignorowane.

  5. Jeśli używasz własnego serwera nazw domen (DNS) z siecią wirtualną, ustaw ustawienie aplikacji zasobu WEBSITE_DNS_SERVER aplikacji logiki na adres IP dla usługi DNS. Jeśli masz pomocniczy system DNS, dodaj inne ustawienie aplikacji o nazwie WEBSITE_DNS_ALT_SERVER, a następnie ustaw wartość również na adres IP dla usługi DNS.

  6. Gdy platforma Azure pomyślnie aprowizuje integrację z siecią wirtualną, spróbuj ponownie uruchomić przepływ pracy.

    Akcja HTTP jest teraz uruchamiana pomyślnie.

Następne kroki