Usare endpoint privati per Servizio Azure SignalR

È possibile usare endpoint privati per i Servizio Azure SignalR per consentire ai client in una rete virtuale di accedere in modo sicuro ai dati tramite un collegamento privato. L'endpoint privato usa un indirizzo IP dallo spazio indirizzi della rete virtuale per il Servizio Azure SignalR. Il traffico di rete tra i client nella rete virtuale e Servizio Azure SignalR attraversa un collegamento privato nella rete backbone Microsoft, eliminando l'esposizione dalla rete Internet pubblica.

L'uso di endpoint privati per il Servizio Azure SignalR consente di:

  • Proteggere il Servizio Azure SignalR usando il controllo di accesso di rete per bloccare tutte le connessioni nell'endpoint pubblico per Servizio Azure SignalR.
  • Aumentare la sicurezza per la rete virtuale (VNet) consentendo di bloccare l'esfiltrazione dei dati dalla rete virtuale.
  • Connettersi in modo sicuro alle Servizio Azure SignalR da reti locali che si connettono alla rete virtuale tramite VPN o ExpressRoutes con peering privato.

Questo articolo illustra come usare gli endpoint privati per il Servizio Azure SignalR.

Panoramica dei concetti

Overview of private endpoints for Azure SignalR Service

Un endpoint privato è un'interfaccia di rete speciale per un servizio di Azure nella Rete virtuale (VNet). Quando si crea un endpoint privato per il Servizio Azure SignalR, fornisce connettività sicura tra i client nella rete virtuale e il servizio. All'endpoint privato viene assegnato un indirizzo IP dall'intervallo di indirizzi IP della rete virtuale. La connessione tra l'endpoint privato e Servizio Azure SignalR usa un collegamento privato sicuro.

Le applicazioni nella rete virtuale possono connettersi a Servizio Azure SignalR tramite l'endpoint privato senza problemi, usando gli stessi meccanismi di autorizzazione e stringa di connessione usati altrimenti. Gli endpoint privati possono essere usati con tutti i protocolli supportati dalla Servizio Azure SignalR, inclusa l'API REST.

Quando si crea un endpoint privato per un Servizio Azure SignalR nella rete virtuale, viene inviata una richiesta di consenso per l'approvazione al proprietario del Servizio Azure SignalR. Se l'utente che richiede la creazione dell'endpoint privato è anche proprietario del Servizio Azure SignalR, questa richiesta di consenso viene approvata automaticamente.

Servizio Azure SignalR proprietari possono gestire le richieste di consenso e gli endpoint privati, tramite "Scheda Endpoint privati per il Servizio Azure SignalR nel portale di Azure.

Suggerimento

Se si vuole limitare l'accesso al Servizio Azure SignalR solo tramite l'endpoint privato, configurare il Controllo di accesso di rete per negare o controllare l'accesso tramite l'endpoint pubblico.

Connessione ing agli endpoint privati

I client in una rete virtuale che usano l'endpoint privato devono usare lo stesso stringa di connessione per il Servizio Azure SignalR, come i client che si connettono all'endpoint pubblico. Ci si basa sulla risoluzione DNS per instradare automaticamente le connessioni dalla rete virtuale a Servizio Azure SignalR tramite un collegamento privato.

Importante

Usare la stessa stringa di connessione per connettersi a Servizio Azure SignalR usando endpoint privati, come in caso contrario. Non connettersi a Servizio Azure SignalR usando l'URL privatelink del sottodominio.

Per impostazione predefinita, viene creata una zona DNS privata collegata alla rete virtuale con gli aggiornamenti necessari per gli endpoint privati. Tuttavia, se si usa il proprio server DNS, potrebbe essere necessario apportare altre modifiche alla configurazione DNS. La sezione Modifiche DNS per gli endpoint privati descrive gli aggiornamenti necessari per gli endpoint privati.

Modifiche al DNS per gli endpoint privati

Quando si crea un endpoint privato, il record di risorse CNAME DNS per il Servizio Azure SignalR viene aggiornato a un alias in un sottodominio con il prefisso privatelink. Per impostazione predefinita, creiamo anche una zona DNS privata, corrispondente al privatelink sottodominio, con i record di risorse DNS A per gli endpoint privati.

Quando si risolve il nome di dominio Servizio Azure SignalR dall'esterno della rete virtuale con l'endpoint privato, viene risolto nell'endpoint pubblico del Servizio Azure SignalR. Quando viene risolto dalla rete virtuale che ospita l'endpoint privato, il nome di dominio viene risolto nell'indirizzo IP dell'endpoint privato.

Nell'esempio illustrato, i record di risorse DNS per il Servizio Azure SignalR 'foobar', se risolti dall'esterno della rete virtuale che ospita l'endpoint privato, saranno:

Nome Type Valore
foobar.service.signalr.net CNAME foobar.privatelink.service.signalr.net
foobar.privatelink.service.signalr.net A <Servizio Azure SignalR indirizzo IP pubblico>

Come accennato in precedenza, è possibile negare o controllare l'accesso per i client esterni alla rete virtuale tramite l'endpoint pubblico usando il controllo di accesso alla rete.

I record di risorse DNS per "foobar", se risolti da un client nella rete virtuale che ospita l'endpoint privato, saranno:

Nome Type Valore
foobar.service.signalr.net CNAME foobar.privatelink.service.signalr.net
foobar.privatelink.service.signalr.net A 10.1.1.5

