Separação de tarefas

A 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 aos quais esse usuário não tem um motivo válido para acessar.

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 rigorosa 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 o papel Administrador do Cloud KMS.
  • Usuários de chaves: 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.

Quando você usa 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 processam o acesso a recursos, consulte Como os serviços integrados ao CMEK processam o acesso a recursos.

Se você quiser criar uma proteção para aplicar essa recomendação, use as 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 os 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 proteções para controlar como o Cloud KMS é usado. As abordagens de governança de chaves existem em um espectro de governança centralizada a governança delegada:

  • Governança centralizada: uma equipe de segurança ou plataforma dedicada é responsável por gerenciar o ciclo de vida de todas as chaves criptográficas na organização. Esse modelo costuma ser escolhido por empresas altamente regulamentadas com requisitos de compliance rigorosos.
  • Governança delegada: uma equipe de segurança central usa proteções 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. Essas proteções podem incluir políticas da organização usando restrições gerenciadas e personalizadas e 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 chave dedicado contém chaves usadas para vários aplicativos. Normalmente, cada pasta de ambiente tem o próprio projeto de chave. É 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 Google Cloud projeto que os recursos que elas protegem. Isso às vezes é descrito como "a chave segue os dados". É possível usar o Autokey com o armazenamento de chaves no mesmo projeto.

Alinhamento de governança e armazenamento

A matriz a seguir fornece 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 regulatórios rigorosos 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 governada

Uso recomendado: organizações que exigem supervisão de segurança central mas querem maximizar a velocidade do desenvolvedor.

Impacto operacional: baixa complexidade de configuração. A segurança central aplica a política usando proteções, enquanto as chaves são colocalizadas com os 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 DevOps forte.

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

Armazenamento de chaves no mesmo projeto

A aplicação da segregação de funções no gerenciamento de chaves no mesmo projeto exige que os papéis do IAM sejam mantidos estritamente separados. Por exemplo, é possível usar as políticas de negação do IAM para remover as permissões de criptografia e descriptografia dos gerentes de chaves.

É possível ativar o Autokey com o armazenamento de chaves no mesmo projeto ou pasta para permitir a criação automatizada de chaves no mesmo projeto que o recurso que a chave protege. Para mais informações, consulte Ativar o Autokey com o armazenamento de chaves no mesmo projeto.

Armazenamento de chaves em projeto dedicado

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

É possível ativar o Autokey com o 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 o armazenamento de chaves em projeto dedicado.

Como automatizar e monitorar a conformidade

Google Cloud fornece as seguintes ferramentas para automatizar e monitorar os limites de segurança:

  • Autokey do Cloud KMS: o Autokey oferece suporte ao armazenamento de chaves em projeto dedicado e ao armazenamento de chaves no mesmo projeto. Para ambos, ele automatiza a segregação de funções concedendo automaticamente o papel de uso de chaves ao agente de serviço necessário, 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 segregação de funções em toda a organização.