Utiliser des points de terminaison privés pour Azure SignalR Service
Vous pouvez utiliser des points de terminaison privés pour votre instance d'Azure SignalR Service afin de permettre aux clients d'un réseau virtuel (VNet) d'accéder en toute sécurité aux données via une liaison Private Link. Le point de terminaison privé utilise une adresse IP de l'espace d'adressage du réseau virtuel pour votre instance d'Azure SignalR Service. Le trafic réseau entre les clients du réseau virtuel et Azure SignalR Service passe par une liaison privée du réseau principal Microsoft, ce qui élimine l'exposition à l'Internet public.
L'utilisation de points de terminaison privés pour votre instance d'Azure SignalR Service vous permet de :
- Sécuriser votre instance d'Azure SignalR Service à l'aide du contrôle d'accès réseau afin de bloquer toutes les connexions sur le point de terminaison public pour Azure SignalR Service
- Améliorez la sécurité du réseau virtuel (VNet) en vous permettant de bloquer l’exfiltration des données à partir du réseau virtuel.
- Vous connecter en toute sécurité à Azure SignalR Service à partir de réseaux locaux qui se connectent au réseau virtuel à l'aide d'un VPN ou d'ExpressRoutes avec un peering privé
Cet article vous montre comment utiliser des points de terminaison privés pour votre Azure SignalR Service.
Vue d'ensemble conceptuelle
Un point de terminaison privé est une interface réseau spéciale pour un service Azure dans votre réseau virtuel. Lorsque vous créez un point de terminaison privé pour votre instance d'Azure SignalR Service, il offre une connectivité sécurisée entre les clients de votre réseau virtuel et votre service. Une adresse IP est attribuée au point de terminaison privé à partir de la plage d’adresses IP de votre réseau virtuel. La connexion entre le point de terminaison privé et Azure SignalR Service utilise une liaison privée.
Les applications du réseau virtuel peuvent se connecter en toute transparence à Azure SignalR Service sur le point de terminaison privé, avec les chaînes de connexion et mécanismes d'autorisation habituels. Les points de terminaison privés peuvent être utilisés avec tous les protocoles pris en charge par Azure SignalR Service, notamment l'API REST.
Lorsque vous créez un point de terminaison privé pour une instance Azure SignalR Service de votre réseau virtuel, une demande de consentement est envoyée pour approbation au propriétaire de l'instance d'Azure SignalR Service. Si l'utilisateur qui demande la création du point de terminaison privé est également propriétaire de l'instance d'Azure SignalR Service, cette demande de consentement est automatiquement approuvée.
Les propriétaires d'instances d'Azure SignalR Service peuvent gérer les demandes de consentement et les points de terminaison privés via l'onglet « Points de terminaison privés » de l'instance d'Azure SignalR Service sur le portail Azure.
Conseil
Si vous souhaitez restreindre l'accès à votre instance d'Azure SignalR Service uniquement par le biais du point de terminaison privé, configurez le contrôle d'accès réseau de manière à refuser ou contrôler l'accès via le point de terminaison public.
Connexion à des points de terminaison privés
Les clients d'un réseau virtuel qui utilisent le point de terminaison privé doivent utiliser la même chaîne de connexion pour l'instance d'Azure SignalR Service que les clients qui se connectent au point de terminaison public. Nous nous appuyons sur la résolution DNS pour acheminer automatiquement les connexions entre le réseau virtuel et Azure SignalR Service via une liaison privée.
Important
Utilisez la même chaîne de connexion pour vous connecter à Azure SignalR Service avec des points de terminaison privés. Ne vous connectez pas à Azure SignalR Service à l'aide de son URL de sous-domaine privatelink
.
Nous créons une zone DNS privée attachée au réseau virtuel avec les mises à jour nécessaires pour les points de terminaison privés, par défaut. Toutefois, si vous utilisez votre propre serveur DNS, vous devrez peut-être apporter d’autres modifications à votre configuration DNS. La section sur les Modifications du DNS pour points de terminaison privés décrit les mises à jour requises pour les points de terminaison privés.
Modifications DNS pour les points de terminaison privés
Lorsque vous créez un point de terminaison privé, l'enregistrement de ressource CNAME DNS de votre instance d'Azure SignalR Service est remplacé dans un sous-domaine par un alias doté du préfixe privatelink
. Par défaut, nous créons également une zone DNS privée correspondant au sous-domaine privatelink
, avec les enregistrements de ressource DNS A pour les points de terminaison privés.
Lorsque vous résolvez votre nom de domaine Azure SignalR Service à l'extérieur du réseau virtuel avec le point de terminaison privé, il correspond au point de terminaison public de l'instance d'Azure SignalR Service. En cas de résolution à partir du réseau virtuel hébergeant le point de terminaison privé, le nom de domaine correspond à l'adresse IP du point de terminaison privé.
Pour l’exemple illustré, les enregistrements de ressources DNS correspondant à Azure SignalR Service « foobar », lorsqu’ils sont résolus à l’extérieur du réseau virtuel hébergeant le point de terminaison privé, sont les suivants :
Nom | Type | Valeur |
---|---|---|
foobar.service.signalr.net |
CNAME | foobar.privatelink.service.signalr.net |
foobar.privatelink.service.signalr.net |
A | <Adresse IP publique du service Azure SignalR> |
Comme mentionné précédemment, vous pouvez refuser ou contrôler l'accès pour les clients situés en dehors du réseau virtuel via le point de terminaison public à l'aide du contrôle d'accès réseau.
Les enregistrements de ressources DNS correspondant à « foobar », lorsqu'ils sont résolus par un client du réseau virtuel hébergeant le point de terminaison privé, sont les suivants :
Nom | Type | Valeur |
---|---|---|
foobar.service.signalr.net |
CNAME | foobar.privatelink.service.signalr.net |
foobar.privatelink.service.signalr.net |
Un | 10.1.1.5 |
Cette approche permet d’accéder à Azure SignalR Service avec la même chaîne de connexion pour les clients du réseau virtuel hébergeant les points de terminaison privés et les clients situés en dehors du réseau virtuel.
Si vous utilisez un serveur DNS personnalisé sur votre réseau, les clients doivent pouvoir résoudre le nom de domaine complet du point de terminaison Azure SignalR Service sur l’adresse IP du point de terminaison privé. Vous devez configurer votre serveur DNS de manière à déléguer votre sous-domaine de liaison privée à la zone DNS privée du réseau virtuel, ou configurer les enregistrements A pour foobar.privatelink.service.signalr.net
avec l'adresse IP du point de terminaison privé.
Conseil
Lorsque vous utilisez un serveur DNS personnalisé ou local, vous devez configurer votre serveur DNS de manière à résoudre le nom de l'instance d'Azure SignalR Service dans le sous-domaine privatelink
sur l'adresse IP du point de terminaison privé. Pour ce faire, vous pouvez déléguer le sous-domaine privatelink
à la zone DNS privée du réseau virtuel, ou configurer la zone DNS sur votre serveur DNS et ajouter les enregistrements A DNS.
Le nom de zone DNS recommandé pour les points de terminaison privés de l'instance d'Azure SignalR Service est le suivant : privatelink.service.signalr.net
.
Pour plus d’informations sur la configuration de votre propre serveur DNS pour la prise en charge des points de terminaison privés, consultez les articles suivants :
- Résolution de noms pour des ressources dans les réseaux virtuels Azure
- Configuration DNS pour les points de terminaison privés
Créer un Private Endpoint
Créer un point de terminaison privé avec une nouvelle instance d'Azure SignalR Service sur le portail Azure
Lors de la création d'une instance d'Azure SignalR Service, sélectionnez l'onglet Mise en réseau. Choisissez Point de terminaison privé comme méthode de connectivité.
Sélectionnez Ajouter. Renseignez les champs Abonnement, Groupe de ressources, Emplacement et Nom du nouveau point de terminaison privé. Choisissez un réseau virtuel et un sous-réseau.
Sélectionnez Revoir + créer.
Créer un point de terminaison privé pour une instance d'Azure SignalR Service existante sur le portail Azure
Accédez à l'instance d'Azure SignalR Service.
Sélectionnez le menu de paramètres Connexions des points de terminaison privés.
Sélectionnez le bouton + Point de terminaison privé en haut.
Saisissez l’abonnement, le groupe de ressources, le nom de la ressource et la région du nouveau point de terminaison privé.
Choisissez l'instance Azure SignalR Service cible.
Choisir le réseau virtuel cible
Sélectionnez Revoir + créer.
Créer une instance Private Endpoint à l’aide d’Azure CLI
- Se connecter à Azure CLI
az login
- Définir votre abonnement Azure
az account set --subscription {AZURE SUBSCRIPTION ID}
- Créer un groupe de ressources
az group create -n {RG} -l {AZURE REGION}
- Inscrire Microsoft.SignalRService en tant que fournisseur
az provider register -n Microsoft.SignalRService
- Créer une nouvelle instance Azure SignalR Service
az signalr create --name {NAME} --resource-group {RG} --location {AZURE REGION} --sku Standard_S1
- Création d'un réseau virtuel
az network vnet create --resource-group {RG} --name {vNet NAME} --location {AZURE REGION}
- Ajouter un sous-réseau
az network vnet subnet create --resource-group {RG} --vnet-name {vNet NAME} --name {subnet NAME} --address-prefixes {addressPrefix}
- Désactiver les stratégies de réseau virtuel
az network vnet subnet update --name {subnet NAME} --resource-group {RG} --vnet-name {vNet NAME} --disable-private-endpoint-network-policies true
- Ajouter une zone DNS privée
az network private-dns zone create --resource-group {RG} --name privatelink.service.signalr.net
- Lier la zone DNS privée au réseau virtuel
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
- Créer un point de terminaison privé (approuver automatiquement)
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}
- Créer un point de terminaison privé (demander manuellement une approbation)
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
- Afficher l’état de la connexion
az network private-endpoint show --resource-group {RG} --name {Private Endpoint Name}
Tarification
Pour plus d’informations sur les tarifs, consultez Tarification Liaison privée Azure.
Problèmes connus
Gardez à l'esprit les problèmes connus suivants concernant les points de terminaison privés pour Azure SignalR Service
Niveau gratuit
Vous ne pouvez pas créer de point de terminaison privé pour le niveau gratuit de Azure SignalR Service.
Contraintes d'accès pour les clients des réseaux virtuels dotés de points de terminaison privés
Les clients des réseaux virtuels dotés de points de terminaison privés sont soumis à des contraintes lors de l'accès à d'autres instances d'Azure SignalR Service qui disposent de points de terminaison privés. Par exemple :
- Lorsqu’un réseau virtuel N1 possède un point de terminaison privé pour une instance Azure SignalR Service S1
- Si Azure SignalR Service S2 possède un point de terminaison privé sur un réseau virtuel N2, les clients du réseau virtuel N1 doivent également accéder à Azure SignalR Service S2 à l’aide d’un point de terminaison privé.
- Si Azure SignalR Service S2 ne possède aucun point de terminaison privé, les clients du réseau virtuel N1 peuvent accéder à l’instance Azure SignalR Service de ce compte sans point de terminaison privé.
Cette contrainte résulte des modifications DNS effectuées lorsqu'Azure SignalR Service S2 crée un point de terminaison privé.