Zabezpieczanie ruchu wychodzącego usługi Azure SignalR za pośrednictwem udostępnionych prywatnych punktów końcowych

W przypadku korzystania z trybu bezserwerowego w usłudze Azure SignalR Service można utworzyć wychodzące połączenia prywatnych punktów końcowych z usługą nadrzędną.

Usługi nadrzędne, takie jak Azure Web App i Azure Functions, można skonfigurować tak, aby akceptowały połączenia z listy sieci wirtualnych i odrzucały połączenia zewnętrzne pochodzące z sieci publicznej. Aby uzyskać dostęp do tych punktów końcowych, możesz utworzyć wychodzące połączenie prywatnego punktu końcowego.

Diagram showing architecture of shared private endpoint.

Ta metoda ruchu wychodzącego podlega następującym wymaganiom:

  • Usługa nadrzędna musi być aplikacją internetową platformy Azure lub funkcją platformy Azure.
  • Usługa Azure SignalR nie musi znajdować się w warstwie Bezpłatna.
  • Aplikacja internetowa platformy Azure lub funkcja platformy Azure muszą znajdować się w określonych jednostkach SKU. Zobacz Używanie prywatnych punktów końcowych dla aplikacji internetowej platformy Azure.

W tym artykule dowiesz się, jak utworzyć udostępniony prywatny punkt końcowy z wychodzącym prywatnym połączeniem punktu końcowego w celu zabezpieczenia ruchu wychodzącego do nadrzędnego wystąpienia funkcji platformy Azure.

Prywatne punkty końcowe zabezpieczonych zasobów są tworzone za pośrednictwem interfejsów API usługi SignalR Service. Te punkty końcowe, nazywane udostępnionymi zasobami łącza prywatnego, umożliwiają udostępnianie dostępu do zasobu, takiego jak funkcja platformy Azure zintegrowana z usługą Azure Private Link. Te prywatne punkty końcowe są tworzone w środowisku wykonywania usługi SignalR Service i nie są dostępne poza tym środowiskiem.

Wymagania wstępne

Do wykonania kroków opisanych w tym artykule potrzebne są następujące zasoby:

  • Grupa zasobów platformy Azure

  • Wystąpienie usługi Azure SignalR Service (nie może znajdować się w warstwie Bezpłatna)

  • Wystąpienie funkcji platformy Azure

  • Uwaga

Przykłady w tym artykule są oparte na następujących założeniach:

  • Identyfikator zasobu usługi SignalR Service to /subscriptions/000000000-0000-0000-0000-00000000000000/resourceGroups/contoso/providers/Microsoft.SignalRService/signalr/contoso-signalr.
  • Identyfikator zasobu nadrzędnej funkcji platformy Azure to /subscriptions/00000000-0000-0000-0000-00000000000000/resourceGroups/contoso/providers/Microsoft.Web/sites/contoso-func. W pozostałych przykładach pokazano, jak można skonfigurować usługę contoso-signalr , tak aby jej nadrzędne wywołania funkcji przechodziły przez prywatny punkt końcowy, a nie sieć publiczną. W przykładach możesz użyć własnych identyfikatorów zasobów.
  1. W witrynie Azure Portal przejdź do zasobu usługi SignalR Service.

  2. Wybierz pozycję Sieć z menu po lewej stronie.

  3. Wybierz kartę Dostęp prywatny.

  4. Wybierz pozycję Dodaj udostępniony prywatny punkt końcowy w sekcji Udostępnione prywatne punkty końcowe .

    Screenshot of shared private endpoints management.

    Wprowadź następujące informacje: | Pole | Opis | | ----- | ----------- | | Nazwa | Nazwa udostępnionego prywatnego punktu końcowego. | | Typ | Wybierz pozycję Microsoft.Web/sites | | Subskrypcja | Subskrypcja zawierająca aplikację funkcji. | | Zasób | Wprowadź nazwę aplikacji funkcji. | | Komunikat żądania | Wprowadź "proszę zatwierdzić" |

  5. Wybierz pozycję Dodaj.

    Screenshot of adding a shared private endpoint.

Udostępniony zasób prywatnego punktu końcowego będzie mieć stan aprowizacji Powodzenie . Stan połączenia to Oczekiwanie na zatwierdzenie po stronie zasobu docelowego.

Screenshot of an added shared private endpoint.

Zatwierdzanie połączenia prywatnego punktu końcowego dla funkcji

Ważne

Po zatwierdzeniu połączenia prywatnego punktu końcowego funkcja nie jest już dostępna z sieci publicznej. Aby uzyskać dostęp do punktu końcowego funkcji, może być konieczne utworzenie innych prywatnych punktów końcowych w sieci wirtualnej.

  1. W witrynie Azure Portal przejdź do aplikacji funkcji.

  2. Wybierz pozycję Sieć z menu po lewej stronie.

  3. Wybierz pozycję Połączenia prywatnych punktów końcowych.

  4. Wybierz pozycję Prywatne punkty końcowe w ruchu przychodzącym.

  5. Wybierz nazwę Połączenie ion połączenia prywatnego punktu końcowego.

  6. Wybierz pozycję Zatwierdź.

    Screenshot of the Azure portal, showing the Private endpoint connections pane.

    Upewnij się, że połączenie prywatnego punktu końcowego jest wyświetlane, jak pokazano na poniższym zrzucie ekranu. Zaktualizowanie stanu może potrwać kilka minut.

    Screenshot of the Azure portal, showing an Approved status on the Private endpoint connections pane.

Zatwierdzenie może potrwać kilka minut, aby przeprowadzić propagację do usługi SignalR Service. Stan można sprawdzić przy użyciu witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure.

Screenshot of an approved shared private endpoint.

W tym momencie zostanie ustanowiony prywatny punkt końcowy między usługą SignalR Service i funkcją platformy Azure.

Sprawdź, czy połączenia nadrzędne pochodzą z prywatnego adresu IP

Po skonfigurowaniu prywatnego punktu końcowego można zweryfikować przychodzące wywołania z prywatnego adresu IP, sprawdzając X-Forwarded-For nagłówek po stronie nadrzędnej.

Screenshot of the Azure portal, showing incoming requests are from a private IP.

Czyszczenie

Jeśli nie planujesz korzystać z zasobów utworzonych w tym artykule, możesz usunąć grupę zasobów.

Uwaga

Usunięcie grupy zasobów powoduje usunięcie wszystkich zawartych w niej zasobów. Jeśli zasoby spoza zakresu tego artykułu istnieją w określonej grupie zasobów, zostaną również usunięte.

Następne kroki

Dowiedz się więcej o prywatnych punktach końcowych: