Schützen von ausgehendem Azure SignalR-Datenverkehr über freigegebene private Endpunkte
Wenn Sie den serverlosen Modus in Azure SignalR Service verwenden, können Sie ausgehende private Endpunktverbindungen mit einem Upstreamdienst erstellen.
Upstreamdienste, z. B. Azure-Web-App und Azure Functions, lassen sich so konfigurieren, dass Verbindungen aus einer Liste virtueller Netzwerke akzeptiert und externe Verbindungen abgelehnt werden, die aus einem öffentlichen Netzwerk stammen. Zum Erreichen dieser Endpunkte können Sie eine ausgehende private Endpunktverbindung erstellen.
Für diese ausgehende Methode gelten die folgenden Anforderungen:
- Der Upstreamdienst muss eine Azure-Web-App oder Azure Function sein.
- Der Azure SignalR Service darf nicht im Free-Tarif betrieben werden.
- Die Azure-Web-App oder Azure-Funktion muss sich auf bestimmten SKUs befinden. Siehe Verwenden von privaten Endpunkten für eine Azure-Web-App.
In diesem Artikel erfahren Sie, wie Sie einen freigegebenen privaten Endpunkt mit einer ausgehenden privaten Endpunktverbindung erstellen, um ausgehenden Datenverkehr zu einer Upstreaminstanz von Azure Function zu schützen.
Verwaltung freigegebener Private Link-Ressourcen
Sie erstellen private Endpunkte gesicherter Ressourcen mithilfe der SignalR Service-APIs. Diese Endpunkte, die als freigegebene Private Link-Ressourcen bezeichnet werden, geben Ihnen die Möglichkeit, den Zugriff auf eine Ressource freizugeben, z. B. auf eine Azure-Funktion, die in den Azure Private Link-Dienst integriert ist. Diese privaten Endpunkte werden innerhalb der Ausführungsumgebung von SignalR Service erstellt und sind außerhalb dieser Umgebung nicht zugänglich.
Voraussetzungen
Sie benötigen die folgenden Ressourcen, um die Schritte in diesem Artikel auszuführen:
Eine Azure-Ressourcengruppe
Eine Azure SignalR Service-Instanz (darf nicht im Free-Tarif betrieben werden)
Eine Azure Function-Instanz
-
Hinweis
Die Beispiele in diesem Artikel basieren auf den folgenden Annahmen:
- Die Ressourcen-ID des SignalR-Diensts ist /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.SignalRService/signalr/contoso-signalr.
- Die Ressourcen-ID dieser Upstream-Azure-Funktion ist /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Web/sites/contoso-func. In den restlichen Beispielen wird gezeigt, wie der Dienst contoso-signalr so konfiguriert werden kann, dass seine Upstreamaufrufe an die Funktion über einen privaten Endpunkt statt über ein öffentliches Netzwerk übertragen werden. Sie können in den Beispielen Ihre eigenen Ressourcen-IDs verwenden.
Erstellen einer freigegebenen Private Link-Ressource zur Funktion
Wechseln Sie im Azure-Portal zu Ihrer SignalR Service-Ressource.
Wählen Sie im linken Menü Netzwerk aus.
Wählen Sie die Registerkarte Privater Zugriff aus.
Wählen Sie im Abschnitt Freigegebene private Endpunkte die Option Freigegebenen privaten Endpunkt hinzufügen aus.
Geben Sie die folgenden Informationen ein: | Feld | Beschreibung | | ----- | ----------- | | Name | Der Name des freigegebenen privaten Endpunkts. | | Typ | Wählen Sie Microsoft.Web/sites aus | | Abonnement | Das Abonnement, das Ihre Funktions-App enthält. | | Ressourcen | Geben Sie den Namen Ihrer Funktions-App ein. | | Anforderungsnachricht | Geben Sie „Bitte genehmigen“ ein |
Klicken Sie auf Hinzufügen.
Die Ressource für den freigegebenen privaten Endpunkt hat den Bereitstellungsstatus Erfolgreich. Der Verbindungsstatus lautet Ausstehend und muss auf der Zielressourcenseite noch genehmigt werden.
Genehmigen der privaten Endpunktverbindung für die Funktion
Wichtig
Nachdem Sie die private Endpunktverbindung genehmigt haben, ist ein Zugriff auf die Funktion über das öffentliche Netzwerk nicht mehr möglich. Möglicherweise müssen Sie weitere private Endpunkte in Ihrem virtuellen Netzwerk erstellen, um auf den Funktionsendpunkt zuzugreifen.
Wechseln Sie im Azure-Portal zur Ihrer Funktions-App.
Wählen Sie im linken Menü die Option Netzwerk aus.
Wählen Sie Private Endpunktverbindungen aus.
Wählen Sie unter Eingehender Datenverkehr Private Endpunkte aus.
Wählen Sie den Verbindungsnamen der Verbindung mit dem privaten Endpunkt aus.
Wählen Sie Genehmigen aus.
Vergewissern Sie sich, dass die private Endpunktverbindung wie im folgenden Screenshot angezeigt wird. Es kann ein paar Minuten dauern, bis der Status aktualisiert wird.
Abfragen des Status der freigegebenen Private Link-Ressource
Die Weitergabe der Genehmigung an den SignalR Service dauert einige Minuten. Sie können den Status mithilfe des Azure-Portals oder der Azure CLI überprüfen.
An diesem Punkt ist der private Endpunkt zwischen dem SignalR Service und der Azure-Funktion eingerichtet.
Überprüfen, ob Upstreamaufrufe von einer privaten IP-Adresse stammen
Nachdem der private Endpunkt eingerichtet wurde, können Sie überprüfen, ob eingehende Aufrufe von einer privaten IP-Adresse stammen, indem Sie den X-Forwarded-For
-Header auf der Upstreamseite überprüfen.
Bereinigung
Wenn Sie nicht vorhaben, die in diesem Artikel erstellten Ressourcen zu verwenden, können Sie die Ressourcengruppe löschen.
Achtung
Beim Löschen der Ressourcengruppe werden alle darin enthaltenen Ressourcen gelöscht. Falls in der angegebenen Ressourcengruppe Ressourcen enthalten sind, die nicht zum Umfang dieses Artikels gehören, werden sie ebenfalls gelöscht.
Nächste Schritte
Weitere Informationen zu privaten Endpunkten: