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
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 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, viene anche creata una zona DNS privata, corrispondente al sottodominio privatelink
, con i record di risorse A del DNS 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 del 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 |
Un | <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 |
Un | 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 di un server DNS personalizzato per supportare gli endpoint privati, vedere gli articoli seguenti:
- Risoluzione dei nomi per le risorse in reti virtuali di Azure
- Configurazione DNS per gli endpoint privati
Creare un endpoint privato
Creare un endpoint privato insieme a un nuovo Servizio Azure SignalR nel portale di Azure
Quando si crea un nuovo Servizio Azure SignalR, selezionare scheda Rete. Scegliere Endpoint privato come metodo di connettività.
Selezionare Aggiungi. Compilare la sottoscrizione, il gruppo di risorse, il percorso, il nome per il nuovo endpoint privato. Scegliere una rete virtuale e una subnet.
Selezionare Rivedi e crea.
Creare un endpoint privato per un Servizio Azure SignalR esistente nella portale di Azure
Passare al Servizio Azure SignalR.
Selezionare il menu delle impostazioni denominato Connessioni endpoint privato.
Selezionare il pulsante + Endpoint privato nella parte superiore.
Immettere sottoscrizione, gruppo di risorse, nome della risorsa e area per il nuovo endpoint privato.
Scegliere la risorsa Servizio Azure SignalR di destinazione.
Scegliere la rete virtuale di destinazione
Selezionare Rivedi e crea.
Creare un endpoint privato con l'interfaccia della riga di comando di Azure
- Accedere all'interfaccia della riga di comando di Azure
az login
- Impostare la sottoscrizione di Azure
az account set --subscription {AZURE SUBSCRIPTION ID}
- Creare un nuovo gruppo di risorse
az group create -n {RG} -l {AZURE REGION}
- Registrare Microsoft.SignalRService come provider
az provider register -n Microsoft.SignalRService
- Creare un nuovo Servizio Azure SignalR
az signalr create --name {NAME} --resource-group {RG} --location {AZURE REGION} --sku Standard_S1
- Creare un Rete virtuale
az network vnet create --resource-group {RG} --name {vNet NAME} --location {AZURE REGION}
- Aggiungere una subnet
az network vnet subnet create --resource-group {RG} --vnet-name {vNet NAME} --name {subnet NAME} --address-prefixes {addressPrefix}
- 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
- Aggiungere una zona DNS privato
az network private-dns zone create --resource-group {RG} --name privatelink.service.signalr.net
- 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
- 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}
- 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
- Mostra stato connessione
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 in 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.