Criptografar dados com chaves de criptografia gerenciadas pelo cliente

Por padrão, o Secure Source Manager criptografa o conteúdo do cliente em repouso. O Secure Source Manager executa a criptografia, e você não precisa fazer nada. Essa opção é chamada de criptografia padrão do Google.

Se você quiser controlar suas chaves de criptografia, use chaves de criptografia gerenciadas pelo cliente (CMEKs) no Cloud KMS com serviços integrados a CMEKs, incluindo o Secure Source Manager. Ao usar chaves do Cloud KMS, é possível controlar o nível de proteção, o local, a programação de rotação, as permissões de uso e acesso e os limites criptográficos. Com o Cloud KMS, também é possível monitorar o uso de chaves, visualizar registros de auditoria e controlar ciclos de vida de chaves. Em vez de o Google ser proprietário e gerente de chaves de criptografia de chaves (KEKs) simétricas que protegem seus dados, você controla e gerencia essas chaves no Cloud KMS.

Depois de configurar os recursos com CMEKs, a experiência de acesso aos recursos do Secure Source Manager é semelhante à criptografia padrão do Google. Para saber mais sobre suas opções de criptografia, consulte Chaves de criptografia gerenciadas pelo cliente (CMEK).

O Cloud KMS pode ser executado em um projeto separado em que você gerencia centralmente as chaves de vários projetos ou no mesmo projetoGoogle Cloud que o Secure Source Manager. Para oferecer suporte à separação de tarefas e maior controle sobre o acesso às chaves, recomendamos que você crie e gerencie chaves em um projeto separado que não inclua outros recursos do Google Cloud.

Você atribui uma chave do Cloud KMS ao criar uma instância. Não é possível mudar o mecanismo de criptografia de uma instância atual. Se você tiver uma instância criptografada com CMEK, não será possível mudar o mecanismo de criptografia para a criptografia padrão do Google nem atribuir uma chave diferente do Cloud Key Management Service para criptografia.

A instância precisa ser criada no mesmo local da chave do Cloud KMS.

Ao usar a CMEK no Secure Source Manager, seus projetos podem consumir cotas de solicitações criptográficas do Cloud KMS. As instâncias criptografadas com CMEK consomem essas cotas no momento da criação. As operações de criptografia e descriptografia que usam chaves CMEK afetam as cotas do Cloud KMS somente se você usar chaves de hardware (Cloud HSM) ou externas (Cloud EKM). Para mais informações, consulte Cotas do Cloud KMS.

Criar uma chave CMEK e conceder permissões

As instruções a seguir explicam como criar uma chave e conceder à conta de serviço do Secure Source Manager permissões nela.

  1. No projeto Google Cloud em que você quer gerenciar as chaves:

    1. Ative a API Cloud KMS.

    2. Crie um keyring e uma chave usando uma das seguintes opções:

      O local da chave do Cloud KMS precisa corresponder ao local do projeto em que você quer criar a instância do Secure Source Manager.

  2. Se você estiver criando sua primeira instância do Secure Source Manager no seu projeto, será necessário criar manualmente o agente de serviço do Secure Source Manager executando o seguinte comando:

    gcloud beta services identity create \
    --service=securesourcemanager.googleapis.com \
    --project=PROJECT
    

    Em que PROJECT é o ID do projeto em que você vai criar sua instância do Secure Source Manager.

    Depois de criar a conta de serviço por produto por projeto (P4SA), conceda o papel de agente de serviço do Secure Source Manager (roles/securesourcemanager.serviceAgent) ao principal service-PROJECT-NUMBER@gcp-sa-sourcemanager.iam.gserviceaccount.com. Caso contrário, a criação da instância vai falhar.

  3. Conceda o papel do IAM de Criptografador/Descriptografador de CryptoKey (roles/cloudkms.cryptoKeyEncrypterDecrypter) à conta de serviço do Secure Source Manager. Conceda essa permissão na chave que você criou.

    Console

    1. Acesse a página Gerenciamento de chaves.

      Vá para Gerenciamento de chaves

    2. Selecione o keyring que você quer usar, abra a página Detalhes do keyring e selecione a chave criada.

    3. Conceda acesso à conta de serviço do Secure Source Manager:

      1. Clique em ADICIONAR PRINCIPAL.
      2. Adicione a conta de serviço do Secure Source Manager. A conta de serviço é service-PROJECT-NUMBER@gcp-sa-sourcemanager.iam.gserviceaccount.com, em que PROJECT-NUMBER é o número do projeto do projeto Google Cloud em que o Secure Source Manager está ativado.
      3. Em Selecionar um papel, escolha Cloud KMS > Criptografador/descriptografador do Cloud KMS CryptoKey.
      4. Clique em SALVAR.
    4. Repita a etapa anterior para conceder acesso à conta que vai criar a instância do Secure Source Manager.

    5. Volte para a página Gerenciamento de chaves, selecione seu keyring e abra a página Detalhes do keyring. Em seguida, selecione a chave novamente.

    6. Selecione MOSTRAR PAINEL DE INFORMAÇÕES. Você vai encontrar os papéis na coluna Papel/Membro.

    gcloud

    1. Execute o comando a seguir para conceder acesso à conta de serviço do Secure Source Manager:

      gcloud kms keys add-iam-policy-binding [--project=PROJECT] \
             KEY_NAME --location LOCATION --keyring=KEY_RING \
             --member serviceAccount:service-PROJECT_NUMBER@gcp-sa-sourcemanager.iam.gserviceaccount.com \
             --role roles/cloudkms.cryptoKeyEncrypterDecrypter
      

      Substitua:

      • PROJECT: o ID do projeto que contém a chave
      • KEY_NAME: o nome da chave
      • LOCATION: a localização da chave. O local da chave precisa corresponder ao local do projeto em que você quer implantar uma instância do Secure Source Manager.
      • KEY_RING: é o nome do keyring
      • PROJECT_NUMBER: o número do projeto do projetoGoogle Cloud com o Secure Source Manager ativado.
    2. Repita a etapa anterior para conceder acesso à conta que vai criar a instância do Secure Source Manager.

    Para mais informações sobre esse comando, consulte a documentação gcloud kms keys add-iam-policy-binding.

Remover acesso

Há várias maneiras de remover o acesso de um repositório criptografado por CMEKs:

Recomendamos revogar as permissões da conta de serviço do Secure Source Manager antes de desativar ou destruir uma chave. As alterações de permissões são consistentes em segundos, então é possível observar os impactos da desativação ou da destruição de uma chave.

Ao desativar ou destruir a chave de criptografia de uma instância, você perde a capacidade de visualizar ou recuperar dados dela. Todos os dados armazenados na instância ficam inacessíveis, incluindo histórico de código, solicitações de pull e problemas.

Os usuários com os papéis de Administrador de instâncias do Secure Source Manager ou de Proprietário da instância podem excluir a instância.

Políticas da organização de CMEK

O Secure Source Manager é compatível com restrições de política da organização que podem exigir proteção da CMEK.

As políticas podem limitar quais CryptoKeys do Cloud KMS podem ser usadas para proteção com CMEK.

  • Quando a API Secure Source Manager está na lista de serviços da política Deny da restrição constraints/gcp.restrictNonCmekServices, o Secure Source Manager se recusa a criar novas instâncias que não estão protegidas por CMEK.

  • Quando constraints/gcp.restrictCmekCryptoKeyProjects é configurado, o Secure Source Manager cria instâncias protegidas por CMEK que são protegidas por uma CryptoKey de um projeto, pasta ou organização permitida.

Para mais informações sobre como configurar políticas da organização, consulte Políticas da organização de CMEK.

A seguir