Nesta página, explicamos o que é o Policy Controller e como você pode usá-lo para garantir que os clusters e as cargas de trabalho do Kubernetes sejam executados de maneira segura e compatível.
O Policy Controller permite a aplicação de políticas programáveis aos clusters do Kubernetes. Essas políticas funcionam como proteções e podem ajudar nas práticas recomendadas, na segurança e no gerenciamento de conformidade dos clusters e frotas. Com base no projeto de código aberto Gatekeeper do Open Policy Agent, o Policy Controller é totalmente integrado ao Google Cloud e inclui um painel integrado para facilitar a observação e vem com uma biblioteca completa de políticas predefinidas para controles comuns de segurança e conformidade.
O Policy Controller está disponível com uma licença do Google Kubernetes Engine (GKE) Enterprise.
Benefícios do Policy Controller
- Integrado com o Google Cloud: os administradores da plataforma podem instalar o Policy Controller usando o console do Google Cloud, o Terraform ou o Google Cloud CLI em qualquer cluster conectado à sua frota. O Policy Controller funciona com outros serviços do Google Cloud, como o Config Sync, métricas e o Cloud Monitoring.
- Suporte a vários pontos de aplicação: além do controle de auditoria e admissão do cluster, o Policy Controller pode opcionalmente ativar uma abordagem à esquerda. para analisar e detectar alterações não compatíveis antes da inscrição.
- Pacotes de políticas pré-criados: o Policy Controller vem com uma biblioteca completa de políticas predefinidas para controles comuns de segurança e conformidade. Eles incluem os pacotes de políticas, que são criados e mantidos pelo Google, e a biblioteca de modelos de restrição.
- Compatível com políticas personalizadas: se a personalização da política for necessária além do que está disponível na biblioteca de modelos de restrição, o Policy Controller também será compatível com o desenvolvimento de modelos de restrição.
- Observabilidade integrada: o Policy Controller inclui um painel do console do Google Cloud, que fornece uma visão geral do estado de todas as políticas aplicadas à sua frota (incluindo clusters não registrados). No painel, veja o status de conformidade e aplicação para ajudar a resolver problemas e receba recomendações opinativas para resolver violações da política.
Pacotes de políticas
É possível usar pacotes de políticas para aplicar várias restrições agrupadas em um padrão, segurança ou tema de conformidade específico do Kubernetes. Esses pacotes de políticas são criados e mantidos pelo Google e, portanto, estão prontos para você usar sem precisar escrever código. Por exemplo, é possível usar os seguintes pacotes de políticas:
- Aplicar muitos dos mesmos requisitos que PodSecurityPolicies, mas com a capacidade extra de auditar a configuração antes de forçar a aplicação, garantindo que as alterações na política não sejam disruptivas nas cargas de trabalho em, execução.
- Use restrições compatíveis com o Cloud Service Mesh para auditar a conformidade das vulnerabilidades de segurança da malha e das práticas recomendadas.
- Aplique as práticas recomendadas gerais aos recursos do cluster para ajudar a fortalecer sua postura de segurança.
A visão geral dos pacotes do Policy Controller oferece mais detalhes e uma lista dos pacotes de políticas disponíveis atualmente.
Restrições
O Policy Controller aplica a conformidade dos clusters usando objetos chamados restrições. Pense nas restrições como elementos básicos da política. Cada restrição define uma alteração específica na API Kubernetes que é permitida ou proibida no cluster em que é aplicada. É possível definir políticas para bloquear ativamente solicitações de API não compatíveis ou auditar a configuração dos clusters e denunciar violações. Em ambos os casos, é possível visualizar mensagens de aviso com detalhes sobre qual violação ocorreu em um cluster. Com essas informações, é possível corrigir problemas. Por exemplo, é possível usar as seguintes restrições individuais:
- Exigir que cada namespace tenha pelo menos um rótulo. Essa restrição pode ser usada para garantir um rastreamento preciso do consumo de recursos ao usar a medição de uso do GKE, por exemplo.
- Restringir os repositórios de que uma determinada imagem de contêiner pode ser extraída. Essa restrição garante que qualquer tentativa de extrair contêineres de fontes desconhecidas seja negada, protegendo os clusters de executar softwares potencialmente mal-intencionados.
- Controlar se um contêiner pode ou não ser executado no modo privilegiado. Essa restrição controla a capacidade de qualquer contêiner de ativar o modo privilegiado, o que permite controlar quais contêineres (se houver) podem ser executados com política irrestrita.
Essas são apenas algumas das restrições fornecidas na biblioteca de modelos de restrição incluída no Policy Controller. Essa biblioteca contém várias políticas que podem ser usadas para ajudar a aplicar as práticas recomendadas e limitar os riscos. Se você precisar de mais personalização além do que está disponível na biblioteca de modelos de restrição, também é possível criar modelos de restrição personalizados.
As restrições podem ser aplicadas diretamente aos clusters usando a API Kubernetes ou distribuídas a um conjunto de clusters a partir de uma fonte centralizada, como um repositório Git, usando o Config Sync.
A seguir
- Instale o Controlador de Políticas.
- Saiba mais sobre pacotes de políticas.
- Aplicar pacotes de políticas