Questo approccio consente l'accesso a Servizio Azure SignalR usando la stessa stringa di connessione per i client nella rete virtuale che ospita gli endpoint privati e i client all'esterno della rete virtuale.

Se si usa un server DNS personalizzato nella rete, i client devono essere in grado di risolvere il nome di dominio completo per l'endpoint Servizio Azure SignalR nell'indirizzo IP dell'endpoint privato. È necessario configurare il server DNS per delegare il sottodominio di collegamento privato alla zona DNS privata per la rete virtuale o configurare i record A per foobar.privatelink.service.signalr.net con l'indirizzo IP dell'endpoint privato.

Suggerimento

Quando si usa un server DNS personalizzato o locale, è necessario configurare il server DNS per risolvere il nome Servizio Azure SignalR nel sottodominio nell'indirizzo privatelink IP dell'endpoint privato. A tale scopo, è possibile delegare il privatelink sottodominio alla zona DNS privata della rete virtuale o configurare la zona DNS nel server DNS e aggiungere i record DNS A.

Il nome della zona DNS consigliato per gli endpoint privati per Servizio Azure SignalR è: privatelink.service.signalr.net.

Per altre informazioni sulla configurazione del proprio server DNS per supportare gli endpoint privati, vedere gli articoli seguenti:

Creare un endpoint privato

Creare un endpoint privato insieme a un nuovo Servizio Azure SignalR nel portale di Azure

  1. Quando si crea un nuovo Servizio Azure SignalR, selezionare scheda Rete. Scegliere Endpoint privato come metodo di connettività.

    Create Azure SignalR Service - Networking tab

  2. Seleziona Aggiungi. Compilare la sottoscrizione, il gruppo di risorse, il percorso, il nome per il nuovo endpoint privato. Scegliere una rete virtuale e una subnet.

    Create Azure SignalR Service - Add private endpoint

  3. Selezionare Rivedi e crea.

Creare un endpoint privato per un Servizio Azure SignalR esistente nella portale di Azure

  1. Passare al Servizio Azure SignalR.

  2. Selezionare il menu delle impostazioni denominato Connessioni endpoint privato.

  3. Selezionare il pulsante + Endpoint privato nella parte superiore.

    Private endpoint connections blade

  4. Immettere sottoscrizione, gruppo di risorse, nome della risorsa e area per il nuovo endpoint privato.

    Create private endpoint - Basics

  5. Scegliere la risorsa Servizio Azure SignalR di destinazione.

    Create private endpoint - Resource

  6. Scegliere la rete virtuale di destinazione

    Create private endpoint - Configuration

  7. Selezionare Rivedi e crea.

Creare un endpoint privato con l'interfaccia della riga di comando di Azure

  1. Accedere all'interfaccia della riga di comando di Azure
    az login
    
  2. Impostare la sottoscrizione di Azure
    az account set --subscription {AZURE SUBSCRIPTION ID}
    
  3. Creare un nuovo gruppo di risorse
    az group create -n {RG} -l {AZURE REGION}
    
  4. Registrare Microsoft.SignalRService come provider
    az provider register -n Microsoft.SignalRService
    
  5. Creare un nuovo Servizio Azure SignalR
    az signalr create --name {NAME} --resource-group {RG} --location {AZURE REGION} --sku Standard_S1
    
  6. Creare un Rete virtuale
    az network vnet create --resource-group {RG} --name {vNet NAME} --location {AZURE REGION}
    
  7. Aggiungere una subnet
    az network vnet subnet create --resource-group {RG} --vnet-name {vNet NAME} --name {subnet NAME} --address-prefixes {addressPrefix}
    
  8. Disabilitare i criteri di Rete virtuale
    az network vnet subnet update --name {subnet NAME} --resource-group {RG} --vnet-name {vNet NAME} --disable-private-endpoint-network-policies true
    
  9. Aggiungere una zona DNS privato
    az network private-dns zone create --resource-group {RG} --name privatelink.service.signalr.net
    
  10. Collegare DNS privato zona a Rete virtuale
    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. Creare un endpoint privato (approvazione automatica)
    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. Creare un endpoint privato (richiesta manuale di approvazione)
    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. Mostra stato Connessione ion
    az network private-endpoint show --resource-group {RG} --name {Private Endpoint Name}
    

Prezzi

Per informazioni dettagliate sui prezzi, vedere Prezzi di Collegamento privato di Azure.

Problemi noti

Tenere presenti i problemi noti seguenti relativi agli endpoint privati per Servizio Azure SignalR

Livello gratuito

Non è possibile creare alcun endpoint privato per Servizio Azure SignalR di livello gratuito.

Vincoli di accesso per i client nelle reti virtuali con endpoint privati

I client nelle reti virtuali con endpoint privati esistenti devono affrontare vincoli quando accedono ad altre istanze di Servizio Azure SignalR con endpoint privati. Ad esempio:

  • Quando la rete virtuale N1 ha un endpoint privato per un'istanza di Servizio Azure SignalR S1
    • Se Servizio Azure SignalR S2 ha un endpoint privato in una rete virtuale N2, i client nella rete virtuale N1 devono accedere anche Servizio Azure SignalR S2 usando un endpoint privato.
    • Se Servizio Azure SignalR S2 non dispone di endpoint privati, i client nella rete virtuale N1 possono accedere Servizio Azure SignalR in tale account senza un endpoint privato.

Questo vincolo è il risultato delle modifiche DNS apportate quando Servizio Azure SignalR S2 crea un endpoint privato.

Passaggi successivi