Partage via


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

Overview of private endpoints for Azure SignalR Service

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 A 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 :

Créer un Private Endpoint

Créer un point de terminaison privé avec une nouvelle instance d'Azure SignalR Service sur le portail Azure

  1. Lors de la création d’un service Azure SignalR, sélectionnez Onglet Mise en réseau . Choisissez un point de terminaison privé comme méthode de connectivité.

    Create Azure SignalR Service - Networking tab

  2. 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.

    Create Azure SignalR Service - Add private endpoint

  3. Sélectionnez Revoir + créer.

Créer un point de terminaison privé pour une instance d'Azure SignalR Service existante sur le portail Azure

  1. Accédez à l'instance d'Azure SignalR Service.

  2. Sélectionnez le menu de paramètres Connexions des points de terminaison privés.

  3. Sélectionnez le bouton + Point de terminaison privé en haut.

    Private endpoint connections blade

  4. Saisissez l’abonnement, le groupe de ressources, le nom de la ressource et la région du nouveau point de terminaison privé.

    Create private endpoint - Basics

  5. Choisissez l'instance Azure SignalR Service cible.

    Create private endpoint - Resource

  6. Choisir le réseau virtuel cible

    Create private endpoint - Configuration

  7. Sélectionnez Revoir + créer.

Créer un point de terminaison privé à l’aide d’Azure CLI

  1. Se connecter à Azure CLI
    az login
    
  2. Définir votre abonnement Azure
    az account set --subscription {AZURE SUBSCRIPTION ID}
    
  3. Créer un groupe de ressources
    az group create -n {RG} -l {AZURE REGION}
    
  4. Inscrire Microsoft.SignalRService en tant que fournisseur
    az provider register -n Microsoft.SignalRService
    
  5. Créer un service Azure SignalR
    az signalr create --name {NAME} --resource-group {RG} --location {AZURE REGION} --sku Standard_S1
    
  6. Créer un Réseau virtuel
    az network vnet create --resource-group {RG} --name {vNet NAME} --location {AZURE REGION}
    
  7. Ajouter un sous-réseau
    az network vnet subnet create --resource-group {RG} --vnet-name {vNet NAME} --name {subnet NAME} --address-prefixes {addressPrefix}
    
  8. 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
    
  9. Ajouter une zone de DNS privé
    az network private-dns zone create --resource-group {RG} --name privatelink.service.signalr.net
    
  10. Lier DNS privé zone à 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
    
  11. 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}
    
  12. Créer un point de terminaison privé (demander manuellement l’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
    
  13. Afficher l’état de Connecter ion
    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 :

  • Quand le réseau virtuel N1 a 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é.

Étapes suivantes