Visão geral do Policy Controller

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:

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:

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