La sécurité est une préoccupation majeure lors du déploiement d’applications dans le cloud, en particulier dans un environnement partagé comme Kubernetes. AKS fournit plusieurs mécanismes pour sécuriser le cluster et les workloads tout au long du cycle de vie.
Sécurité de la plateforme
Au niveau de la plateforme, AKS s’appuie sur les fonctionnalités de sécurité d’Azure :
- Les clusters sont déployés dans des Virtual Networks qui fournissent l’isolation réseau. Les règles NSG permettent de filtrer le trafic.
- Les communications entre le serveur d’API et les nœuds sont sécurisées par mTLS (mutual TLS).
- Les données sont chiffrées au repos avec Azure Disk Encryption et en transit avec TLS.
- AKS est conforme à de nombreux standards de sécurité comme SOC, ISO, PCI DSS et HIPAA.
Authentification et autorisation
AKS supporte plusieurs méthodes d’authentification pour contrôler l’accès au cluster :
- Intégration avec Entra ID pour une gestion centralisée des identités. Les utilisateurs s’authentifient avec leurs credentials Entra ID.
- Certificats X.509 pour les comptes de service et les processus automatisés.
- Jetons de porteur statiques (déconseillé).
Une fois authentifiés, les utilisateurs doivent être autorisés à effectuer des actions sur le cluster. AKS supporte deux modèles d’autorisation :
- Kubernetes RBAC : modèle natif basé sur des rôles (roles) et des liaisons (role bindings) qui mappent les utilisateurs aux permissions. Les rôles peuvent être définis au niveau namespace ou cluster.
- Azure RBAC pour AKS : modèle basé sur les rôles Azure qui se synchronisent avec le RBAC Kubernetes. Permet une gestion unifiée des permissions.
Il est recommandé d’appliquer le principe du moindre privilège et de donner aux utilisateurs uniquement les permissions dont ils ont besoin.
Sécurité réseau
Kubernetes fournit plusieurs abstractions pour micro-segmenter le réseau au sein d’un cluster :
- Network policies : règles de filtrage de trafic basées sur les labels. Permettent de définir quels pods peuvent communiquer entre eux.
- Ingress : point d’entrée exposant des services HTTP(S) à l’extérieur du cluster. Peut être sécurisé avec TLS et l’authentification.
- Egress : mécanismes pour contrôler et limiter le trafic sortant des pods vers des destinations externes.
AKS supporte les implémentations Calico et Azure NPM (basé sur eBPF) pour appliquer les network policies de manière performante.
Sécurité des workloads
Pour sécuriser les workloads applicatifs, plusieurs bonnes pratiques peuvent être mises en place :
- Analyse des vulnérabilités des images conteneur et mise en place de security scans dans le pipeline CI/CD
- Utilisation de registres d’images conteneur privés comme Azure Container Registry pour stocker les images de manière sécurisée
- Définition de security contexts et de pod security policies pour durcir les pods (ex : interdire de tourner en root)
- Limitation des permissions des pods avec des service accounts
- Chiffrement des secrets Kubernetes avec une clé gérée dans Azure Key Vault
- Monitoring de la sécurité avec Azure Defender et Azure Security Center
Gouvernance et conformité
Enfin, pour s’assurer que le cluster reste conforme aux standards de sécurité de l’entreprise, il est possible de mettre en place des règles de gouvernance avec Azure Policy.
Azure Policy permet de définir des règles qui sont automatiquement appliquées sur le cluster. Par exemple : interdire les privilèges root, forcer l’utilisation de certaines images, limiter les types de ressources… Les règles non respectées peuvent déclencher des alertes ou bloquer le déploiement.
Azure Policy for AKS fournit des définitions de règles prêtes à l’emploi et conformes aux benchmarks du CIS (Center for Internet Security).
En combinant tous ces mécanismes, il est possible de mettre en place une posture de sécurité robuste pour protéger un cluster AKS et les applications qu’il héberge. La sécurité doit être pensée à tous les niveaux (plateforme, réseau, identité, workloads) et intégrée dès le début dans une approche “shift-left”.
AKS fournit une base solide en termes de sécurité, mais c’est à chaque entreprise de définir et d’appliquer sa propre stratégie en fonction de son contexte et de ses exigences métiers et réglementaires. La sécurité est un sujet complexe qui nécessite une vigilance continue !