Kong Gateway : guide complet d’installation, configuration et sécurisation
Kong Gateway est un reverse proxy cloud-native qui centralise la gestion de vos APIs.
- Point d’entrée unique vers microservices, hybrid-cloud ou monolithe.
- Briques de base : services, routes, consumers, plugins.
- Installation instantanée via script Quickstart avec jeton Konnect.
- Déploiement possible sur Kubernetes, Docker ou Debian.
- Administration accessible sur port 8001 par défaut.
- Ajoute sécurité et règles sans modifier le code des services.
Qu’est-ce que Kong Gateway ? Définition, rôle et concepts clés
Définition : l’API Gateway cloud-native de Kong
Kong Gateway est un reverse proxy cloud-native, léger et rapide, développé par la société KongHQ. Il agit comme un point d’entrée unique vers une multitude d’APIs, qu’elles soient exposées par une architecture microservices décentralisée, un environnement hybrid-cloud ou un simple monolithe.
Concrètement, Kong simplifie la tâche des équipes de développement en centralisant la gestion du trafic. Il ajoute une couche de contrôle qui permet de diriger les requêtes, d’adapter les protocoles et de mettre en œuvre des règles de sécurité, sans avoir à modifier le code des services eux-mêmes. L’outil est conçu pour être déployé rapidement, que ce soit sur Kubernetes, Docker ou Debian.
Concepts fondamentaux : services, routes, consumers et plugins
Pour maîtriser Kong, il est essentiel de comprendre les briques de base qui composent sa configuration. Ces entités définissent comment le trafic est reçu, traité et transmis.
- Service : API backend exposée, l’application que vous souhaitez protéger.
- Route : chemin d’accès public, l’URL qui déclenche le proxy.
- Consumer : utilisateur ou application cliente qui consomme vos APIs.
- Plugin : fonctionnalité ajoutée au Gateway, comme l’authentification.
- Upstream : groupe de serveurs backend, la cible finale des requêtes.
Cette architecture déclarative permet de configurer l’ensemble de votre infrastructure API de manière claire et organisée, offrant une visibilité totale sur le trafic et les politiques appliquées.
Installation et déploiement de Kong : méthodes et prérequis

