Verwenden privater Endpunkte für Azure SignalR Service

Sie können private Endpunkte für Ihren Azure SignalR Service verwenden, um Clients in einem virtuellen Netzwerk (VNET) den sicheren Zugriff auf Daten über Private Link zu ermöglichen. Der private Endpunkt verwendet eine IP-Adresse aus dem VNET-Adressraum für Ihren Azure SignalR Service. Der Netzwerkdatenverkehr zwischen den Clients im VNET und Azure SignalR Service wird über eine private Verbindung im Microsoft-Backbonenetzwerk geleitet, sodass keine Offenlegung im öffentlichen Internet erfolgt.

Das Verwenden privater Endpunkte für Ihren Azure SignalR Service ermöglichen Folgendes:

  • Sichern des Azure SignalR Service mithilfe der Netzwerkzugriffssteuerung, um alle Verbindungen am öffentlichen Endpunkt für Azure SignalR Service zu blockieren.
  • Erhöhen der Sicherheit für das virtuelle Netzwerk (VNet), indem Sie die Exfiltration von Daten aus dem VNet blockieren.
  • Sicheres Verbinden mit Azure SignalR Service aus lokalen Netzwerken, die eine Verbindung mit dem VNET über VPN oder ExpressRoutes mit privatem Peering herstellen.

In diesem Artikel erfahren Sie, wie Sie private Endpunkte für Ihren Azure SignalR Service verwenden.

Konzeptionelle Übersicht

Overview of private endpoints for Azure SignalR Service

Ein privater Endpunkt ist eine spezielle Netzwerkschnittstelle für einen Azure-Dienst in Ihrem virtuellen Netzwerk (VNET). Wenn Sie einen privaten Endpunkt für Ihren Azure SignalR Service erstellen, wird eine sichere Verbindung zwischen Clients in Ihrem VNET und Ihrem Dienst bereitgestellt. Dem privaten Endpunkt wird eine IP-Adresse aus dem IP-Adressbereich Ihres VNET zugewiesen. Für die Verbindung zwischen dem privaten Endpunkt und Azure SignalR Service wird eine sichere private Verbindung verwendet.

Anwendungen im VNET können eine nahtlose Verbindung mit Azure SignalR Service über den privaten Endpunkt herstellen, und zwar mit denselben Verbindungszeichenfolgen und Autorisierungsmechanismen, die auch sonst verwendet würden. Private Endpunkte können mit allen von Azure SignalR Service unterstützten Protokollen verwendet werden, auch mit der REST-API.

Wenn Sie einen privaten Endpunkt für einen Azure SignalR Service in Ihrem VNET erstellen, wird an den Besitzer von Azure SignalR Service eine Einwilligungsanforderung zur Genehmigung gesendet. Wenn der Benutzer, der die Erstellung des privaten Endpunkts anfordert, auch Besitzer von Azure SignalR Service ist, wird diese Einwilligungsanforderung automatisch genehmigt.

Besitzer von Azure SignalR Service können Einwilligungsanforderungen und die privaten Endpunkte über die Registerkarte Private Endpunkte für den Azure SignalR Service im Azure-Portal verwalten.

Tipp

Wenn der Zugriff auf Ihren Azure SignalR Service nur über den privaten Endpunkt erfolgen soll, konfigurieren Sie die Netzwerkzugriffssteuerung so, dass der Zugriff über den öffentlichen Endpunkt verweigert oder gesteuert wird.

Herstellen einer Verbindung mit privaten Endpunkten

Clients in einem VNET, die den privaten Endpunkt verwenden, sollten dieselbe Verbindungszeichenfolge für den Azure SignalR Service verwenden wie Clients, die eine Verbindung mit dem öffentlichen Endpunkt herstellen. Das automatische Weiterleiten der Verbindungen vom VNET zu Azure SignalR Service über eine private Verbindung basiert auf der DNS-Auflösung.

Wichtig

Verwenden Sie zum Herstellen einer Verbindung mit Azure SignalR Service mithilfe privater Endpunkte dieselbe Verbindungszeichenfolge, die Sie auch sonst verwenden würden. Stellen Sie über die URL der privatelink Unterdomäne keine Verbindung mit Azure SignalR Service her.

Wir erstellen standardmäßig eine private DNS-Zone, die an das VNET angehängt ist, mit den erforderlichen Updates für die privaten Endpunkte. Wenn Sie jedoch einen eigenen DNS-Server verwenden, müssen Sie möglicherweise weitere Änderungen an Ihrer DNS-Konfiguration vornehmen. Im Abschnitt DNS-Änderungen für private Endpunkte werden die für private Endpunkte erforderlichen Updates beschrieben.

