Ajude a moldar o futuro da entrega de software e manifeste-se respondendo à pesquisa sobre o estado de DevOps 2202.

Conformidade do CMEK no Cloud Build

O Cloud Build fornece conformidade com chaves de criptografia gerenciadas pelo cliente (CMEK, na sigla em inglês) criptografando o disco permanente (PD, na sigla em inglês) no momento da criação com uma chave temporária gerada para cada versão. Nenhuma configuração é necessária. A chave é gerada exclusivamente para cada build.

Assim que o build é concluído, a chave é apagada da memória e destruída. Ele não é armazenado em nenhum lugar, não pode ser acessado por engenheiros do Google nem pela equipe de suporte e não pode ser restaurado. Os dados que foram protegidos usando essa chave estão permanentemente inacessíveis.

Como funciona a criptografia de chave efêmera?

O Cloud Build é compatível com o CMEK por meio do uso de chaves efêmeras, o que o torna totalmente consistente e compatível com uma configuração ativada para o CMEK.

O Cloud Build possibilita que os DPs de tempo de versão sejam criptografados com uma chave temporária deste modo:

  1. O Cloud Build gera uma métrica de uma chave de criptografia aleatória de 256 bits na RAM local para criptografar cada disco permanente de tempo de versão.

  2. O recurso de chave de criptografia fornecida pelo cliente (CSEK) do DP torna possível que o Cloud Build use essa nova chave de criptografia como uma chave de criptografia de DP.

  3. Imediatamente após iniciar a versão, o Cloud Build apaga a chave efêmera gerada para a versão a partir da RAM local. A chave nunca é registrada nem gravada em armazenamento persistente e, assim, é irrecuperável.

  4. Quando a versão é concluída, o disco permanente é excluído. Nesse ponto, não há rastros da chave nem dos dados do DP criptografados em nenhum lugar na infraestrutura do Google.

Quando a criptografia de chave efêmera não se aplica?

A criptografia de chave efêmera não se aplica nos seguintes cenários:

  • Quando você cria ou aciona um build usando o espelhamento de origem, e não os gatilhos de app GitHub, o código-fonte é armazenado no Cloud Storage ou no Cloud Source Repositories. Você tem controle total sobre o local de armazenamento do código, incluindo o controle sobre sua criptografia.

  • Ao especificar seu próprio bucket de registros de versão do Cloud Build e fornecer um bucket de registros criptografados, você precisa desativar o registro do Stackdriver e, depois, desativar a opção de fluxo de registro do Cloud Build, como descrito em BuildOptions.

  • Quando você aciona uma versão a partir do aplicativo GitHub do Cloud Build, isso extrai o código-fonte do GitHub, cria um bucket de armazenamento com TTL de objeto de um dia e deposita o código nesse bucket. Você não tem acesso nem controle sobre esse bucket.

  • Quando você reside em uma região geográfica afetada por restrições locais de criptografia, como Brasil ou Índia, o Cloud Build não pode aplicar criptografia de chave efêmera aos DPs.