Zabezpieczanie ruchu między standardowymi aplikacjami logiki a sieciami wirtualnymi platformy Azure przy użyciu prywatnych punktów końcowych
Dotyczy: Azure Logic Apps (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 używać 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ą:
- Co to jest prywatny punkt końcowy platformy Azure?
- Prywatne punkty końcowe — integrowanie aplikacji z siecią wirtualną platformy Azure
- Co to jest łącze prywatne platformy Azure?
- Integracja regionalnej sieci wirtualnej?
Wymagania wstępne
Nowa lub istniejąca sieć wirtualna platformy Azure zawierająca 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ą:
Zainstaluj lub użyj narzędzia, które może wysyłać żądania HTTP w celu przetestowania rozwiązania, na przykład:
- Program Visual Studio Code z rozszerzeniem z witryny Visual Studio Marketplace
- PowerShell Invoke-RestMethod
- Microsoft Edge — narzędzie konsoli sieciowej
- Bruno
- lok
Uwaga
W przypadku scenariuszy, w których masz poufne dane, takie jak poświadczenia, wpisy tajne, tokeny dostępu, klucze interfejsu API i inne podobne informacje, upewnij się, że używasz narzędzia chroniącego dane przy użyciu niezbędnych funkcji zabezpieczeń, działa w trybie offline lub lokalnie, nie synchronizuje danych z chmurą i nie wymaga zalogowania się do konta online. Dzięki temu można zmniejszyć ryzyko ujawnienia poufnych danych publicznie.
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:
Uruchom przepływ pracy za pomocą 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.
Dodaj prywatny punkt końcowy dla zasobu aplikacji logiki do sieci wirtualnej.
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ć 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 usługi Office 365 Outlook, przepływ pracy jest wyzwalany tylko co godzinę.
Wdrożenie z programu 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ść na0
.Włączenie usługi Private Link nie wpływa na ruch wychodzący, który nadal przepływa przez infrastrukturę usługi 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 standardowy przepływ pracy aplikacji logiki, który rozpoczyna się od wbudowanego wyzwalacza, który może odbierać żądania.
Na przykład wyzwalacz Żądania 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ływów 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 z wyzwalaczem Żądania .
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
Jeśli jeszcze tego nie zrobiono, utwórz aplikację logiki opartą na jednej dzierżawie i pusty przepływ pracy.
Po otworze projektanta dodaj wyzwalacz Żądania jako pierwszy krok w przepływie pracy.
Na podstawie wymagań scenariusza dodaj inne akcje, które chcesz uruchomić w przepływie pracy.
Gdy wszystko będzie gotowe, zapisz proces.
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
W menu przepływu pracy wybierz pozycję Przegląd.
Na stronie Przegląd skopiuj i zapisz adres URL przepływu pracy do późniejszego użycia.
Aby przetestować adres URL i wyzwolić przepływ pracy, wyślij żądanie HTTP do adresu URL przy użyciu narzędzia żądania HTTP i jego instrukcji.
Konfigurowanie połączenia prywatnego punktu końcowego
W menu zasobów aplikacji logiki w obszarze Ustawienia wybierz pozycję Sieć.
Na stronie Sieć w sekcji Konfiguracja ruchu przychodzącego wybierz link obok prywatnych punktów końcowych.
Na stronie Połączenia z prywatnym punktem końcowym wybierz pozycję Dodaj>express lub zaawansowane.
Aby uzyskać więcej informacji na temat opcji Zaawansowane , zobacz Tworzenie prywatnego punktu końcowego.
W 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.
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.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ę sieci wirtualnej.
Zagadnienia dotyczące ruchu wychodzącego za pośrednictwem integracji z siecią wirtualną
Konfigurowanie integracji sieci wirtualnej wpływa tylko na ruch wychodzący. Aby zabezpieczyć ruch przychodzący, który nadal korzysta z udostępnionego punktu końcowego usługi App Service, 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ą aplikacja może osiągnąć. Aby uniknąć problemów z pojemnością
/26
podsieci, użyj podsieci z 64 adresami. Jeśli tworzysz podsieć na potrzeby integracji sieci wirtualnej z witryną 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 Lokalizacja docelowa Protokół Purpose * 443 Podsieć zintegrowana z aplikacją logiki w warstwie Standardowa Konto magazynu TCP Konto magazynu * 445 Podsieć zintegrowana z aplikacją logiki w warstwie Standardowa 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 sieci wirtualnej upewnij się, że żadne zasady zabezpieczeń zapory ani sieci nie blokują tych połączeń. Jeśli sieć wirtualna używa sieciowej grupy zabezpieczeń, tabeli tras zdefiniowanych przez użytkownika lub zapory, upewnij się, że sieć wirtualna zezwala na połączenia wychodzące ze wszystkimi zarządzanymi adresami IP łącznika 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ą:
- Integrowanie aplikacji z usługą Azure Virtual Network
- Sieciowe grupy zabezpieczeń
- Routing ruchu w sieci wirtualnej
Tworzenie i testowanie przepływu pracy
Jeśli jeszcze tego nie zrobiono, w witrynie Azure Portal utwórz aplikację logiki opartą na jednej dzierżawie i pusty przepływ pracy.
Po otworze projektanta dodaj wyzwalacz Żądania jako pierwszy krok w przepływie pracy.
Dodaj akcję HTTP, aby wywołać usługę wewnętrzną, która jest niedostępna za pośrednictwem Internetu i uruchamiana przy użyciu prywatnego adresu IP, takiego jak
10.0.1.3
.Gdy wszystko będzie gotowe, zapisz proces.
W projektancie ręcznie uruchom przepływ pracy.
Akcja HTTP kończy się niepowodzeniem, która jest zaprojektowana i oczekiwana, 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ą
W witrynie Azure Portal w menu zasobów aplikacji logiki w obszarze Ustawienia wybierz pozycję Sieć.
Na stronie Sieć w sekcji Konfiguracja ruchu wychodzącego wybierz link obok pozycji Integracja z siecią wirtualną.
Na stronie Integracja z siecią wirtualną wybierz pozycję Dodaj integrację sieci wirtualnej.
W okienku Dodawanie integracji sieci wirtualnej wybierz subskrypcję, sieć wirtualną, która łączy się z usługą wewnętrzną, oraz podsieć, w której chcesz dodać aplikację logiki. Po zakończeniu wybierz pozycję Połącz.
Na stronie Integracja z siecią wirtualną domyślnie jest zaznaczone ustawienie Wychodzący ruch internetowy, które kieruje cały ruch wychodzący przez sieć wirtualną. W tym scenariuszu ustawienie aplikacji o nazwie WEBSITE_VNET_ROUTE_ALL jest ignorowane.
Aby znaleźć to ustawienie aplikacji, w menu zasobów aplikacji logiki w obszarze Ustawienia wybierz pozycję Zmienne środowiskowe.
Jeśli używasz własnego serwera nazw domen (DNS) z siecią wirtualną, dodaj ustawienie aplikacji WEBSITE_DNS_SERVER , jeśli nie istnieje, i ustaw wartość na adres IP dla usługi DNS. Jeśli masz pomocniczy system DNS, dodaj inne ustawienie aplikacji o nazwie WEBSITE_DNS_ALT_SERVER i ustaw wartość na adres IP pomocniczego systemu DNS.
Gdy platforma Azure pomyślnie aprowizuje integrację z siecią wirtualną, spróbuj ponownie uruchomić przepływ pracy.
Akcja HTTP jest teraz uruchamiana pomyślnie.