Contrôler le trafic sortant dans Azure Container Apps avec des itinéraires définis par l’utilisateur

Remarque

Cette fonctionnalité est uniquement prise en charge pour le type d’environnement des profils de charge de travail.

Cet article explique comment utiliser des itinéraires définis par l’utilisateur avec le Pare-feu Azure pour verrouiller le trafic sortant de vos applications conteneur vers des ressources Azure principales ou d’autres ressources réseau.

Azure crée une table de routage par défaut pour vos réseaux virtuels lors de la création. En implémentant une table de routage définie par l’utilisateur, vous pouvez contrôler comment le trafic est routé au sein de votre réseau virtuel. Dans ce guide, vous configurez vos itinéraires définis par l’utilisateur d’installation sur le réseau virtuel Container Apps pour restreindre le trafic sortant avec le Pare-feu Azure.

Vous pouvez également utiliser une passerelle NAT ou toute autre appliance tierce au lieu du Pare-feu Azure.

Pour plus d’informations, consultez la Configuration de routes définies par l’utilisateur avec le Pare-feu Azure dans mise en réseau dans Azure Container Apps.

Prérequis

  • L'environnement des profils de charge de travail : environnement de profils de charge de travail intégré à un réseau virtuel personnalisé. Pour plus d’informations, consultez le guide pour savoir comment créer un environnement d’application conteneur dans l’environnement des profils de charge de travail.

  • Prise en charge curl : votre application conteneur doit avoir un conteneur qui prend en charge les commandes curl. Dans ce guide pratique, vous utilisez curl pour vérifier que l’application conteneur est déployée correctement. Si vous n’avez pas d’application conteneur avec curl déployée, vous pouvez déployer le conteneur suivant qui prend en charge curl, mcr.microsoft.com/k8se/quickstart:latest.

Créez le sous-réseau de pare-feu

Un sous-réseau appelé AzureFirewallSubnet est nécessaire pour déployer un pare-feu dans le réseau virtuel intégré.

  1. Ouvrez le réseau virtuel intégré à votre application dans le portail Azure.

  2. Sélectionnez Sous-réseaux dans le menu de gauche, puis + Sous-réseau.

  3. Saisissez les valeurs suivantes :

    Setting Action
    Nom Entrez AzureFirewallSubnet.
    Plage d’adresses de sous-réseau Utilisez la valeur par défaut ou spécifiez une plage de sous-réseaux /26 ou plus.
  4. Cliquez sur Enregistrer

Déployer le pare-feu

  1. Dans le menu du portail Azure ou dans la page Accueil, sélectionnez Créer une ressource.

  2. Recherchez Pare-feu.

  3. Sélectionnez Pare-feu.

  4. Sélectionnez Créer.

  5. Sur la page Créer un pare-feu, configurez le pare-feu avec les paramètres suivants.

    Setting Action
    Groupe de ressources Entrez le même groupe de ressources que le réseau virtuel intégré.
    Nom Entrez le nom de votre choix
    Région Sélectionnez la même région que le réseau virtuel intégré.
    Stratégie de pare-feu Créez-en une en sélectionnant Ajouter nouveau.
    Réseau virtuel Sélectionnez le réseau virtuel intégré.
    Adresse IP publique Sélectionnez une adresse existante ou créez-en une en sélectionnant Ajouter nouveau.
  6. Sélectionnez Revoir + créer. Une fois la validation terminée, sélectionnez Créer. L’étape de validation peut prendre quelques minutes.

  7. Une fois le déploiement terminé, sélectionnez Accéder à la ressource.

  8. Dans la page Vue d’ensemble du pare-feu, copiez l’adresse IP privée du pare-feu. Cette adresse IP est utilisée comme adresse de tronçon suivant lors de la création de la règle de routage pour le réseau virtuel.

Acheminer tout le trafic vers le pare-feu

