Avec plus de charges de travail conformes à l’approche d’abord de l’API pour leur conception, et le nombre croissant et la gravité des menaces pour les applications web sur Internet, il est essentiel d’avoir une stratégie de sécurité pour protéger les API. Une étape vers la sécurité des API consiste à protéger le trafic réseau à l’aide du modèle de routage de passerelle. Vous utilisez la passerelle pour restreindre les emplacements sources du trafic et la qualité du trafic en plus de prendre en charge des règles de routage flexibles. Cet article explique comment utiliser Azure Application Gateway et Gestion des API Azure pour protéger l’accès aux API.
Architecture
Cet article ne traite pas des plateformes sous-jacentes de l'application, comme App Service Environment, Azure SQL Managed Instance et Azure Kubernetes Services. Ces parties du diagramme présentent uniquement ce que vous pouvez faire dans le cadre d’une solution plus large. Cet article traite spécifiquement des zones grisées, Gestion des API et Application Gateway.
Téléchargez un fichier Visio de cette architecture.
Workflow
Application Gateway reçoit les requêtes HTTP autorisées par le groupe de sécurité réseau de son sous-réseau ( NSG).
Le Web Application Firewall (WAF) sur Application Gateway vérifie alors la requête par rapport aux règles WAF, y compris les règles personnalisées Geomatch. La demande continue si elle est valide.
Application Gateway configure un mécanisme de proxy d’URL qui envoie la requête au pool principal approprié. Par exemple, selon le format d’URL de l’appel d’API :
Des URL au format
api.<some-domain>/external/*
peuvent atteindre le serveur principal pour interagir avec les API demandées.Les appels mis en forme comme
api.<some-domain>/*
atteindre un point mort (récepteur), qui est un pool back-end sans cible.
En outre, Application Gateway accepte et proxies des appels internes, qui proviennent de ressources dans le même réseau virtuel Azure, sous
api.<some-domain>/internal/*
.Enfin, au niveau de Gestion des API, les API sont configurées pour accepter les appels selon les modèles suivants :
api.<some-domain>/external/*
api.<some-domain>/internal/*
Dans ce scénario, Gestion des API utilise deux types d’adresses IP : publiques et privées. Les adresses IP publiques sont destinées à la communication interne sur le port 3443, ainsi qu’au trafic d’API d’exécution dans la configuration du réseau virtuel externe. Quand Gestion des API envoie une demande à serveur principal accessible via l’Internet public, il affiche une adresse IP publique comme origine de la demande. Pour plus d’informations, consultez Adresses IP du service Gestion des API dans un réseau virtuel.
Une règle de routage au niveau d’Application Gateway redirige correctement les utilisateurs sous
portal.<some-domain>/*
vers le portail des développeurs, afin que les développeurs puissent gérer les API et leurs configurations à partir d’environnements internes et externes.
Composants
Réseau virtuel Azure permet à de nombreux types de ressources Azure de communiquer en privé entre elles, internet et réseaux locaux. Dans cette architecture, la passerelle d'application est chargée d'acheminer le trafic Internet public vers le réseau privé.
Azure Application Gateway est un équilibreur de charge de trafic web qui gère le trafic vers des applications web. Ce type de routage est connu comme l’équilibrage de charge de la couche d’application (couche OSI 7). Dans cette architecture, la passerelle est non seulement utilisée pour le routage, mais elle héberge également un pare-feu d'application Web (WAF) pour se protéger contre les vecteurs d'attaque courants basés sur le Web.
Gestion des API Azure est une plateforme de gestion multicloud hybride pour les API dans tous les environnements. Gestion des API crée des passerelles d’API modernes et cohérentes pour les services principaux. Dans cette architecture, la gestion de l'API est utilisée en mode entièrement privé pour décharger les préoccupations transversales du code de l'API et des hôtes.
Recommandations
Cette solution se concentre sur l’implémentation de l’ensemble de la solution, et sur le test de l’accès à l’API à partir de l’intérieur et de l’extérieur du réseau virtuel de Gestion des API. Pour plus d’informations sur le processus d’intégration du réseau virtuel de Gestion des API, consultez Intégrer le service Gestion des API dans un réseau virtuel interne avec Application Gateway.
Pour communiquer avec des ressources privées dans le serveur principal, Application Gateway et Gestion des API doivent se trouver dans le même réseau virtuel que les ressources ou dans un réseau virtuel appairé.
Le modèle de déploiement interne privé permet à Gestion des API de se connecter à un réseau virtuel existant, ce qui le rend accessible à partir de ce contexte de réseau. Pour activer cette fonctionnalité, déployez le niveau Développeur ou Premium de Gestion des API.
Gérez les certificats de la passerelle d'applications dans Azure Key Vault.
Pour personnaliser les interactions avec les services, vous pouvez utiliser des entrées CNAME.
Autres solutions
Vous pouvez utiliser d’autres services pour fournir un niveau similaire de protection pare-feu et pare-feu d’applications web (WAF) :
- Azure Front Door
- Pare-feu Azure
- Solutions de partenaires comme Barracuda
- Autres solutions disponibles dans la Place de marché Azure
À propos de l’installation
Fiabilité
Azure Application Gateway est toujours déployé de manière hautement disponible, quel que soit le nombre d’instances. Pour éviter l’impact d’un dysfonctionnement de zone, vous pouvez configurer Application Gateway pour couvrir plusieurs zones de disponibilité. Pour plus d’informations, consultez Mise à l’échelle automatique et haute disponibilité.
Activez la redondance de zone pour vos composants de service Gestion des API afin de fournir une résilience et une haute disponibilité. La redondance de zone réplique la passerelle de Gestion des API et le plan de contrôle dans des centres de données situés dans des zones séparées physiquement, ce qui les rend résilients en cas de défaillance d’une zone. Le niveau gestion des API Premium est nécessaire pour prendre en charge zones de disponibilité.
Gestion des API prend également en charge les déploiements multirégions, ce qui peut améliorer la disponibilité si une région est hors connexion. Pour plus d’informations, consultez déploiement multirégion. Dans cette topologie, il est important d’avoir une passerelle Application Gateway par région, car Application Gateway est un service régional.
Sécurité
Pour plus d’informations sur la sécurité d’Application Gateway, consultez Base de référence de sécurité Azure pour Application Gateway.
Pour plus d’informations sur la sécurité de Gestion des API, consultez Base de référence sur la sécurité Azure pour la Gestion des API.
Azure DDoS Protection, combiné aux bonnes pratiques de conception d’application, offre des fonctionnalités d’atténuation des attaques DDoS améliorées pour une meilleure défense contre les attaques DDoS. Vous devez activer Azure DDOS Protection sur tout réseau virtuel de périmètre.
Optimisation des coûts
Le coût de cette architecture dépend de divers aspects liés à la configuration tels que les suivants :
- Niveaux de service
- Scalabilité, c’est-à-dire le nombre d’instances allouées dynamiquement par les services pour prendre en charge une demande donnée
- Si cette architecture s’exécutera en continu ou seulement quelques heures par mois
Après avoir évalué ces aspects, accédez à la Calculatrice de prix Azure pour estimer la tarification.
Efficacité des performances
Application Gateway est le point d’entrée de cette architecture, et la fonctionnalité de pare-feu d’applications web nécessite une puissance de traitement supplémentaire pour l’analyse de chaque demande. Pour permettre à Application Gateway d’étendre sa capacité de calcul sur place, il est important d’activer la mise à l’échelle automatique. Pour plus d’informations, consultez Spécifier la mise à l’échelle automatique. Suivez les recommandations de la documentation produit sur la taille du sous-réseau pour Application Gateway. Cela garantit que le sous-réseau est suffisamment grand pour prendre en charge le scale-out complet.
Pour prendre en charge des scénarios hautement simultanés, activez la mise à l’échelle automatique de Gestion des API. La mise à l’échelle automatique étend les fonctionnalités de Gestion des API en réponse à un nombre croissant de demandes entrantes. Pour en savoir plus, consultez Mise à l'échelle automatique d'une instance de Gestion des API Azure.
Déployer ce scénario
Ce scénario est illustré dans la publication de la galerie de démarrage rapide Azure de Application Gateway avec gestion des API internes et web App.
Étapes suivantes
Concevez vos API en suivant de bonnes conception d’API web instructions et implémentez-les à l’aide de bonnes pratiques d’implémentation d’API web .
Ressources associées
- Vue d’ensemble du routage basé sur le chemin d’accès de l’URL
- Tutoriel : Créer une passerelle d’application avec des règles d’acheminement par chemin d’accès à l’aide du portail Azure
- Tutoriel : Créer une passerelle d’application avec une redirection basée sur un chemin d’accès d’URL à l’aide d’Azure CLI