Pour découvrir Kong Gateway, plusieurs chemins d’installation s’offrent à vous, du plus rapide au plus élaboré. Que vous souhaitiez tester l’outil en quelques minutes ou l’intégrer à une infrastructure Docker, Kubernetes ou Debian, les prérequis restent minimes et le processus est bien documenté.
Installation rapide avec le script Quickstart
Le script Quickstart est la méthode recommandée pour obtenir une instance Kong fonctionnelle presque instantanément. C’est l’option idéale pour un premier contact avec l’outil, sans avoir à gérer les détails de configuration.
- Konnect Access Token : Nécessite un jeton d’authentification Konnect pour lancer le script
- Instance instantanée : Obtention d’une instance fonctionnelle en quelques secondes
- Test idéal : Parfait pour explorer les fonctionnalités de base de Kong Gateway
- Version 2.0.4 : Version de démonstration utilisée dans notre exemple d’installation
- Accès admin : Administration accessible sur le port 8001 (adresse par défaut 127.0.0.1)
Ce script gère automatiquement le téléchargement des dépendances, le démarrage des services et la configuration initiale. Vous pouvez ainsi vous concentrer directement sur la création de vos premiers services et routes, sans vous soucier de l’environnement technique.
Déploiement sur Docker et Debian
Pour les environnements de production ou de test plus avancés, le déploiement via Docker offre une isolation et une reproductibilité optimales. La commande docker run permet de lancer Kong en quelques lignes, en spécifiant les ports à exposer et les volumes à monter. C’est la méthode la plus répandue pour les développeurs habitués aux conteneurs.
Sur Debian, l’installation se fait via les dépôts officiels de Kong. Une fois le dépôt ajouté, la commande apt-get install kong suffit à installer l’intégralité du paquet. La configuration se poursuit ensuite en éditant le fichier /etc/kong/kong.conf, qui centralise les principaux paramètres du reverse proxy, comme les ports d’écoute et les adresses de la base de données.
Quelle que soit la méthode choisie, la procédure aboutit à un serveur Kong opérationnel, prêt à recevoir vos configurations. La suite du déploiement, notamment sur Kubernetes, suit une logique distincte, avec l’installation de l’Ingress Controller comme étape préliminaire.
Le système de plugins : fonctionnalités et cas d’utilisation
| Catégorie de plugin | Exemples concrets | Cas d’utilisation typique |
|---|---|---|
| Authentification | JWT, LDAP, basique, Key Auth | Vérifier l’identité de chaque appelant |
| Sécurité | Rate-limiting, CORS, bot detection | Limiter les requêtes et bloquer les abus |
| Contrôle d’accès | ACL, OAuth2 | Restreindre l’accès à certaines routes |
| Observabilité | Prometheus, Zipkin, StatsD | Surveiller les performances et les erreurs |
| Transformation | Request Transformer, gRPC | Modifier les requêtes avant envoi au backend |
La force de Kong Gat, à l’image de la configuration vLLM pour l’inférence de LLM, eway repose sur son système de plugins : des modules que l’on active en quelques secondes pour ajouter des fonctionnalités. Le Kong Hub référence des dizaines de plugins officiels et communautaires, couvrant pratiquement tous les besoins d’une API en production.
Pour les débutants, les plugins d’authentification sont les plus immédiats. Le plugin JWT valide les jetons signés sans aucune logique côté backend. Le plugin Key Auth attribue une clé API simple à chaque client ; le plugin LDAP s’intègre aux annuaires d’entreprise existants.
Côté sécurité, le plugin Rate-limiting est indispensable pour protéger vos endpoints : il plafonne le nombre de requêtes par minute et par utilisateur, empêchant les pics de charge malveillants ou accidentels de saturer vos serveurs. Cette protection s’active par un simple appel à l’API d’administration sur 127.0.0.1:8001, sans redémarrage du service.
Les plugins ACL (Access Control List) permettent de définir des groupes d’utilisateurs et d’autoriser chaque groupe à n’accéder qu’à certaines routes un cas d’usage fréquent pour les API exposées à plusieurs partenaires aux droits différents.
Enfin, les plugins d’observabilité (Prometheus, StatsD) exposent des métriques détaillées sur le trafic : latence, taux d’erreur, volume de requêtes. Ces données alimentent vos tableaux de bord et alertent votre équipe dès qu’un comportement anormal apparaît.
Architecture et fonctionnement technique de Kong Gateway
Sous le capot, Kong Gateway est une application Lua reposant sur Nginx. Cette base technique légère et éprouvée lui confère des performances élevées et une grande stabilité, même sous forte charge. Son rôle principal est de simplifier l’accès à vos APIs en agissant comme un reverse proxy cloud-native.
Concrètement, l’outil offre une connectivité protocolaire avancée, permettant l’adaptation de protocoles entre les clients et vos services. Il apporte aussi la virtualisation, l’évolutivité et l’élasticité nécessaires à vos APIs, tout en assurant la répartition de charge. Cette simplicité d’utilisation accélère considérablement le travail des équipes de développement, qui peuvent se concentrer sur la logique métier plutôt que sur l’infrastructure.
Enfin, Kong excelle dans la gestion des architectures décentralisées et hybrid-cloud, tout en restant efficace devant un énorme monolithe. Il s’installe rapidement et s’adapte à vos besoins. Un point de vigilance demeure : sans load-balancing configuré, une instance unique peut devenir un point de défaillance unique (SPOF).
Sécurisation de Kong Gateway : accès admin, OIDC et Auth0
Protéger l’API d’administration
La sécurité de votre déploiement commence par la protection de l’API d’administration de Kong, un point d’entrée sensible qui contrôle toute la configuration. Par défaut, cette API accepte les requêtes sur l’IP 127.0.0.1:8001, ce qui la rend accessible uniquement en local. Cette configuration par défaut est une première ligne de défense, mais elle ne suffit pas dans un environnement de production où d’autres services doivent interagir avec l’admin.
Pour renforcer cet accès, plusieurs mesures concrètes s’imposent :
Configurer via /etc/kong.conf : le fichier de configuration central permet de modifier l’adresse d’écoute et de restreindre les interfaces réseau exposées.
Utiliser iptables pour filtrer : les règles de pare-feu Linux permettent de bloquer tout trafic non autorisé vers le port 8001, même si une interface est exposée par erreur.
Restreindre aux IPs autorisées : n’autorisez que les adresses IP de vos équipes techniques ou de vos outils d’administration à atteindre l’API admin.
Sécuriser tous les aspects du déploiement : pensez également à activer TLS pour chiffrer les échanges et à changer les tokens d’authentification par défaut.
En appliquant ces bonnes pratiques, vous empêchez toute modification non autorisée de vos services, routes et plugins.
Authentification des requêtes : OIDC et intégration Auth0
Une fois l’admin protégé, il faut sécuriser les requêtes qui transitent par Kong vers vos API backend. Le plugin OIDC (OpenID Connect) est une solution standard qui s’intègre parfaitement avec des fournisseurs d’identité comme Auth0. Ce plugin valide les jetons JWT en amont, avant même que la requête n’atteigne votre service applicatif.
Concrètement, vous configurez une route pour exiger un jeton d’accès valide émis par votre fournisseur OIDC. Kong vérifie la signature, l’expiration et les claims du jeton à chaque requête. Si le jeton est invalide ou absent, Kong renvoie une erreur 401 et la requête n’atteint jamais votre backend. Cette approche centralise la politique de sécurité au niveau de la passerelle, simplifiant ainsi la gestion des accès pour l’ensemble de vos microservices.
Déploiement sur Kubernetes et intégration microservices
Kong sur Kubernetes : les 3 étapes du déploiement
Le déploiement de Kong sur un cluster Kubernetes repose sur le Kong Ingress Controller, un composant qui gère le trafic entrant et applique les règles de routage définies dans vos manifestes. L’installation se fait en trois étapes distinctes.
- Installer Kong Ingress Controller : déployez le contrôleur d’entrée dans votre cluster pour qu’il écoute et analyse les configurations Kubernetes.
- Configurer plugins et consumers : appliquez vos politiques transverses, comme l’authentification JWT ou le rate-limiting, et définissez vos consumers dans Kong.
- Définir routes et règles routage : créez vos objets Ingress ou Kong Routes pour diriger le trafic vers les bons services internes, selon les chemins ou les hôtes.
Une fois le contrôleur en place, celui-ci surveille en continu votre cluster. Lorsqu’un nouveau service est exposé, Kong applique automatiquement les règles de routage et les plugins associés, ce qui simplifie grandement la gestion de la configuration en environnement dynamique.
Utilisation devant une architecture microservices
Le cas d’usage principal de Kong Gateway est de se positionner en point d’entrée unique face à vos microservices. Chaque service interne, avec ses propres protocoles et formats de données, est masqué derrière l’API Gateway. Pour les clients, il n’existe qu’une seule interface, unifiée et cohérente.
Cette approche fonctionne aussi devant un monolithe volumineux : Kong permet de découper logiquement l’accès à ses différentes fonctions sans refactoriser l’application. La répartition de charge est alors assurée par le proxy, qui distribue les requêtes entre les instances disponibles.
Gardez néanmoins un point de vigilance : sans load-balancing ni haute disponibilité pour la passerelle elle-même, Kong devient un point unique de défaillance (SPOF). Pour des environnements critiques, prévoyez toujours plusieurs instances derrière un mécanisme de répartition externe.