DNS-Änderungen für private Endpunkte

Wenn Sie einen privaten Endpunkt erstellen, wird der DNS-CNAME-Ressourceneintrag für Azure SignalR Service auf einen Alias in einer Unterdomäne mit dem Präfix privatelink aktualisiert. Standardmäßig erstellen wir außerdem eine private DNS-Zone, die der Unterdomäne privatelink entspricht, mit den DNS-A-Ressourceneinträgen für die privaten Endpunkte.

Wenn Sie den Azure SignalR Service-Domänennamen außerhalb des VNET mit dem privaten Endpunkt auflösen, wird diese in den öffentlichen Endpunkt von Azure SignalR Service aufgelöst. Bei Auflösung aus dem VNET, das den privaten Endpunkt hostet, wird der Domänenname in die IP-Adresse des privaten Endpunkts aufgelöst.

Bei dem gezeigten Beispiel lauten die DNS-Ressourceneinträge für den Azure SignalR Service „foobar“ bei Auflösung von außerhalb des VNet, das den privaten Endpunkt hostet, wie folgt:

Name type Wert
foobar.service.signalr.net CNAME foobar.privatelink.service.signalr.net
foobar.privatelink.service.signalr.net H <Öffentliche IP-Adresse von Azure SignalR Service>

Wie bereits erwähnt, können Sie den Zugriff für Clients außerhalb des VNET über den öffentlichen Endpunkt mithilfe der Netzwerkzugriffssteuerung verweigern oder steuern.

Die DNS-Ressourceneinträge für „foobar“ lauten nach dem Auflösen durch einen Client im VNET, das den privaten Endpunkt hostet, wie folgt:

Name type Wert
foobar.service.signalr.net CNAME foobar.privatelink.service.signalr.net
foobar.privatelink.service.signalr.net H 10.1.1.5

Diese Vorgehensweise ermöglicht Zugriff auf Azure SignalR Service mithilfe derselben Verbindungszeichenfolge für Clients in dem VNet, das die privaten Endpunkte hostet, sowie für Clients außerhalb des VNet.

Wenn Sie einen benutzerdefinierten DNS-Server in Ihrem Netzwerk verwenden, müssen Clients in der Lage sein, den FQDN für den Azure SignalR Service-Endpunkt in die IP-Adresse des privaten Endpunkts aufzulösen. Sie sollten den DNS-Server so konfigurieren, dass die Unterdomäne der privaten Verbindung an die private DNS-Zone für das VNET delegiert wird, oder konfigurieren Sie die A-Einträge für foobar.privatelink.service.signalr.net mit der IP-Adresse des privaten Endpunkts.

Tipp

Wenn Sie einen benutzerdefinierten oder lokalen DNS-Server verwenden, müssen Sie den DNS-Server so konfigurieren, dass der Azure SignalR Service-Name in der Unterdomäne privatelink in die IP-Adresse des privaten Endpunkts aufgelöst wird. Hierzu können Sie die Unterdomäne privatelink an die private DNS-Zone des VNET delegieren oder die DNS-Zone auf dem DNS-Server konfigurieren und die DNS-A-Einträge hinzufügen.

Der empfohlene DNS-Zonenname für private Endpunkte für Azure SignalR Service lautet wie folgt: privatelink.service.signalr.net.

Weitere Informationen zum Konfigurieren des eigenen DNS-Servers für die Unterstützung privater Endpunkte finden Sie in den folgenden Artikeln:

Erstellen eines privaten Endpunkts

Erstellen eines privaten Endpunkts zusammen mit einem neuen Azure SignalR Service im Azure-Portal

  1. Wählen Sie beim Erstellen eines neuen Azure SignalR-Diensts die Registerkarte "Netzwerk" aus. Wählen Sie "Privater Endpunkt" als Konnektivitätsmethode aus.

    Create Azure SignalR Service - Networking tab

  2. Klicken Sie auf Hinzufügen. Geben Sie das Abonnement, die Ressourcengruppe, den Speicherort und den Namen für den neuen privaten Endpunkt ein. Wählen Sie ein virtuelles Netzwerk und ein Subnetz aus.

    Create Azure SignalR Service - Add private endpoint

  3. Klicken Sie auf Überprüfen + erstellen.

Erstellen eines privaten Endpunkts für einen vorhandenen Azure SignalR Service im Azure-Portal

  1. Navigieren Sie zu Azure SignalR Service.

  2. Wählen Sie das Einstellungsmenü Private Endpunktverbindungen.

  3. Wählen Sie oben die Schaltfläche + Privater Endpunkt.

    Private endpoint connections blade

  4. Geben Sie das Abonnement, die Ressourcengruppe, den Ressourcennamen und die Region für den neuen privaten Endpunkt ein.

    Create private endpoint - Basics

  5. Wählen Sie die Azure SignalR Service-Zielressource aus.

    Create private endpoint - Resource

  6. Auswählen des virtuellen Zielnetzwerks

    Create private endpoint - Configuration

  7. Klicken Sie auf Überprüfen + erstellen.

