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 :

Prérequis

Vous devez disposer d’un 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 :

Configurer le trafic entrant via des points de terminaison privés

Pour sécuriser le trafic entrant vers votre flux de travail, suivez les étapes de haut niveau suivantes :

  1. 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é.

  2. Ajoutez un point de terminaison privé pour votre ressource d’application logique à votre réseau virtuel.

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

Considérations relatives au trafic entrant via des points de terminaison privés

  • 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 sur 0.

  • L’activation de Private Link n’affecte pas le trafic sortant, qui transite toujours par l’infrastructure App Service.

Conditions préalables pour le trafic entrant via des points de terminaison privés

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.

Créer le flux de travail

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

  2. Une fois le concepteur ouvert, ajoutez le déclencheur de demande comme première étape dans votre flux de travail.

  3. En fonction des exigences de votre scénario, ajoutez de actions que vous souhaitez exécuter dans votre flux de travail.

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

Copier l’URL de point de terminaison

  1. Dans le menu du flux de travail, sélectionnez Vue d’ensemble.

  2. Sur la page Vue d’ensemble, copiez et enregistrez l’URL du flux de travail en vue d’une utilisation ultérieure.

    Pour déclencher le flux de travail, vous appelez ou envoyez une demande à cette URL.

  3. Assurez-vous que l’URL fonctionne en appelant ou en envoyant une demande à l’URL. Vous pouvez utiliser n’importe quel outil pour envoyer la demande, par exemple, Postman.

Configurer une connexion de point de terminaison privé

  1. Dans le menu de votre application logique, sous Paramètres, sélectionnez Mise en réseau.

  2. Sur la page Mise en réseau, dans la carte Trafic entrant, sélectionnez Points de terminaison privés.

  3. Sur la page Connexions de point de terminaison privé, sélectionnez Ajouter.

  4. Dans le volet Ajouter un point de terminaison privé qui s’ouvre, fournissez les informations demandées sur le point de terminaison.

    Pour plus d’informations, consultez Propriétés du point de terminaison privé.

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

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

Configurer le trafic sortant à l’aide de l’intégration de réseau virtuel

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.

Considérations relatives au trafic sortant par le biais de 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 :

Créer et tester le flux de travail

  1. Si vous ne l’avez pas encore fait, dans le portail Azure, créez une application logique monolocataire et un flux de travail vide.

  2. Une fois le concepteur ouvert, ajoutez le déclencheur de demande comme première étape dans votre flux de travail.

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

  4. Lorsque vous avez terminé, enregistrez votre flux de travail.

  5. À 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.

Configurer l’intégration au réseau virtuel

  1. Dans le portail Azure, dans le menu de la ressource d’application logique, sous Paramètres, sélectionnez Mise en réseau.

  2. Sur le volet Mise en réseau, dans la carte Trafic sortant, sélectionnez Intégration au réseau virtuel.

  3. Dans le volet Intégration au réseau virtuel, sélectionnez Ajouter un réseau virtuel.

  4. Dans le volet Ajouter une intégration au réseau virtuel, sélectionnez l’abonnement et le réseau virtuel qui se connecte à votre service interne.

    Une fois que vous avez ajouté l’intégration du réseau virtuel, dans le volet Intégration au réseau virtuel, le paramètre Router tout est activé par défaut. Ce paramètre achemine tout le trafic sortant via le réseau virtuel. Lorsque ce paramètre est activé, le paramètre d’application WEBSITE_VNET_ROUTE_ALL est ignoré.

  5. Si vous utilisez votre propre serveur de noms de domaine (DNS) avec votre réseau virtuel, définissez le paramètre d’application WEBSITE_DNS_SERVER de votre ressource d’application logique 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.

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

Étapes suivantes