Separação de tarefas

Segregação de funções é o conceito de garantir que um principal não tenha todas as permissões necessárias para concluir uma ação mal-intencionada. No Cloud Key Management Service, essa pode ser uma ação, como usar uma chave para acessar e descriptografar dados sem um motivo válido.

A segregação de funções é um controle comercial que costuma ser usado em organizações maiores, destinado a evitar incidentes e erros de segurança ou privacidade. É considerada uma prática recomendada.

No Cloud KMS, a segregação de funções exige uma distinção estrita entre os seguintes papéis:

  • Gerentes de chaves: principais autorizados a gerenciar ciclos de vida de chaves, incluindo criação, exclusão, rotação e mudanças de estado. Por exemplo, usuários com a função Administrador do Cloud KMS.
  • Usuários principais: principais autorizados a usar chaves, incluindo criptografia, descriptografia, assinatura ou verificação de assinatura. Por exemplo, usuários com o papel Criptografador/Descriptografador de CryptoKey do Cloud KMS.

Ao usar chaves do Cloud KMS para chaves de criptografia gerenciadas pelo cliente, recomendamos que a conta de serviço seja o único principal autorizado a usar a chave para criptografia e descriptografia. Para mais informações sobre como as integrações de CMEK lidam com o acesso a recursos, consulte Como os serviços integrados à CMEK lidam com o acesso a recursos.

Se você quiser criar uma proteção para aplicar essa recomendação, use políticas de negação do IAM para remover as permissões de criptografia e descriptografia de principais que não sejam contas de serviço. Para mais informações sobre como usar papéis do IAM com segurança, consulte Usar o IAM com segurança.

Governança de chaves

A governança de chaves descreve quem em uma organização é responsável por gerenciar o ciclo de vida dos recursos do Cloud KMS e manter mecanismos de proteção para controlar como o Cloud KMS é usado. As principais abordagens de governança existem em um espectro que vai da governança centralizada à governança delegada:

  • Governança centralizada: uma equipe dedicada de segurança ou plataforma é responsável por gerenciar o ciclo de vida de todas as chaves criptográficas na organização. Esse modelo geralmente é escolhido por empresas altamente regulamentadas com requisitos de compliance rigorosos.
  • Governança delegada: uma equipe central de segurança usa mecanismos de proteção para exigir padrões de criptografia, mas delega a responsabilidade pelas operações do ciclo de vida das chaves aos proprietários de aplicativos nos projetos. Esses mecanismos podem incluir políticas da organização usando restrições gerenciadas e personalizadas, além de concessões e políticas de negação do IAM. Isso elimina gargalos operacionais centrais.

Armazenamento de chaves

O armazenamento de chaves descreve onde os recursos do Cloud KMS são criados em uma organização. Há duas abordagens principais para o armazenamento de chaves: armazenamento de chaves em projeto dedicado e armazenamento de chaves no mesmo projeto.

  • Armazenamento de chaves em projeto dedicado: um projeto de chaves dedicado contém chaves usadas para vários aplicativos. Normalmente, cada pasta de ambiente tem um projeto de chave próprio. É possível usar o Autokey com o armazenamento de chaves em projeto dedicado.

  • Armazenamento de chaves no mesmo projeto: as chaves são armazenadas no mesmo projetoCloud de Confiance que os recursos protegidos. Às vezes, isso é descrito como "a chave segue os dados". É possível usar o Autokey com armazenamento de chaves no mesmo projeto.

Alinhar governança e armazenamento

A matriz a seguir mostra exemplos de como esses modelos de governança e armazenamento podem ser combinados para atender a diferentes necessidades da organização:

Modelo de governança Armazenamento de chaves em projeto dedicado Armazenamento de chaves no mesmo projeto
Governança centralizada

Abordagem totalmente centralizada

Uso recomendado: organizações com requisitos regulamentares rígidos que exigem isolamento de limites de projetos.

Impacto operacional: alta complexidade de configuração. Exige automação robusta (como uma "fábrica de projetos") para evitar atrasos operacionais para equipes de desenvolvimento.

Propriedade gerenciada

Uso recomendado: organizações que precisam de supervisão central de segurança, mas querem maximizar a velocidade dos desenvolvedores.

Impacto operacional: baixa complexidade de configuração. A segurança centralizada aplica a política usando proteções, enquanto as chaves são colocadas junto aos recursos que protegem para facilitar o gerenciamento.

Governança delegada

Não recomendado

A introdução da complexidade do IAM entre projetos prejudica o objetivo de delegar o gerenciamento de chaves às equipes de aplicativos.

DevOps autônomo

Uso recomendado: organizações descentralizadas de alta velocidade com uma cultura de DevOps forte.

Impacto operacional: complexidade mínima de configuração. As equipes de aplicativos têm autonomia total sobre recursos e chaves dentro dos limites do projeto.

Armazenamento de chaves no mesmo projeto

Para aplicar a separação de funções no gerenciamento de chaves do mesmo projeto, é necessário manter os papéis do IAM estritamente separados. Por exemplo, é possível usar políticas de negação do IAM para remover permissões de criptografia e descriptografia dos gerentes de chaves.

É possível ativar o Autokey com armazenamento de chaves no mesmo projeto em um projeto ou pasta para permitir a criação automática de chaves no mesmo projeto que o recurso protegido. Para mais informações, consulte Ativar o Autokey com armazenamento de chaves no mesmo projeto.

Armazenamento de chaves em projeto dedicado

No modelo de armazenamento de chaves em projeto dedicado, os projetos de chaves dedicados são gerenciados por uma equipe central de segurança, que tem permissões de administração de chaves no projeto de chaves, mas não pode acessar projetos que contêm os recursos protegidos por essas chaves.

É possível ativar o Autokey com armazenamento de chaves em projeto dedicado em uma pasta para permitir a criação automatizada de chaves usando o modelo de armazenamento de chaves centralizado. Para mais informações, consulte Configurar o Autokey com armazenamento de chaves em um projeto dedicado.

Automatizar e monitorar a conformidade

OCloud de Confiance oferece as seguintes ferramentas para automatizar e monitorar seus limites de segurança:

  • Autokey do Cloud KMS: o Autokey é compatível com o armazenamento de chaves em projeto dedicado e no mesmo projeto. Em ambos os casos, ele automatiza a separação de funções concedendo automaticamente o papel de uso da chave ao agente de serviço necessário, e não à pessoa que solicita a chave. O Autokey foi projetado para oferecer suporte a pipelines de infraestrutura como código que não precisam de privilégios elevados para a criação de chaves.
  • Security Command Center: monitore as descobertas de Separação de papéis do KMS para detectar qualquer principal, incluindo um proprietário do projeto ou uma conta de serviço do Google, que tenha permissões administrativas e criptográficas em uma única chave.
  • Métricas de criptografia CMEK: use o painel Métricas de criptografia para verificar o alinhamento com as práticas de separação de funções em toda a organização.