Vos réseaux virtuels dans Azure ont des tables de routage par défaut en place lorsque vous créez le réseau. En implémentant une table de routage définie par l’utilisateur, vous pouvez contrôler comment le trafic est routé au sein de votre réseau virtuel. Dans les étapes suivantes, vous créez un itinéraire défini par l’utilisateur pour acheminer tout le trafic vers votre Pare-feu Azure.

  1. Dans le menu du portail Azure ou dans la page Accueil, sélectionnez Créer une ressource.

  2. Recherchez Tables de routage.

  3. Sélectionnez Tables de routage.

  4. Sélectionnez Créer.

  5. Saisissez les valeurs suivantes :

    Setting Action
    Région Sélectionnez la région en tant que réseau virtuel.
    Nom Entrez un nom.
    Propager les itinéraires de passerelle Sélectionnez Non.
  6. Sélectionnez Revoir + créer. Une fois la validation terminée, sélectionnez Créer.

  7. Une fois le déploiement terminé, sélectionnez Accéder à la ressource.

  8. Dans le menu de gauche, sélectionnez Itinéraires, puis Ajouter pour créer une table de routage

  9. Configurez la table de routage avec les paramètres suivants :

    Setting Action
    Préfixe de l’adresse Entrez 0.0.0.0/0
    Type de tronçon suivant Sélectionnez Appliance virtuelle.
    Adresse du tronçon suivant Entrez l’adresse IP privée du pare-feu que vous avez enregistrée dans Déployer le pare-feu.
  10. Sélectionnez Ajouter pour créer la route.

  11. Dans le menu de gauche, sélectionnez Sous-réseaux, puis Associer pour associer votre table de routage au sous-réseau de l’application conteneur.

  12. Configurez la page Associer un sous-réseau avec les valeurs suivantes :

    Setting Action
    Réseau virtuel Sélectionnez le réseau virtuel de votre application conteneur.
    Sous-réseau Sélectionnez le sous-réseau de votre application conteneur.
  13. Cliquez sur OK.

Configurer les stratégies de pare-feu

Remarque

Lorsque vous utilisez des routes définies par l’utilisateur avec le Pare-feu Azure dans Azure Container Apps, vous devez ajouter certaines étiquettes de service et noms de domaine complet à la liste verte du pare-feu. Reportez-vous à Configuration de routes définies par l’utilisateur avec le Pare-feu Azure pour déterminer les étiquettes de service dont vous avez besoin.

À présent, tout le trafic sortant de votre application conteneur est acheminé vers le pare-feu. Actuellement, le pare-feu autorise toujours tout le trafic sortant. Pour gérer le trafic sortant autorisé ou refusé, vous devez configurer des stratégies de pare-feu.

  1. Dans votre ressource Pare-feu Azure dans la page Vue d’ensemble, sélectionnez Stratégie de pare-feu

  2. Dans le menu de gauche de la page de stratégie de pare-feu, sélectionnez Règles d’application.

  3. Sélectionnez Ajouter une collection de règles.

  4. Entrez les valeurs suivantes pour le regroupement de règles :

    Setting Action
    Nom Entrez un nom de regroupement
    Type de regroupement de règles Sélectionnez Application
    Priorité Entrez la priorité, par exemple 110
    Action de regroupement de règles sélectionnez Autoriser.
    Groupe de regroupement de règles Sélectionnez DefaultApplicationRuleCollectionGroup
  5. Sous Règles, entrez les valeurs suivantes

    Setting Action
    Nom Entrez le nom de la règle
    Type de source Sélectionnez Adresse IP
    Source Entrez *
    Protocole Entrez http :80,https :443
    Type de destination Sélectionnez FQDN.
    Destination Entrez mcr.microsoft.com,*.data.mcr.microsoft.com. Si vous utilisez ACR, ajoutez votre adresse ACR et *.blob.core.windows.net.
    Action sélectionnez Autoriser.

    Remarque

    Si vous utilisez le registre Docker Hub et que vous souhaitez y accéder via votre pare-feu, vous devez ajouter les noms de domaine complets suivants à votre liste de destination de règles : hub.docker.com, registry-1.docker.ioet production.cloudflare.docker.com.

  6. Sélectionnez Ajouter.

Vérifier que votre pare-feu bloque le trafic sortant

Pour vérifier que votre pare-feu est correctement configuré, vous pouvez utiliser la commande curl à partir de la console de débogage de votre application.

  1. Accédez à votre Application conteneur configurée avec le Pare-feu Azure.

  2. Dans le menu de gauche, sélectionnez Console, puis sélectionnez votre conteneur qui prend en charge la commande curl.

  3. Dans le menu Choisir la commande de démarrage , sélectionnez /bin/sh, puis Se connecter.

  4. Dans la console, exécutez curl -s https://mcr.microsoft.com. Vous devriez voir une réponse réussie, car vous avez ajouté mcr.microsoft.com à la liste d’autorisation de vos stratégies de pare-feu.

  5. Exécutez curl -s https://<FQDN_ADDRESS> pour une URL qui ne correspond à aucune de vos règles de destination telles que example.com. L’exemple de commande serait curl -s https://example.com. Vous ne devriez recevoir aucune réponse, ce qui indique que votre pare-feu a bloqué la requête.

Étapes suivantes