Partager via


Utiliser des points de terminaison privés pour les applications Azure App Service

Vous pouvez utiliser un point de terminaison privé pour vos applications Azure App Service. Le point de terminaison privé permet aux clients situés dans votre réseau privé d’accéder en toute sécurité à une application via Azure Private Link. Le point de terminaison privé utilise une adresse IP de l’espace d’adressage de votre réseau virtuel Azure. Le trafic réseau entre un client sur votre réseau privé et l’application passe par le réseau virtuel et Private Link sur le réseau principal Microsoft. Cette configuration élimine l’exposition de l’Internet public.

Lorsque vous utilisez un point de terminaison privé pour votre application, vous pouvez :

  • Sécurisez votre application lorsque vous configurez le point de terminaison privé et désactivez l’accès au réseau public, ce qui élimine l’exposition publique.
  • Vous connecter de manière sécurisée à votre application à partir de réseaux locaux qui se connectent au réseau virtuel en utilisant un VPN ou un peering privé ExpressRoute.
  • Évitez tout exfiltration de données à partir de votre réseau virtuel.

Important

Les points de terminaison privés sont disponibles pour les applications Windows et Linux, conteneurisées ou non, hébergées sur les plans App Service suivants : De base, Standard, PremiumV2, PremiumV3, IsolatedV2, Functions Premium (parfois appelé plan Elastic Premium).

Vue d'ensemble conceptuelle

Un point de terminaison privé est une interface réseau pour votre application App Service dans un sous-réseau de votre réseau virtuel.

Quand vous créez un point de terminaison privé pour votre application, il fournit une connectivité sécurisée entre les clients sur votre réseau privé et votre application. Le point de terminaison privé a une adresse IP attribuée dans la plage d’adresses IP de votre réseau virtuel. La connexion entre le point de terminaison privé et l’application utilise une liaison privée sécurisée. Le point de terminaison privé est utilisé uniquement pour le trafic entrant vers votre application. Le trafic sortant n’utilise pas le point de terminaison privé. Vous pouvez injecter du trafic sortant vers votre réseau dans un autre sous-réseau avec la fonctionnalité d’intégration au réseau virtuel.

Chaque emplacement d’une application est configuré séparément. Vous pouvez utiliser jusqu’à 100 points de terminaison privés par emplacement. Vous ne pouvez pas partager un point de terminaison privé entre emplacements. Le subresource nom d’un emplacement est sites-<slot-name>.

Le sous-réseau que vous utilisez pour brancher le point de terminaison privé peut y avoir d’autres ressources. Vous n’avez pas besoin d’un sous-réseau vide dédié.

Vous pouvez également déployer un point de terminaison privé dans une région différente de celle de votre application.

Remarque

La fonctionnalité d’intégration de réseau virtuel ne peut pas utiliser le même sous-réseau que le point de terminaison privé.

Considérations relatives à la sécurité

Les points de terminaison privés et l’accès public peuvent coexister sur une application. Pour plus d’informations, consultez cette Vue d’ensemble des restrictions d’accès.

Pour garantir l’isolation, lorsque vous activez des points de terminaison privés sur votre application, veillez à désactiver l’accès au réseau public. Vous pouvez activer plusieurs points de terminaison privés dans d’autres réseaux virtuels et sous-réseaux, y compris des réseaux virtuels dans d’autres régions.

Les règles de restriction d’accès de votre application ne sont pas évaluées pour le trafic via le point de terminaison privé. Vous pouvez éliminer le risque d’exfiltration des données du réseau virtuel. Supprimez toutes les règles de groupe de sécurité réseau (NSG) dont la destination est le tag Internet ou les services Azure.

Vous trouverez l’adresse IP source du client dans les journaux HTTP web de votre application. Cette fonctionnalité est implémentée à l’aide du proxy TCP (Transmission Control Protocol), qui transfère la propriété IP cliente jusqu’à l’application. Pour plus d’informations, consultez Obtention d’informations de connexion à l’aide du proxy TCP v2.

Diagramme montrant une vue d’ensemble globale des points de terminaison privés App Service.

Système de noms de domaine (DNS)

Lorsque vous utilisez un point de terminaison privé pour les applications App Service, l’URL demandée doit correspondre à l’adresse de votre application. Par défaut, sans point de terminaison privé, le nom public de votre application web est un nom canonique référençant le cluster. Par exemple, la résolution de noms est :

Nom Catégorie Valeur
mywebapp.azurewebsites.net CNAME clustername.azurewebsites.windows.net
clustername.azurewebsites.windows.net CNAME cloudservicename.cloudapp.net
cloudservicename.cloudapp.net A 192.0.2.13

Lorsque vous déployez un point de terminaison privé, l’approche met à jour l’entrée DNS (Domain Name System) pour pointer vers le nom canonique : mywebapp.privatelink.azurewebsites.net. Par exemple, la résolution de noms est :

Nom Catégorie Valeur Remarque
mywebapp.azurewebsites.net CNAME mywebapp.privatelink.azurewebsites.net
mywebapp.privatelink.azurewebsites.net CNAME clustername.azurewebsites.windows.net
clustername.azurewebsites.windows.net CNAME cloudservicename.cloudapp.net
cloudservicename.cloudapp.net A 192.0.2.13 <--Cette adresse IP publique n’est pas votre point de terminaison privé. Vous recevez une erreur 403.