Erstellen eines privaten Endpunkts mit Azure CLI

  1. Anmelden bei Azure CLI
    az login
    
  2. Festlegen Ihres Azure-Abonnements
    az account set --subscription {AZURE SUBSCRIPTION ID}
    
  3. Erstellen einer neuen Ressourcengruppe
    az group create -n {RG} -l {AZURE REGION}
    
  4. Registrieren von Microsoft.SignalRService als Anbieter
    az provider register -n Microsoft.SignalRService
    
  5. Erstellen eines neuen Azure SignalR-Diensts
    az signalr create --name {NAME} --resource-group {RG} --location {AZURE REGION} --sku Standard_S1
    
  6. Erstellen eines virtuellen Netzwerks
    az network vnet create --resource-group {RG} --name {vNet NAME} --location {AZURE REGION}
    
  7. Hinzufügen eines Subnetzes
    az network vnet subnet create --resource-group {RG} --vnet-name {vNet NAME} --name {subnet NAME} --address-prefixes {addressPrefix}
    
  8. Deaktivieren von Richtlinien für virtuelle Netzwerke
    az network vnet subnet update --name {subnet NAME} --resource-group {RG} --vnet-name {vNet NAME} --disable-private-endpoint-network-policies true
    
  9. Hinzufügen einer Privates DNS Zone
    az network private-dns zone create --resource-group {RG} --name privatelink.service.signalr.net
    
  10. Verknüpfen Privates DNS Zone mit dem virtuellen Netzwerk
    az network private-dns link vnet create --resource-group {RG} --virtual-network {vNet NAME} --zone-name privatelink.service.signalr.net --name {dnsZoneLinkName} --registration-enabled true
    
  11. Erstellen eines privaten Endpunkts (automatisch genehmigen)
    az network private-endpoint create --resource-group {RG} --vnet-name {vNet NAME} --subnet {subnet NAME} --name {Private Endpoint Name}  --private-connection-resource-id "/subscriptions/{AZURE SUBSCRIPTION ID}/resourceGroups/{RG}/providers/Microsoft.SignalRService/SignalR/{NAME}" --group-ids signalr --connection-name {Private Link Connection Name} --location {AZURE REGION}
    
  12. Erstellen eines privaten Endpunkts (Manuelle Genehmigung anfordern)
    az network private-endpoint create --resource-group {RG} --vnet-name {vNet NAME} --subnet {subnet NAME} --name {Private Endpoint Name}  --private-connection-resource-id "/subscriptions/{AZURE SUBSCRIPTION ID}/resourceGroups/{RG}/providers/Microsoft.SignalRService/SignalR/{NAME}" --group-ids signalr --connection-name {Private Link Connection Name} --location {AZURE REGION} --manual-request
    
  13. Verbinden ionstatus anzeigen
    az network private-endpoint show --resource-group {RG} --name {Private Endpoint Name}
    

Preiskalkulation

Ausführliche Preisinformationen finden Sie unter Azure Private Link – Preise.

Bekannte Probleme

Beachten Sie die folgenden bekannten Probleme im Zusammenhang mit privaten Endpunkten für Azure SignalR Service.

Free-Tarif

Sie können keinen privaten Endpunkt für Azure SignalR Service im Free-Tarif (kostenlos) erstellen.

Zugriffseinschränkungen für Clients in VNETs mit privaten Endpunkten

Für Clients in VNETs mit vorhandenen privaten Endpunkten bestehen Einschränkungen beim Zugriff auf andere Azure SignalR Service-Instanzen mit privaten Endpunkten. Beispiel:

  • Wenn VNet N1 über einen privaten Endpunkt für eine Azure SignalR Service-Instanz S1 verfügt
    • Falls Azure SignalR Service S2 über einen privaten Endpunkt in einem VNet N2 verfügt, müssen Clients in VNet N1 auch über einen privaten Endpunkt auf Azure SignalR Service S2 zugreifen.
    • Verfügt Azure SignalR Service S2 über keine privaten Endpunkte, können die Clients in VNet N1 ohne privaten Endpunkt auf Azure SignalR Service in diesem Konto zugreifen.

Diese Einschränkung ist die Folge der DNS-Änderungen, die vorgenommen werden, wenn Azure SignalR Service S2 einen privaten Endpunkt erstellt.

Nächste Schritte