En esta página, se explica qué es Policy Controller y cómo puedes usarlo para garantizar que tus clústeres y cargas de trabajo de Kubernetes se ejecuten de forma segura y que satisfaga las normativas.
Esta página está destinada a los administradores de TI, operadores y especialistas en seguridad que definen soluciones de TI y arquitectura de sistemas de acuerdo con la estrategia de la empresa, y se aseguran de que todos los recursos que se ejecutan dentro de la plataforma en la nube cumplan con los requisitos de cumplimiento de la organización. Para ello, proporcionan y mantienen la automatización para auditar o aplicar el cumplimiento. Para obtener más información sobre los roles comunes y las tareas de ejemplo a las que hacemos referencia en el contenido de Google Cloud , consulta Roles y tareas comunes del usuario de GKE.
Policy Controller permite la aplicación de políticas programables para tus clústeres de Kubernetes. Estas políticas actúan como protecciones y pueden ayudarte con las prácticas recomendadas, la seguridad y la administración del cumplimiento de los clústeres y la flota. Basado en el proyecto de código abierto Open Policy Agent Gatekeeper, Policy Controller está completamente integrado en Google Cloud, incluye un panel integrado para la observabilidad y viene con una biblioteca completa de políticas compiladas previamente para controles comunes de seguridad y cumplimiento.
Beneficios de Policy Controller
- Integración en Google Cloud: Los administradores de la plataforma pueden instalar Policy Controller con la consola de Google Cloud , con Terraform o con Google Cloud CLI en cualquier clúster conectado a tu flota. Policy Controller funciona con otros servicios deGoogle Cloud , como Sincronizador de configuración, métricas y Cloud Monitoring.
- Admite varios puntos de aplicación de políticas: Además de la auditoría y el control de admisión para tu clúster, Policy Controller puede habilitar de forma opcional un enfoque de cambio a la izquierda para analizar y detectar cambios que no cumplen con las políticas antes de la aplicación.
- Paquetes de políticas compiladas previamente: Policy Controller incluye una biblioteca completa de políticas compiladas previamente para controles comunes de seguridad y cumplimiento. Estos incluyen paquetes de políticas y la biblioteca de plantillas de restricciones.
- Admite políticas personalizadas: Si se requiere la personalización de políticas más allá de lo que está disponible con la biblioteca de plantillas de restricciones, Policy Controller también admite el desarrollo de plantillas de restricciones personalizadas.
- Observabilidad integrada: Policy Controller incluye un panel de la consola de Google Cloud , que proporciona una descripción general del estado de todas las políticas aplicadas a tu flota (incluidos los clústeres no registrados). En el panel, consulta el estado de cumplimiento y aplicación de políticas para solucionar problemas y obtén recomendaciones bien definidas que te permitan resolver incumplimientos de política.
Paquetes de políticas
Puedes usar paquetes de políticas para aplicar una serie de restricciones que se agrupan en un tema específico de seguridad, cumplimiento o estándar de Kubernetes. Por ejemplo, puedes usar los siguientes paquetes de políticas:
- Aplica muchos de los mismos requisitos que PodSecurityPolicies, pero con la capacidad adicional de auditar tu configuración antes de aplicarla, lo que garantiza que los cambios de política no interrumpan las cargas de trabajo en ejecución.
- Usa restricciones compatibles con Cloud Service Mesh para auditar el cumplimiento de las vulnerabilidades de seguridad de tu malla y las prácticas recomendadas.
- Aplica las prácticas recomendadas generales a los recursos de tu clúster para fortalecer tu postura de seguridad.
En la descripción general de los paquetes de Policy Controller, se proporcionan más detalles y una lista de los paquetes de políticas disponibles actualmente.
Limitaciones
Policy Controller aplica el cumplimiento de los clústeres con objetos llamados restricciones. Puedes pensar en las restricciones como los "componentes básicos" de la política. Cada restricción define un cambio específico en la API de Kubernetes que se permite o no en el clúster al que se aplica. Puedes establecer políticas para bloquear de forma activa las solicitudes a la API que no cumplen con los requisitos o auditar la configuración de tus clústeres y denunciar las infracciones. En cualquier caso, puedes ver mensajes de advertencia con detalles sobre el incumplimiento que se produjo en un clúster. Con esa información, puedes solucionar los problemas. Por ejemplo, puedes usar las siguientes restricciones individuales:
- Exige que cada espacio de nombres tenga al menos una etiqueta. Esta restricción se puede usar para garantizar un seguimiento preciso del consumo de recursos cuando se usa la medición de uso de GKE, por ejemplo.
- Restringir los repositorios desde los que se puede extraer una imagen de contenedor determinada. Esta restricción garantiza que se rechace cualquier intento de extraer contenedores de fuentes desconocidas, lo que protege tus clústeres de la ejecución de software potencialmente malicioso.
- Controla si un contenedor se puede ejecutar en modo privilegiado o no. Esta restricción controla la capacidad de cualquier contenedor para habilitar el modo con privilegios, lo que te permite controlar qué contenedores (si los hay) se pueden ejecutar con una política sin restricciones.
Estas son solo algunas de las restricciones que se proporcionan en la biblioteca de plantillas de restricciones incluida en Policy Controller. Esta biblioteca contiene varias políticas que puedes usar para aplicar las prácticas recomendadas y limitar el riesgo. Si necesitas más personalización más allá de lo que está disponible en la biblioteca de plantillas de restricciones, también puedes crear plantillas de restricciones personalizadas.
Las restricciones se pueden aplicar directamente a tus clústeres con la API de Kubernetes o distribuirse a un conjunto de clústeres desde una fuente centralizada, como un repositorio de Git, con el Sincronizador de configuración.