Neste documento, descrevemos uma arquitetura típica do Google Kubernetes Engine (GKE) em Google Cloud. Também listamos as práticas recomendadas de segurança aplicáveis a cargas de trabalho do GKE.
Arquitetura
O diagrama a seguir mostra os serviços Google Cloud em uma implantação típica do GKE.
O diagrama inclui os seguintes pontos:
O GKE é uma implementação gerenciada da plataforma de orquestração de contêineres de código aberto do Kubernetes que permite executar apps conteinerizados. Os clusters do GKE incluem os pods de aplicativos e o Controlador de Políticas. O Controlador de Políticas ajuda a aplicar políticas nos clusters do Kubernetes.
O Artifact Registry simplifica o processo de desenvolvimento e implantação de contêineres e apps, melhora a colaboração e ajuda a aumentar a segurança e a confiabilidade dos seus apps.
Os registros de auditoria do Cloud monitoram as ações dos usuários no seu ambiente, o que melhora suas capacidades de solução de problemas, auditoria e resposta a incidentes.
Com os painéis e alertas do Cloud Billing, é possível analisar o uso e o faturamento das cargas de trabalho do GKE.
Com o Cloud Build, é possível criar, testar e implantar uma plataforma de CI/CD sem servidor no Google Cloud.
O Cloud Identity unifica identidade, acesso, aplicativos e gerenciamento para Google Cloud.
O Cloud Key Management Service cria e gerencia chaves de criptografia.
As funções do Cloud Run automatizam tarefas, acionam jobs, se integram a outros serviços e criam pipelines de desenvolvimento orientados por eventos.
O Cloud Service Mesh permite que os serviços do Kubernetes se comuniquem entre si.
O Cloud Storage armazena os dados necessários para executar seus contêineres e apps.
O Cloud DNS registra, gerencia e veicula seu domínio.
O Identity and Access Management (IAM) controla quem pode realizar ações específicas nos recursos da carga de trabalho do GKE, como criar, editar ou excluir.
O serviço de políticas da organização gerencia e aplica políticas de maneira centralizada em todo o ambiente do Google Cloud. A Política da organização ajuda a garantir a conformidade consistente de configuração e segurança em todos os projetos e recursos da sua organização.
O Pub/Sub permite uma comunicação eficiente e a automação nos seus fluxos de trabalho.
O Resource Manager ajuda você a agrupar e gerenciar os componentes lógicos das cargas de trabalho do GKE.
O Secret Manager ajuda a proteger os dados sensíveis e as credenciais usadas em projetos do GKE.
O Security Command Center ajuda a proteger sua organização na nuvem, suas cargas de trabalho do GKE e os dados armazenados no Google Cloud. O Security Command Center oferece o seguinte:
- Gerenciamento de segurança centralizado
- Detecção de ameaças e resposta a incidentes
- Avaliações de segurança automatizadas
- Conformidade e relatórios regulamentares
- Recomendações e práticas recomendadas de segurança
A nuvem privada virtual (VPC) isola seus recursos do GKE da Internet em um ambiente seguro. Essa configuração de rede ajuda a proteger dados e cargas de trabalho sensíveis contra acesso não autorizado e possíveis ataques cibernéticos.
Com o Cloud VPN ou o Cloud Interconnect, é possível estabelecer uma conexão de rede segura entre sua infraestrutura local e o ambiente do GKE. O Cloud VPN ou o Cloud Interconnect ajudam a permitir a transferência de dados e a comunicação sem problemas entre sua rede particular e os recursos do Google Cloud. Considere essa integração para cenários como acesso a dados locais para treinamento de modelo ou implantação de modelos em recursos locais para inferência.
Práticas recomendadas para cargas de trabalho do GKE
Nesta seção, você encontra links para as práticas recomendadas de cargas de trabalho que usam o GKE.
- Grupos de usuários e papéis do IAM recomendados
Práticas recomendadas para uma base empresarial segura
Práticas recomendadas de autenticação e autorização
- Desativar concessões automáticas do IAM para contas de serviço padrão
- Bloquear a criação de chaves de conta de serviço externas
- Bloquear uploads de chaves de contas de serviço
- Configurar a segregação de funções para administradores de políticas da organização
- Ativar a verificação em duas etapas para contas de superadministrador
- Aplicar a verificação em duas etapas na unidade organizacional do superadministrador
- Criar um endereço de e-mail exclusivo para o superadministrador principal
- Criar contas de administrador redundantes
- Implemente tags para atribuir políticas do IAM e políticas da organização de maneira eficiente
- Auditar mudanças de alto risco no IAM
- Bloquear o acesso ao Cloud Shell para contas de usuário gerenciadas do Cloud Identity
- Configurar o Acesso baseado no contexto para consoles do Google
- Bloquear a recuperação de conta para superadministradores
- Desativar os Serviços do Google não usados
Práticas recomendadas de organização
Práticas recomendadas de rede
Práticas recomendadas de geração de registros, monitoramento e alertas
- Compartilhar registros de auditoria do Cloud Identity
- Usar registros de auditoria
- Ativar os registros de fluxo de VPC
- Ativar a Geração de Registros de Regras de Firewall
- Ativar registros de auditoria de acesso aos dados
- Ativar a auditoria da atividade do administrador
- Inscrever-se nos boletins de segurança
- Ativar registros de transparência no acesso
- Exportar dados de faturamento para análise detalhada
Práticas recomendadas de gerenciamento de chaves e secrets
- Criptografar dados em repouso no Google Cloud
- Usar algoritmos aprovados pelo NIST para criptografia e descriptografia
- Definir a finalidade das chaves do Cloud Key Management Service
- Verifique se as configurações da CMEK são adequadas para data warehouses seguros do BigQuery
- Alternar a chave de criptografia a cada 90 dias
- Configurar a rotação automática de chaves secretas
- Restringir o local das chaves de criptografia gerenciadas pelo cliente
- Usar a CMEK para serviços do Google Cloud
- Replicar chaves secretas automaticamente
Práticas recomendadas de análise e postura de segurança
Práticas recomendadas de infraestrutura
Práticas recomendadas de computação
Práticas recomendadas para contêineres
- Restringir o acesso ao plano de controle
- Usar regras de firewall de privilégio mínimo
- Usar os Grupos do Google para RBAC
- Ativar os nós protegidos do GKE
- Usar o Container-Optimized OS com o ambiente de execução do containerd
- Usar a federação de identidade da carga de trabalho para GKE
- Ativar o GKE Sandbox
- Desativar a porta somente leitura do kubelet
- Usar namespace e RBAC para restringir o acesso aos recursos do cluster
- Restringir o tráfego entre pods
- Usar controladores de admissão para aplicar políticas
- Restringir a capacidade de automodificação das cargas de trabalho
- Monitorar as configurações do cluster
- Aplicar a Autorização binária
Práticas recomendadas de gerenciamento de dados
Práticas recomendadas de armazenamento
- Bloquear o acesso público aos buckets do Cloud Storage
- Usar o acesso uniforme no bucket
- Proteger chaves HMAC para contas de serviço
- Detectar a enumeração de buckets do Cloud Storage por contas de serviço
- Verifique se a política de retenção do bucket do Cloud Storage usa o bloqueio de bucket
- Definir regras de ciclo de vida para a ação SetStorageClass
- Definir regiões permitidas para classes de armazenamento
- Ativar o gerenciamento do ciclo de vida para buckets do Cloud Storage
- Analisar e avaliar as retenções temporárias em objetos ativos
- Aplicar políticas de retenção em buckets do Cloud Storage
- Aplicar tags de classificação para buckets do Cloud Storage
- Aplicar buckets de registros para buckets do Cloud Storage
- Configurar regras de exclusão para buckets do Cloud Storage
- Verifique se a condição isLive é "False" para regras de exclusão
- Aplicar o controle de versões para buckets do Cloud Storage
- Aplicar proprietários para buckets do Cloud Storage
- Ativar o registro das principais atividades do Cloud Storage
Práticas recomendadas para agentes e aplicativos