Sécuriser le trafic sortant Azure SignalR via des points de terminaison privés partagés
Lorsque vous utilisez le mode serverless dans Azure SignalR Service, vous avez la possibilité de créer des connexions de point de terminaison privé sortantes vers un service en amont.
Des services en amont, comme Azure Web Apps et Azure Functions, peuvent être configurés pour accepter les connexions provenant des réseaux virtuels autorisés et pour refuser les connexions externes à partir d’un réseau public. Pour permettre l’accès à ces points de terminaison, vous pouvez créer une connexion de point de terminaison privé sortante.
Cette méthode sortante est soumise aux exigences suivantes :
- Pour cela, vous devez utiliser Azure Web Apps ou Azure Functions comme service en amont.
- Azure SignalR ne doit pas être dans le niveau Gratuit.
- L’application web Azure ou fonction Azure doit être sur certaines références SKU. Consultez Utiliser des points de terminaison privés pour une application web Azure
Dans cet article, vous allez voir comment créer un point de terminaison privé partagé avec une connexion de point de terminaison privé sortante dans le but de sécuriser le trafic sortant vers une instance Azure Functions en amont.
Gestion des ressources de liaison privée partagées
Vous créez des points de terminaison privés de ressources sécurisées en utilisant les API de SignalR Service. Ces points de terminaison, appelés ressources de liaison privée partagée, vous permettent de partager l’accès à une ressource, telle qu’une fonction Azure intégrée au service Azure Private Link. Ces points de terminaison privés sont créés dans l’environnement d’exécution de SignalR Service et ne sont pas accessibles en dehors de cet environnement.
Prérequis
Pour effectuer les étapes décrites dans cet article, vous avez besoin des ressources suivantes :
Un groupe de ressources Azure
Une instance Azure SignalR Service (qui ne doit pas être dans le niveau Gratuit)
Une instance Azure Functions
-
Remarque
Les exemples de cet article se basent sur les hypothèses suivantes :
- L’ID de ressource de l’instance SignalR Service est /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.SignalRService/signalr/contoso-signalr.
- L’ID de ressource de la fonction Azure en amont est /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Web/sites/contoso-func. Les autres exemples montrent la façon dont le service contoso-signalr peut être configuré de manière à ce que ses appels en amont à l’application de fonction passent par un point de terminaison privé plutôt que par le réseau public. Vous pouvez utiliser les ID de vos propres ressources dans les exemples.
Créer une ressource de liaison privée partagée avec l’application de fonction
Dans le portail Azure, accédez à votre ressource SignalR Service.
Dans le menu de gauche, sélectionnez Mise en réseau.
Sélectionnez l’onglet Accès privé.
Sélectionnez Ajouter un point de terminaison privé partagé dans la section Points de terminaison privés partagés.
Entrez les informations suivantes : | Field | Description | | ----- | ----------- | | Name | Nom du point de terminaison privé partagé. | | Type | Sélectionnez Microsoft.Web/sites | | Subscription | Abonnement contenant votre application de fonction. | | Resource | Entrez le nom de votre application de fonction. | | Request Message | Entrez « veuillez approuver la connexion » |
Sélectionnez Ajouter.
La ressource de point de terminaison privé partagé sera dans un état d’approvisionnement Réussi. L’état de la connexion est En attente d’approbation du côté cible de la ressource.
Approuver la connexion de point de terminaison privé pour l’application de fonction
Important
Une fois que vous avez approuvé la connexion de point de terminaison privé, l’application de fonction n’est plus accessible à partir d’un réseau public. Vous devrez peut-être créer d’autres points de terminaison privés dans votre réseau virtuel pour accéder au point de terminaison de l’application de fonction.
Dans le portail Azure, accédez à votre application de fonction.
Sélectionnez Mise en réseau dans le menu de gauche.
Sélectionnez Connexions des points de terminaison privés.
Sélectionnez Points de terminaison privés dans Trafic entrant.
Sélectionnez le nom de connexion de la connexion de point de terminaison privé.
Sélectionnez Approuver.
Assurez-vous que la connexion de points de terminaison privés s’affiche comme indiqué dans la capture d’écran suivante. Quelques minutes peuvent être nécessaires avant que l’état soit mis à jour.
Interroger l'état de la ressource de liaison privée partagée
L’approbation met plusieurs minutes à se propager vers SignalR Service. Vous pouvez vérifier l’état dans le portail Azure ou avec Azure CLI.
À ce stade, le point de terminaison privé entre SignalR Service et Azure Function est établi.
Vérifier que les appels en amont proviennent d’une adresse IP privée
Une fois que le point de terminaison privé est créé, vous pouvez vérifier que les appels entrants proviennent bien d’une IP privée en vérifiant l’en-tête X-Forwarded-For
côté amont.
Nettoyage
Si vous n’envisagez pas de réutiliser les ressources que vous avez créées dans cet article, vous pouvez supprimer le groupe de ressources.
Attention
La suppression du groupe de ressources supprime toutes les ressources contenues dans ce groupe. Si des ressources en dehors du cadre de cet article existent dans le groupe de ressources spécifié, elles seront également supprimées.
Étapes suivantes
En savoir plus sur les points de terminaison privés :