Vous devez configurer un serveur DNS privé ou une zone privée Azure DNS. À des fins de tests, vous pouvez modifier l’entrée d’hôte de votre ordinateur de test. La zone DNS que vous devez créer est : privatelink.azurewebsites.net. Enregistrez l'enregistrement de votre application avec un enregistrement A et l'adresse IP du point de terminaison privé. Avec les groupes de zones DNS privés Azure, les enregistrements DNS sont automatiquement ajoutés à la zone DNS privée.

Par exemple, la résolution de noms est :

Nom Catégorie Valeur Remarque
mywebapp.azurewebsites.net CNAME mywebapp.privatelink.azurewebsites.net <--Azure crée cette CNAME entrée dans le DNS public Azure pour pointer l’adresse de l’application vers l’adresse du point de terminaison privé.
mywebapp.privatelink.azurewebsites.net A 10.10.10.8 <--Vous gérez cette entrée dans votre système DNS pour pointer vers votre adresse IP de point de terminaison privé.

Lorsque vous configurez cette configuration DNS, vous pouvez atteindre votre application en privé avec le nom mywebapp.azurewebsites.netpar défaut. Vous devez utiliser ce nom, car le certificat par défaut est émis pour *.azurewebsites.net.

Nom de domaine personnalisé

Si vous devez utiliser un nom de domaine personnalisé, ajoutez le nom personnalisé dans votre application. Vous devez valider le nom personnalisé comme n’importe quel nom personnalisé à l’aide de la résolution DNS publique. Pour plus d’informations, consultez la rubrique relative à la validation DNS personnalisée.

Dans votre zone DNS personnalisée, vous devez mettre à jour l’enregistrement DNS pour qu’il pointe vers le point de terminaison privé. Si votre application est déjà configurée avec la résolution DNS pour le nom d’hôte par défaut, la méthode recommandée consiste à ajouter un CNAME enregistrement pour le domaine personnalisé pointant vers mywebapp.azurewebsites.net. Si vous souhaitez uniquement que le nom de domaine personnalisé soit résolu vers le point de terminaison privé, vous pouvez ajouter directement un enregistrement A avec l'adresse IP du point de terminaison privé.

Point de terminaison Kudu/scm

Pour la console Kudu ou l’API REST Kudu (pour le déploiement avec des agents auto-hébergés Azure DevOps Services, par exemple), vous devez créer un deuxième enregistrement pointant vers l’adresse IP du point de terminaison privé dans votre zone privée Azure DNS ou votre serveur DNS personnalisé. La première est pour votre application et la seconde est pour le SCM (gestion du contrôle de code source) de votre application. Avec les groupes de zones DNS privées Azure, le point de terminaison scm est automatiquement ajouté.

Nom Catégorie Valeur
mywebapp.privatelink.azurewebsites.net A PrivateEndpointIP
mywebapp.scm.privatelink.azurewebsites.net A PrivateEndpointIP

Considération spéciale sur App Service Environment v3

Pour activer le point de terminaison privé pour les applications hébergées dans un plan IsolatedV2 (App Service Environment v3), activez la prise en charge des points de terminaison privés au niveau d’App Service Environment. Vous pouvez activer la fonctionnalité à l’aide du portail Azure dans le volet de configuration d’App Service Environment ou via l’interface CLI suivante :

az appservice ase update --name myasename --allow-new-private-endpoint-connections true

Exigences spécifiques

Si le réseau virtuel se trouve dans un abonnement différent de celui de l’application, vérifiez que l’abonnement avec le réseau virtuel est inscrit pour le fournisseur de ressources Microsoft.Web. Pour inscrire explicitement le fournisseur, consultez Inscrire un fournisseur de ressources. Vous inscrivez automatiquement le fournisseur quand vous créez la première application web dans un abonnement.

Tarification

Pour plus d’informations sur les tarifs, consultez Tarification Liaison privée Azure.

Limites

  • Lorsque vous utilisez une fonction Azure dans le plan Elastic Premium avec un point de terminaison privé, vous devez disposer d’un accès réseau direct pour exécuter la fonction dans le portail Azure. Sinon, vous recevez une erreur HTTP 403. Votre navigateur doit pouvoir accéder au point de terminaison privé pour exécuter la fonction à partir du portail Azure.
  • Vous pouvez connecter jusqu’à 100 points de terminaison privés à une application donnée.
  • La fonctionnalité de débogage à distance n’est pas disponible via le point de terminaison privé. Nous vous recommandons de déployer le code sur un emplacement et de le déboguer à distance.
  • L’accès FTP est fourni par le biais de l’IP publique entrante. Un point de terminaison privé ne prend pas en charge l’accès FTP à l’application.
  • Le protocole TLS basé sur IP n’est pas pris en charge avec les points de terminaison privés.
  • Les applications que vous configurez avec des points de terminaison privés ne peuvent pas recevoir de trafic public provenant de sous-réseaux avec un Microsoft.Web point de terminaison de service activé et ne peuvent pas utiliser de règles de restriction d’accès basées sur les points de terminaison de service.
  • Le nommage de point de terminaison privé doit respecter les règles définies pour les ressources du Microsoft.Network/privateEndpoints type. Pour plus d’informations, consultez la page Règles et restrictions de nommage.

Pour des informations à jour sur les limitations, consultez cette documentation.