Separação de tarefas

Separação de deveres é o conceito de garantir que um indivíduo não terá todas as permissões necessárias para concluir uma ação mal-intencionada. No Cloud KMS, um exemplo seria uma ação como usar uma chave para acessar e descriptografar dados aos quais esse usuário normalmente não deveria ter acesso.

A separação de deveres é 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.

Para mais informações, consulte nossa documentação sobre como usar o IAM de maneira segura.

Como configurar o Cloud KMS em um projeto separado

O Cloud KMS pode ser executado em um projeto existente, por exemplo, your-project e isso pode ser sensato se os dados que estão sendo criptografados com chaves no Cloud KMS estiverem armazenados no mesmo projeto.

No entanto, qualquer usuário com acesso de owner nesse projeto também pode gerenciar e executar operações criptográficas com chaves nesse projeto do Cloud KMS. Isso ocorre porque as próprias chaves são de propriedade do projeto de que o usuário é owner.

Em vez disso, para haver uma separação de deveres, é possível executar o Cloud KMS em um projeto próprio, por exemplo, o your-key-project. Dependendo do rigor dos requisitos de separação, seria possível:

  • (recomendado) Crie o your-key-project sem um owner para envolvidos no projeto e conceda-o a um administrador da organização no nível da organização. Esse administrador da organização não é como um owner - ele não gerencia nem usa chaves, mas tem permissão para configurar a Política de IAM para restringir quem recebe permissões para gerenciamento e uso de chaves. Use um node de nível de organização para restringir ainda mais as permissões para projetos na organização. Veja a próxima seção sobre papéis alternativos ao owner para uso com o Cloud KMS.
  • (não recomendado) Conceda um papel de owner para your-key-project a um usuário diferente do owner em your-project, em que as chaves do Cloud KMS estão sendo usadas. Esse usuário ainda teria acesso a todas as operações de chave.

Como escolher os papéis de IAM certos

Para as organizações menores, os papéis primitivos de owner, editor e viewer provavelmente proporcionam granularidade suficiente para o gerenciamento de chaves. Em organizações maiores, em que a separação de deveres é necessária, o papel do owner proporciona acesso excessivo a operações de segurança sensíveis e não é o ideal. Nesse caso, recomendamos que você use papéis predefinidos.

  • Para o proprietário da empresa com o aplicativo que requer criptografia: use o papel administrador da organização no nível da organização.

  • Para o usuário que gerencia o Cloud KMS, por exemplo, um membro da equipe de segurança de TI de uma organização: os dois papéis com as permissões mínimas necessárias para gerenciar o Cloud KMS por meio do Console do GCP são o papel predefinido editor de projeto (editor) ou um papel personalizado baseado no papel administrador do Cloud KMS (cloudkms.admin) combinado com as seguintes permissões:

    • serviceusage.quotas.get
    • serviceusage.services.get
    • resourcemanager.projects.get

    Para saber informações sobre como criar um papel personalizado, consulte Como criar um papel personalizado. Se o usuário gerencia o Cloud KMS usando apenas a ferramenta de linha de comando gcloud e a API Cloud KMS, o papel predefinido administrador do Cloud KMS tem permissão suficiente e não precisa das permissões serviceusage.quotas.get, serviceusage.services.get ou resourcemanager.projects.get.

  • Para o usuário ou serviço que usa chaves destinadas a operações de criptografia e descriptografia: use uma conta de serviço para envolvidos no projeto do Cloud KMS com criptografador/descriptografador (cloudkms.cryptoKeyEncrypterDecrypter). Se o serviço precisa apenas de gravação ou de leitura de dados, restrinja ainda mais o uso com o papel somente de criptografador (cloudkms.cryptoKeyEncrypter) ou descriptografador (cloudkms.cryptoKeyDecrypter).

Com um projeto separado para o Cloud KMS e esses papéis recomendados, você resolve várias questões de segurança sobre a separação de tarefas:

  • Qualquer usuário que precise de uma função primitiva no nível do projeto para usar outro serviço do Google Cloud, não pode usar essa autoridade para acessar o Cloud KMS.
  • Nenhum usuário precisará da função do owner que lhes concederia permissões excessivas para usar as chaves. Sem owner, nenhum usuário pode gerenciar e usar uma chave para criptografar ou descriptografar dados diretamente por padrão. Se os registros de acesso a dados não estiverem ativados, um owner poderá ter acesso não auditado para usar o material da chave.
Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…