Sécuriser le trafic entre les applications logiques Standard et les réseaux virtuels Azure à l’aide de points de terminaison privés
S’applique à : Azure Logic Apps (Standard)
Pour communiquer de manière sécurisée et privée entre votre flux de travail dans une application logique Standard et un réseau virtuel Azure, vous pouvez configurer des points de terminaison privés pour le trafic entrant et utiliser une intégration au réseau virtuel pour le trafic sortant.
Un point de terminaison privé est une interface réseau qui se connecte de façon privée et sécurisée à un service basé sur Azure Private Link. Le service peut être un service Azure tel qu’Azure Logic Apps, Stockage Azure, Azure Cosmos DB, SQL, ou votre propre service Private Link. Le point de terminaison privé utilise une adresse IP privée de votre réseau virtuel, plaçant de fait le service dans votre réseau virtuel.
Cet article montre comment configurer l’accès via des points de terminaison privés pour le trafic entrant et l’intégration au réseau virtuel pour le trafic sortant.
Pour plus d’informations, consultez la documentation suivante :
- Qu’est-ce qu’Azure Private Endpoint ?
- Points de terminaison privés - Intégrer une application à un réseau virtuel Azure
- Qu’est-ce que Liaison privée Azure ?
- Intégration du réseau virtuel régional
Réseau virtuel Azure nouveau ou existant qui comprend un sous-réseau sans délégation. Ce sous-réseau est utilisé pour déployer et allouer des adresses IP privées à partir du réseau virtuel.
Pour plus d’informations, consultez la documentation suivante :
Installez ou utilisez un outil capable d’envoyer des requêtes HTTP pour tester votre solution, par exemple :
- Visual Studio Code avec une extension de Visual Studio Marketplace
- Invoke-RestMethod de PowerShell
- Microsoft Edge - Outil console réseau
- Bruno
- curl
Attention
Dans les scénarios comprenant des données sensibles, comme des informations d’identification, des secrets, des jetons d’accès, des clés API et d’autres informations similaires, veillez à utiliser un outil qui protège vos données avec les fonctionnalités de sécurité nécessaires, qui fonctionne en mode hors connexion ou localement, qui ne synchronise pas vos données avec le cloud, et qui ne vous impose pas de vous connecter à un compte en ligne. Vous réduirez ainsi les risques liés à l’exposition de données sensibles au public.
Pour sécuriser le trafic entrant vers votre flux de travail, suivez les étapes de haut niveau suivantes :
Démarrez votre flux de travail avec un déclencheur intégré qui peut recevoir et traiter des demandes entrantes, telles que le déclencheur de demande ou le déclencheur HTTP + Webhook. Ce déclencheur configure votre flux de travail avec un point de terminaison pouvant être appelé.
Ajoutez un point de terminaison privé pour votre ressource d’application logique à votre réseau virtuel.
Effectuez des appels de test pour vérifier l’accès au point de terminaison. Pour appeler le flux de travail de votre application logique après avoir configuré ce point de terminaison, vous devez être connecté au réseau virtuel.
En cas d’accès depuis l’extérieur de votre réseau virtuel, l’affichage de la surveillance ne peut pas accéder aux entrées et sorties des déclencheurs et des actions.
Les déclencheurs webhook d’API managée (déclencheurs push) et les actions ne fonctionnent pas, car ils s’exécutent dans le cloud public et ne peuvent pas appeler votre réseau privé. Ils requièrent un point de terminaison public pour recevoir des appels. Par exemple, ces déclencheurs incluent le déclencheur Dataverse et le déclencheur Event Grid.
Si vous utilisez le déclencheur Office 365 Outlook, le workflow est déclenché uniquement toutes les heures.
Le déploiement à partir de Visual Studio Code ou Azure CLI fonctionne uniquement à partir du réseau virtuel. Vous pouvez utiliser le centre de déploiement pour lier votre application logique à un dépôt GitHub. Vous pouvez ensuite utiliser l’infrastructure Azure pour créer et déployer votre code.
Pour que l’intégration de GitHub fonctionne, supprimez le paramètre
WEBSITE_RUN_FROM_PACKAGE
de votre application logique ou définissez la valeur sur0
.L’activation de Private Link n’affecte pas le trafic sortant, qui transite toujours par l’infrastructure App Service.
Avec la configuration de réseau virtuel décrite dans les conditions préalables générales, vous devez avoir un workflow d’application logique Standard, nouveau ou existant, qui démarre avec un déclencheur intégré pouvant recevoir des requêtes.
Par exemple, le déclencheur de demande crée un point de terminaison sur votre flux de travail, qui peut recevoir et gérer des demandes entrantes d’autres appelants, dont des flux de travail. Ce point de terminaison fournit une URL que vous pouvez utiliser pour appeler et déclencher le flux de travail. Pour cet exemple, les étapes se poursuivent avec le déclencheur de demande.
Pour plus d’informations, consultez Recevoir des requêtes HTTPS entrantes et y répondre en utilisant Azure Logic Apps.
Si vous ne l’avez pas encore fait, créez une application logique basée sur un seul locataire et un flux de travail vide.
Une fois le concepteur ouvert, ajoutez le déclencheur de demande comme première étape dans votre flux de travail.
En fonction des exigences de votre scénario, ajoutez de actions que vous souhaitez exécuter dans votre flux de travail.
Lorsque vous avez terminé, enregistrez votre flux de travail.
Pour plus d’informations, consultez Créer des flux de travail d’application logique monolocataires dans Azure Logic Apps.
Dans le menu du flux de travail, sélectionnez Vue d’ensemble.
Sur la page Vue d’ensemble, copiez et enregistrez l’URL du flux de travail en vue d’une utilisation ultérieure.
Pour tester l’URL et déclencher le flux de travail, envoyez une requête HTTP à l’URL à l’aide de votre outil de requête HTTP et de ses instructions.
Dans le menu de la ressource d’application logique, sous Paramètres, sélectionnez Mise en réseau.
Dans la page Mise en réseau, dans la section Configuration du trafic entrant, sélectionnez le lien à côté de Points de terminaison privés.
Dans la page Connexions de point de terminaison privé, sélectionnez Ajouter>Express ou Avancé.
Pour plus d’informations sur l’option Avancé, consultez Créer un point de terminaison privé.
Dans le volet Ajouter un point de terminaison privé, fournissez les informations demandées sur le point de terminaison.
Pour plus d’informations, consultez Propriétés du point de terminaison privé.
Après qu’Azure a correctement approvisionné le point de terminaison privé, réessayez d’appeler l’URL du flux de travail.
Cette fois-ci, vous recevez une erreur
403 Forbidden
attendue, ce qui signifie que le point de terminaison privé est configuré et fonctionne correctement.Pour vous assurer que la connexion fonctionne correctement, créez une machine virtuelle dans le même réseau virtuel qui possède le point de terminaison privé, puis essayez d’appeler le flux de travail de l’application logique.
Pour sécuriser le trafic sortant de votre application logique, vous pouvez intégrer votre application logique avec un réseau virtuel. Tout d’abord, créez et testez un exemple de flux de travail. Vous pouvez ensuite configurer l’intégration du réseau virtuel.
La configuration de l’intégration du réseau virtuel ne concerne que le trafic sortant. Pour sécuriser le trafic entrant, qui continue à utiliser le point de terminaison partagé App Service, consultez Configurer le trafic entrant via des points de terminaison privés.
Il n’est pas possible de modifier la taille du sous-réseau après l’attribution. Utilisez par conséquent un sous-réseau suffisamment grand pour les besoins futurs de votre application. Pour éviter tout problème de capacité du sous-réseau, choisissez un sous-réseau
/26
comportant 64 adresses. Si vous créez le sous-réseau pour l’intégration du réseau virtuel avec le Portail Azure, vous devez indiquer/27
comme taille minimale du sous-réseau.Pour que le runtime Azure Logic Apps fonctionne, vous devez disposer d’une connexion ininterrompue au stockage principal. Si le stockage back-end est exposé au réseau virtuel via un point de terminaison privé, vérifiez que les ports suivants sont ouverts :
Port source Port de destination Source Destination Protocol Objectif * 443 Sous-réseau intégré à l’application logique Standard Compte de stockage TCP Compte de stockage * 445 Sous-réseau intégré à l’application logique Standard Compte de stockage TCP Partage de fichiers SMB (Server Message Block) Pour que les connecteurs gérés hébergés par Azure fonctionnent, vous devez disposer d’une connexion ininterrompue au service de l’API managée. Avec l’intégration de réseau virtuel, assurez-vous qu’aucune stratégie de pare-feu ou de sécurité réseau ne bloque ces connexions. Si votre réseau virtuel utilise un groupe de sécurité réseau (NSG), une table de routage définie par l’utilisateur (UDR) ou un pare-feu, assurez-vous que le réseau virtuel autorise les connexions sortantes à toutes les adresses IP du connecteur managé dans la région correspondante. Sinon, les connecteurs gérés par Azure ne fonctionnent pas.
Pour plus d’informations, consultez la documentation suivante :
- Intégrer votre application à un réseau virtuel Azure
- Groupes de sécurité réseau
- Routage du trafic de réseau virtuel
Si vous ne l’avez pas encore fait, dans le portail Azure, créez une application logique monolocataire et un flux de travail vide.
Une fois le concepteur ouvert, ajoutez le déclencheur de demande comme première étape dans votre flux de travail.
Ajoutez une action HTTP pour appeler un service interne qui n’est pas disponible via Internet et s’exécute avec une adresse IP privée telle que
10.0.1.3
.Lorsque vous avez terminé, enregistrez votre flux de travail.
À partir du concepteur, exécutez manuellement le flux de travail.
L’action HTTP échoue, ce qui est prévu et attendu, car le flux de travail s’exécute dans le cloud et ne peut pas accéder à votre service interne.
Dans le portail Azure, dans le menu de la ressource d’application logique, sous Paramètres, sélectionnez Mise en réseau.
Dans la page Mise en réseau, dans la section Configuration du trafic sortant, sélectionnez le lien à côté d’Intégration à un réseau virtuel.
Dans la page Intégration à un réseau virtuel, sélectionnez Ajouter une intégration à un réseau virtuel.
Dans le volet Ajouter une intégration à un réseau virtuel, sélectionnez l’abonnement, le réseau virtuel qui se connecte à votre service interne et le sous-réseau où ajouter l’application logique. Lorsque vous avez terminé, sélectionnez Se connecter.
Dans la page Intégration à un réseau virtuel, le paramètre Trafic Internet sortant est sélectionné par défaut, lequel permet de router tout le trafic sortant via le réseau virtuel. Dans ce scénario, le paramètre d’application nommé WEBSITE_VNET_ROUTE_ALL est ignoré.
Pour trouver ce paramètre d’application, dans le menu de ressources de l’application logique, sous Paramètres, sélectionnez Variables d’environnement.
Si vous utilisez votre propre serveur de noms de domaine (DNS) avec votre réseau virtuel, ajoutez le paramètre d’application WEBSITE_DNS_SERVER s’il n’en existe pas et définissez la valeur sur l’adresse IP de votre DNS. Si vous avez un DNS secondaire, ajoutez un autre paramètre d’application nommé WEBSITE_DNS_ALT_SERVER et définissez la valeur sur l’adresse IP de votre DNS secondaire.
Une fois qu’Azure a correctement approvisionné l’intégration au réseau virtuel, essayez d’exécuter à nouveau le flux de travail.
L’action HTTP s’exécute désormais correctement.