Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Lorsque vous configurez des restrictions d’accès, vous pouvez définir une liste d’autorisation/refus ordonnée par priorité qui contrôle l’accès réseau à votre application. La liste peut inclure des adresses IP ou des sous-réseaux de Réseau virtuel Microsoft Azure. Lorsqu’il y a une ou plusieurs entrées, une règle implicite Tout refuser se trouve à la fin de la liste. Si vous souhaitez en savoir plus, veuillez consulter Restrictions d’accès à Azure App Service.
Les restrictions d’accès fonctionnent avec toutes les charges de travail hébergées dans Azure App Service. Les charges de travail peuvent inclure des applications web, des applications API, des applications Linux, des conteneurs personnalisés Linux et des applications Azure Functions.
Lorsque quelqu’un effectue une demande à votre application, l’adresse FROM
est évaluée par rapport aux règles de votre liste de restrictions d’accès. Si l’adresse FROM
se trouve dans un sous-réseau configuré avec des Microsoft.Web
points de terminaison de service, le sous-réseau source est comparé aux règles de réseau virtuel dans votre liste de restrictions d’accès. Si l’adresse n’est pas autorisée à y accéder selon les règles définies dans la liste, le service répond avec le code d’état HTTP 403.
La fonctionnalité de restriction des accès est implémentée dans les rôles frontaux App Service, qui sont en amont des hôtes de travail où votre code s’exécute. Par conséquent, les restrictions d’accès sont comparables à des listes de contrôle d’accès réseau.
La possibilité de restreindre l’accès à votre application web depuis un réseau virtuel Azure utilise des points de terminaison de service. Avec les points de terminaison de service, vous pouvez restreindre l’accès à un service multilocataire à partir de sous-réseaux sélectionnés. Il est impossible de limiter le trafic vers les applications hébergées dans un environnement App Service Environment. Si vous êtes dans un environnement App Service Environment, vous pouvez contrôler l’accès à votre application en appliquant des règles d’adresses IP.
Remarque
Les points de terminaison de service doivent être activés à la fois côté réseau et pour le service Azure avec lequel ils sont activés. Pour obtenir la liste des services Azure qui prennent en charge les points de terminaison de service, consultez Points de terminaison de service de réseau virtuel.
Gérer les règles de restriction d’accès dans le portail
Pour ajouter une règle de restriction d’accès à votre application :
Connectez-vous au portail Azure.
Sélectionnez l’application à laquelle vous voulez ajouter des restrictions d’accès.
Dans le menu de gauche, sélectionnez Paramètres>Mise en réseau.
Dans le volet Mise en réseau , sous Configuration du trafic entrant, sélectionnez le paramètre d’accès réseau public .
Dans le volet Restrictions d’accès, passez en revue la liste des règles de restriction d’accès définies pour votre application.
La liste affiche les restrictions actuellement appliquées à l’application. Si vous avez une restriction de réseau virtuel sur votre application, le tableau indique si les points de terminaison de service sont activés pour
Microsoft.Web
. Si aucune restriction n’est définie sur votre application et que votre règle sans correspondance n’est pas définie sur Refuser, l’application est accessible de partout.
Autorisations
Vous devez disposer des autorisations de contrôle d’accès en fonction du rôle suivantes sur le sous-réseau ou à un niveau supérieur pour configurer les restrictions d’accès via le portail Azure, l’interface CLI ou lorsque vous définissez les site config
propriétés directement :
Action | Descriptif |
---|---|
Microsoft.Web/sites/config/read |
Obtient les paramètres de configuration de l’application web. |
Microsoft.Web/sites/config/write |
Met à jour les paramètres de configuration de l’application web. |
Microsoft.Network/virtualNetworks/subnets/joinViaServiceEndpoint/action * |
Joint des ressources telles qu’un compte de stockage ou une base de données SQL à un sous-réseau. |
Microsoft.Web/sites/write ** |
Met à jour les paramètres de l’application web. |
*Obligatoire uniquement lors de l’ajout d’une règle de réseau virtuel (point de terminaison de service)
**Obligatoire uniquement si vous mettez à jour les restrictions d’accès via le portail Azure
Si vous ajoutez une règle basée sur un point de terminaison de service et que le réseau virtuel se trouve dans un abonnement différent de l’application, vérifiez que l’abonnement avec le réseau virtuel est inscrit pour le Microsoft.Web
fournisseur de ressources. Vous pouvez inscrire explicitement le fournisseur, mais il est également enregistré automatiquement lorsque vous créez la première application web dans un abonnement. Pour plus d’informations, consultez Inscrire un fournisseur de ressources.
Ajouter une règle de restriction d’accès
Pour ajouter une règle de restriction d’accès à votre application, dans le volet Restrictions d’accès , sélectionnez Ajouter. La règle est effective uniquement après l’avoir enregistrée.
Les règles sont appliquées par ordre de priorité, en partant du chiffre le plus bas dans la colonne Priorité. Si vous ne configurez pas de règle sans correspondance, un refus implicite est appliqué lorsque vous ajoutez une règle.
Dans le volet Ajouter une restriction d’accès, lorsque vous créez une règle, procédez comme suit :
- Sous Action, sélectionnez Autoriser ou Refuser.
- Entrez un nom et une description de la règle (facultatif).
- Dans la zone Priorité, entrez une valeur de priorité.
- Dans la liste déroulante Type, sélectionnez le type de règle. Les différents types de règles sont décrits dans les sections suivantes.
- Saisissez l’entrée spécifique à la règle. Sélectionnez Ajouter une règle pour ajouter la règle à la liste.
- Sélectionnez Enregistrer dans le volet Restrictions d’accès .
Remarque
Il existe une limite de 512 règles de restriction d’accès. Si vous avez besoin de plus de 512 règles de restriction d’accès, envisagez d’utiliser un produit de sécurité autonome. Considérez Azure Front Door, Azure Application Gateway ou un autre pare-feu d’applications web (WAF).
Définir une règle basée sur une adresse IP
Suivez la procédure décrite dans la section précédente, mais en ajoutant la configuration suivante :
- À l’étape 4, dans la liste déroulante Type , sélectionnez IPv4 ou IPv6.
Spécifiez le bloc d’adresses IP dans la notation CIDR (Classless Inter-Domain Routing) pour les adresses IPv4 et IPv6. Pour spécifier une adresse, vous pouvez utiliser quelque chose comme 1.2.3.4/32
, où les quatre premiers octets représentent votre adresse IP et /32
est le masque. La notation CIDR IPv4 pour toutes les adresses est 0.0.0.0/0
.
Remarque
Les règles de restriction d’accès basées sur l’IP ne gèrent les plages d’adresses de réseau virtuel que lorsque votre application se trouve dans un App Service Environment. Si votre application se trouve dans le service multilocataire, vous devez utiliser des points de terminaison de service pour restreindre le trafic pour sélectionner des sous-réseaux dans votre réseau virtuel.
Définir une règle basée sur un point de terminaison de service
Pour l’étape 4, dans la liste déroulante Type, sélectionnez Réseau virtuel.
Spécifiez les listes déroulantes Abonnement, Réseau virtuel et Sous-réseau , correspondant à ce que vous souhaitez restreindre l’accès.
Grâce aux points de terminaison de service, vous pouvez restreindre l’accès à une sélection de sous-réseaux de réseau virtuel Azure. Si les points de terminaison de service ne sont pas déjà activés avec Microsoft.Web
pour le sous-réseau que vous sélectionnez, ils le sont automatiquement, à moins que vous sélectionniez Ignorer les points de terminaison de service Microsoft.Web manquants. Si vous souhaiterez peut-être activer les points de terminaison de service sur l’application, mais pas le sous-réseau dépend si vous disposez des autorisations nécessaires pour les activer sur le sous-réseau.
Si vous avez besoin que quelqu’un d’autre active les points de terminaison de service sur le sous-réseau, sélectionnez Ignorer les points de terminaison de service Microsoft.Web manquants. Votre application est configurée pour les points de terminaison de service. Ils peuvent ensuite être activés sur le sous-réseau.
Vous ne pouvez pas utiliser des points de terminaison de service pour restreindre l’accès aux applications qui s’exécutent dans un environnement App Service Environment. Si votre application se trouve dans un environnement App Service Environment, vous pouvez contrôler l’accès à celle-ci avec des règles d’accès IP.
Avec les points de terminaison de service, vous pouvez configurer votre application à l’aide de passerelles d’application ou d’autres appareils de pare-feu d’applications web (WAF). Vous pouvez également configurer des applications à plusieurs niveaux avec des serveurs principaux sécurisés. Si vous souhaitez en savoir plus, veuillez consulter Fonctionnalités de mise en réseau App Service et Intégration d’Application Gateway.
Remarque
Les points de terminaison de service ne sont actuellement pas pris en charge pour les applications web qui utilisent des liaisons TLS/SSL basées sur IP avec une adresse IP virtuelle.
Définir une règle basée sur une étiquette de service
Pour l’étape 4, dans la liste déroulante Type, sélectionnez Étiquette de service.
Toutes les étiquettes de service disponibles publiquement sont prises en charge dans les règles de restriction d’accès. Chaque étiquette de service représente une liste de plages d’adresses IP des services Azure. La documentation sur les étiquettes de service fournit une liste de ces services et des liens vers les plages spécifiques. Utilisez des modèles Azure Resource Manager ou des scripts pour configurer des règles plus avancées, comme des règles à étendue régionale.
Remarque
Lorsque vous créez des règles basées sur des balises de service via le portail Azure ou Azure CLI, vous avez besoin d’un accès en lecture au niveau de l’abonnement pour obtenir la liste complète des étiquettes de service pour la sélection/la validation. En outre, le Microsoft.Network
fournisseur de ressources doit être enregistré dans l'abonnement.
Modifier une règle
Pour modifier une règle de restriction d’accès existante, accédez au volet Restrictions d’accès et sélectionnez la règle à modifier.
Dans le volet Modifier la restriction d’accès, effectuez vos modifications, puis sélectionnez Mettre à jour la règle.
Sélectionnez Enregistrer pour enregistrer les modifications.
Remarque
Lorsque vous modifiez une règle, vous ne pouvez pas basculer entre les types de règles.
Supprimer une règle
Pour supprimer une règle, dans le volet Restrictions d’accès , sélectionnez la règle ou les règles à supprimer, puis sélectionnez Supprimer.
Sélectionnez Enregistrer pour enregistrer les modifications.
Scénarios avancés de restriction d’accès
Les sections suivantes décrivent l’utilisation de restrictions d’accès dans des scénarios avancés.
Filtrer par en-tête HTTP
Vous pouvez ajouter des filtres d’en-tête HTTP à n’importe quelle règle. Les noms d’en-tête HTTP suivants sont pris en charge :
X-Forwarded-For
X-Forwarded-Host
X-Azure-FDID
X-FD-HealthProbe
Pour chaque nom d’en-tête, vous pouvez ajouter jusqu’à huit valeurs séparées par des virgules. Les filtres d’en-tête HTTP sont évalués après la règle elle-même et les deux conditions doivent être vraies pour que la règle s’applique.
Règles à plusieurs sources
Les règles multi source vous permettent de combiner jusqu’à huit plages d’adresses IP ou huit balises de service dans une seule règle. Utilisez des règles multi source si vous avez plus de 512 plages d’adresses IP ou si vous souhaitez créer des règles logiques. Par exemple : une règle logique peut inclure plusieurs plages d’adresses IP combinées à un seul filtre d’en-tête HTTP.
Les règles multi source sont définies de la même façon que les règles à source unique, mais chaque plage est séparée par une virgule.
Exemple PowerShell :
Add-AzWebAppAccessRestrictionRule -ResourceGroupName "ResourceGroup" -WebAppName "AppName" `
-Name "Multi-source rule" -IpAddress "192.168.1.0/24,192.168.10.0/24,192.168.100.0/24" `
-Priority 100 -Action Allow
Bloquer une adresse IP unique
Si vous souhaitez bloquer explicitement une seule adresse IP ou un bloc d’adresses IP, mais autoriser l’accès à tout le reste, vous pouvez ajouter une règle de refus pour l’adresse IP spécifique. Configurez ensuite l’action de règle sans correspondance sur Autoriser.
Limiter l'accès à un site du Gestionnaire de contrôle des services (SCM)
En plus de pouvoir contrôler l’accès à votre application, vous pouvez restreindre l’accès au site d’outils avancé de gestion du contrôle de code source (SCM) utilisé par votre application. Le site SCM est le point de terminaison de déploiement web, ainsi que la console Kudu. Vous pouvez affecter des restrictions d’accès au site SCM à partir de l’application séparément ou utiliser le même ensemble de restrictions pour l’application et le site SCM. Lorsque vous sélectionnez Utiliser les règles du site principal, la liste des règles est masquée. Le site SCM utilise les règles du site principal. Si vous décochez la case, vos paramètres de site SCM réapparaissent.
Restreindre l’accès à une instance Azure Front Door spécifique
Le trafic entre Azure Front Door et votre application provient d’un ensemble bien connu de plages d’adresses IP définies dans l’étiquette de service AzureFrontDoor.Backend
. En utilisant une règle de restriction d’étiquette de service, vous pouvez limiter le trafic uniquement à partir d’Azure Front Door. Pour vous assurer que le trafic provient uniquement de votre instance spécifique, vous devez filtrer davantage les requêtes entrantes en fonction de l’en-tête HTTP unique envoyé par Azure Front Door.
Exemple PowerShell :
$afd = Get-AzFrontDoor -Name "MyFrontDoorInstanceName"
Add-AzWebAppAccessRestrictionRule -ResourceGroupName "ResourceGroup" -WebAppName "AppName" `
-Name "Front Door example rule" -Priority 100 -Action Allow -ServiceTag AzureFrontDoor.Backend `
-HttpHeader @{'x-azure-fdid' = $afd.FrontDoorId}
Gérer la restriction d’accès par programmation
Vous pouvez également gérer la restriction d’accès par programmation. L’exemple suivant montre comment ajouter des règles aux restrictions d’accès et comment modifier l’action de règle sans correspondance pour le site principal et le site d’outils avancés.
Ajouter des règles de restrictions d’accès pour le site principal
Vous pouvez ajouter des règles de restrictions d’accès pour le site principal par programmation en choisissant l’une des options suivantes :
Vous pouvez exécuter la commande suivante dans Azure Cloud Shell. Pour plus d’informations sur la commande, consultez az webapp config access-restriction
.
az webapp config access-restriction add --resource-group ResourceGroup --name AppName \
--rule-name 'IP example rule' --action Allow --ip-address 122.133.144.0/24 --priority 100
az webapp config access-restriction add --resource-group ResourceGroup --name AppName \
--rule-name "Azure Front Door example" --action Allow --priority 200 --service-tag AzureFrontDoor.Backend \
--http-header x-azure-fdid=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Ajouter des règles de restrictions d’accès pour le site d’outils avancé
Vous pouvez ajouter des règles de restrictions d’accès pour le site d’outils avancé par programmation. Choisissez l’une des options suivantes :
Vous pouvez exécuter la commande suivante dans Cloud Shell. Pour plus d’informations sur la commande, consultez az webapp config access-restriction
.
az webapp config access-restriction add --resource-group ResourceGroup --name AppName \
--rule-name 'IP example rule' --action Allow --ip-address 122.133.144.0/24 --priority 100 --scm-site true
Modifier une action de règle sans correspondance pour le site principal
Vous pouvez modifier l’action de règle sans correspondance pour le site principal par programme en choisissant l’une des options suivantes :
Vous pouvez exécuter la commande suivante dans Cloud Shell. Pour plus d’informations sur la commande, consultez az resource
. Les valeurs acceptées pour ipSecurityRestrictionsDefaultAction
sont Allow
ou Deny
.
az resource update --resource-group ResourceGroup --name AppName --resource-type "Microsoft.Web/sites" \
--set properties.siteConfig.ipSecurityRestrictionsDefaultAction=Allow
Modifier une action de règle sans correspondance pour le site d’outils avancé
Vous pouvez modifier l’action de règle sans correspondance pour le site d’outils avancé par programme en choisissant l’une des options suivantes :
Vous pouvez exécuter la commande suivante dans Cloud Shell. Pour plus d’informations sur la commande, consultez az resource
. Les valeurs acceptées pour scmIpSecurityRestrictionsDefaultAction
sont Allow
ou Deny
.
az resource update --resource-group ResourceGroup --name AppName --resource-type "Microsoft.Web/sites" \
--set properties.siteConfig.scmIpSecurityRestrictionsDefaultAction=Allow
Configurer des restrictions d’accès Azure Functions
Les restrictions d’accès sont également disponibles pour les applications de fonctions, avec les mêmes fonctionnalités que les plans App Service. Lorsque vous activez des restrictions d’accès, vous désactivez également l’éditeur de code du portail Azure pour les adresses IP non autorisées.