Cette page explique ce qu'est Policy Controller et comment l'utiliser pour vous assurer que vos clusters et charges de travail Kubernetes s'exécutent de manière sécurisée et conforme.
Policy Controller permet d'appliquer des règles programmables à vos clusters Kubernetes. Ces règles servent de garde-fous et peuvent vous aider à appliquer les bonnes pratiques, ainsi qu'à gérer la sécurité et la conformité de vos clusters et de votre parc. Basé sur le projet Open Source Open Policy Agent Gatekeeper, Policy Controller est entièrement intégré à Google Cloud et inclut un tableau de bord intégré pour une meilleure observabilité, en plus d'être fourni avec une bibliothèque complète de règles prédéfinies pour les contrôles de sécurité et de conformité courants.
Policy Controller est disponible avec une licence Google Kubernetes Engine (GKE) Enterprise.
Avantages de Policy Controller
- Intégré à Google Cloud : les administrateurs de plate-forme peuvent installer Policy Controller à l'aide de la console Google Cloud, de Terraform ou de Google Cloud CLI, sur n'importe quelle cluster connecté à votre parc. Policy Controller fonctionne avec d'autres services Google Cloud tels que Config Sync, les métriques et Cloud Monitoring.
- Compatible avec plusieurs points d'application : en plus du contrôle d'audit et d'admission de votre cluster, Policy Controller peut éventuellement activer une approche de décalage vers la gauche pour analyser et détecter les modifications non conformes avant leur application.
- Groupes de règles prédéfinies : Policy Controller est fourni avec une bibliothèque complète de règles prédéfinies pour les contrôles de sécurité et de conformité courants. Ils incluent à la fois des groupes de règles, qui sont créés et gérés par Google, ainsi que la bibliothèque de modèles de contrainte.
- Compatibilité avec les règles personnalisées : si la personnalisation des règles est requise au-delà de ce qui est possible avec la bibliothèque de modèles de contrainte, Policy Controller est également compatible avec le développement de modèles de contrainte
- Observabilité intégrée : Policy Controller comprend un tableau de bord de console Google Cloud qui offre un aperçu de l'état de toutes les règles appliquées à votre parc (en incluant les clusters non enregistrés). Consultez le tableau de bord pour connaître l'état de conformité et d'application afin de dépanner plus facilement votre solution, et obtenez des recommandations avisées pour résoudre les cas de non-respect des règles.
Groupes de règles
Vous pouvez utiliser des groupes de règles pour appliquer un certain nombre de contraintes regroupées sous un thème de norme, de sécurité ou de conformité Kubernetes spécifique. Ces groupes de règles sont créés et gérés par Google. Vous pouvez donc les utiliser sans avoir à écrire de code. Par exemple, vous pouvez utiliser les groupes de règles suivants :
- Elle applique la plupart des exigences de PodSecurityPolicies, mais avec en plus la possibilité d'auditer votre configuration avant de l'appliquer, assurant ainsi que les modifications de stratégie ne perturbent pas l'exécution des charges de travail.
- Utilisez des contraintes compatibles avec Cloud Service Mesh pour auditer la conformité de votre réseau maillé eu égard aux failles et aux bonnes pratiques de sécurité.
- Appliquez les bonnes pratiques générales à vos ressources de cluster pour renforcer votre stratégie de sécurité.
La présentation des groupes de règles Policy Controller fournit plus de détails ainsi qu'une liste des groupes de règles actuellement disponibles.
Contraintes
Policy Controller assure la conformité de votre cluster à l'aide d'objets appelés contraintes. Vous pouvez considérer les contraintes comme les "composants de base" d'une règle. Chaque contrainte définit une modification spécifique de l'API Kubernetes, qui est autorisée ou non autorisée sur le cluster auquel elle s'applique. Vous pouvez définir des règles pour bloquer activement les requêtes API non conformes ou pour auditer la configuration de vos clusters et signaler des violations. Dans les deux cas, vous pouvez afficher des messages d'avertissement contenant des détails sur la violation qui s'est produite sur un cluster. Grâce à ces informations, vous pouvez résoudre les problèmes. Par exemple, vous pouvez utiliser les contraintes individuelles suivantes :
- Exiger que chaque espace de noms contienne au moins un libellé. Cette contrainte permet par exemple de garantir un suivi précis de la consommation des ressources avec la mesure de l'utilisation de GKE.
- Restreindre les dépôts à partir desquels une image de conteneur donnée peut être extraite. Cette contrainte garantit que toute tentative d'extraction de conteneurs à partir de sources inconnues est refusée, empêchant que vos clusters exécutent des logiciels potentiellement malveillants.
- Contrôler si un conteneur peut s'exécuter en mode privilégié. Cette contrainte contrôle la capacité de n'importe quel conteneur à activer le mode privilégié, qui vous permet de contrôler les conteneurs (le cas échéant) pouvant s'exécuter avec une règle sans restriction.
Voici quelques-unes des contraintes fournies dans la bibliothèque de modèles de contraintes incluse dans Policy Controller. Cette bibliothèque contient de nombreuses règles que vous pouvez utiliser pour appliquer les bonnes pratiques et limiter les risques. Si vous avez besoin d'un niveau de personnalisation supérieur à celui disponible dans la bibliothèque de modèles de contraintes, vous pouvez également créer des modèles de contraintes personnalisés.
Les contraintes peuvent être appliquées directement aux clusters à l'aide de l'API Kubernetes, ou distribuées à un ensemble de clusters à partir d'une source centralisée, telle qu'un dépôt Git, en utilisant Config Sync.
Étapes suivantes
- Installer Policy Controller
- Apprenez-en plus sur les groupes de règles.
- Appliquez des groupes de règles.