Configurer un point de terminaison privé dans Azure Static Web Apps
Vous pouvez utiliser un point de terminaison privé (également appelé liaison privée) pour restreindre l’accès à votre application web statique afin qu’elle ne soit accessible qu’à partir de votre réseau privé.
Fonctionnement
Un réseau virtuel (VNet) Azure est un réseau similaire à ce que vous pouvez retrouver dans un centre de données traditionnel, mais les ressources du réseau virtuel communiquent les unes avec les autres en toute sécurité sur le réseau principal de Microsoft.
La configuration de Static Web Apps avec un point de terminaison privé vous permet d’utiliser une adresse IP privée de votre réseau virtuel. Une fois ce lien créé, votre application web statique est intégrée à votre réseau virtuel. Par conséquent, votre application web statique n’est plus disponible pour l’Internet public et n’est accessible qu’à partir des machines dans votre réseau virtuel Azure.
Remarque
Le fait de placer votre application derrière un point de terminaison privé signifie que votre application est disponible uniquement dans la région où se trouve votre réseau virtuel. Par conséquent, votre application n’est plus disponible sur plusieurs points de présence.
Si votre application a un point de terminaison privé activé, le serveur répond avec un code d’état 403
si la requête provient d’une adresse IP publique. Ce comportement s’applique à la fois à l’environnement de production et à tous les environnements intermédiaires. La seule façon d’atteindre l’application est d’utiliser le point de terminaison privé déployé au sein de votre réseau virtuel.
La résolution DNS par défaut de l’application Web statique existe toujours et elle est acheminée vers une adresse IP publique. Le point de terminaison privé expose deux adresses IP au sein de votre réseau virtuel, l’une pour l’environnement de production et l’autre pour tous les environnements intermédiaires. Pour vous assurer que votre client est en mesure d’atteindre correctement l’application, assurez-vous que votre client résout le nom d’hôte de l’application en adresse IP appropriée du point de terminaison privé. Cela est requis pour le nom d’hôte par défaut ainsi que pour tous les domaines personnalisés configurés pour l’application Web statique. Cette résolution est effectuée automatiquement si vous sélectionnez une zone DNS privée lors de la création du point de terminaison privé (Voir l’exemple ci-dessous) et est la solution recommandée.
Si vous vous connectez à partir de local ou si vous ne souhaitez pas utiliser de zone DNS privée, vous devez configurer manuellement les enregistrements DNS de votre application afin que les demandes soient acheminées vers l’adresse IP appropriée du point de terminaison privé. Vous trouverez plus d’informations sur la résolution DNS du point de terminaison privé ici.
Remarque
Les points de terminaison privés limitent le trafic entrant vers le site web à un réseau virtuel spécifique. Ils ne s’appliquent pas aux déploiements de nouvelles ressources du site.
Prérequis
- Compte Azure avec un abonnement actif.
- Un réseau virtuel Azure.
- Une application déployée avec Azure Static Web Apps qui utilise le plan d'hébergement Standard.
Créer un Private Endpoint
Dans cette section, vous créez un point de terminaison privé pour votre application web statique.
Important
Votre application web statique doit être déployée sur le plan d’hébergement Standard pour utiliser des points de terminaison privés. Vous pouvez changer le plan d'hébergement dans l’option Plan d'hébergement du menu latéral.
Dans le portail, ouvrez votre application web statique.
Sélectionnez l’option Points de terminaison privés dans le menu latéral.
Sélectionnez Ajouter.
Dans la boîte de dialogue « Ajouter un point de terminaison privé », entrez les informations suivantes :
Paramètre Valeur Nom Entrez myPrivateEndpoint. Abonnement Sélectionnez votre abonnement. Réseau virtuel Sélectionnez votre réseau virtuel. Subnet Sélectionnez votre sous-réseau. Intégrer à une zone DNS privée Conservez la valeur par défaut Oui. Sélectionnez OK.
Remarque
Le nom de la zone DNS privée dépend du suffixe de nom de domaine par défaut de l’application web statique. Par exemple, si le suffixe de domaine par défaut de l’application est 3.azurestaticapps.net
, le nom de la zone DNS privée est privatelink.3.azurestaticapps.net
. Quand une application web statique est créée, le suffixe de domaine par défaut peut être différent du ou des suffixes de domaine par défaut des applications web statiques précédentes. Si vous utilisez un processus de déploiement automatisé pour créer la zone DNS privée, vous pouvez utiliser la propriété DefaultHostname
dans votre application pour extraire par programmation le suffixe de domaine. La valeur de la propriété DefaultHostname
se présente sous la forme <STATIC_WEB_APP_DEFAULT_DOMAIN_PREFIX>.<PARTITION_ID>.azurestaticapps.net
ou STATIC_WEB_APP_DEFAULT_DOMAIN_PREFIX.azurestaticapps.net
. Le suffixe de domaine par défaut se présente sous la forme <PARTITION_ID>.azurestaticapps.net
ou azurestaticapps.net
.
Test de votre point de terminaison privé
Étant donné que votre application n’est plus disponible publiquement, le seul moyen d’y accéder est depuis l’intérieur de votre réseau virtuel. Pour tester, configurez une machine virtuelle dans votre réseau virtuel et accédez à votre site.