L’article explique comment sécuriser une application via Envoy Gateway en utilisant OIDC (OpenID Connect) et JWT pour l’authentification, ainsi que l’autorisation par groupes. L’auteur montre comment configurer une SecurityPolicy dans un cluster Kubernetes pour appliquer une authentification centralisée avec Keycloak, sans avoir besoin d’un outil supplémentaire comme oauth2-proxy.
La configuration repose sur une HTTPRoute pour router le trafic vers l’application, avec une règle dédiée pour le callback OIDC. La SecurityPolicy est ensuite attachée à cette route, définissant l’URL du fournisseur OIDC, les identifiants du client et les chemins de callback et de déconnexion. L’autorisation par groupe est évoquée, mais son implémentation détaillée n’est pas abordée dans cet article.
L’exemple utilise un cluster Kubernetes sur Clever Cloud avec un add-on Keycloak, mais la configuration de Keycloak et l’exposition via Gateway API sont supposées déjà en place. L’approche simplifie la gestion de l’authentification en intégrant directement ces fonctionnalités dans Envoy Gateway.
L’article explique comment configurer un backend HTTPS avec un certificat auto-signé dans Kubernetes en utilisant Gateway API et trust-manager, en remplacement des annotations simplistes d’Ingress-NGINX. L’auteur détaille la migration d’une ressource Ingress vers une HTTPRoute couplée à une BackendTLSPolicy, qui impose une validation stricte du certificat backend, contrairement à NGINX qui permet de désactiver cette vérification. La solution repose sur l’intégration d’une autorité de certification (CA) interne dans un ConfigMap, référencée par la BackendTLSPolicy pour valider le certificat auto-signé.
L’auteur souligne que Gateway API, bien que plus sécurisé et déclaratif, ne propose pas d’option pour ignorer la validation du certificat backend, contrairement à NGINX. La méthode proposée utilise trust-manager pour injecter automatiquement la CA dans le cluster, simplifiant ainsi la gestion des certificats auto-signés. Cette approche garantit une configuration cohérente et sécurisée, alignée sur les bonnes pratiques Kubernetes.