Este guia descreve o uso da CMEK para o Dataform e mostra como ativar a criptografia CMEK dos repositórios do Dataform.
Por padrão, o Dataform criptografa o conteúdo do cliente em repouso. O Dataform 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, como o Dataform. 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. Ao usar o Cloud KMS, é possível também monitorar o uso de chaves, ver registros de auditoria e controlar ciclos de vida de chaves. Em vez de o Google ser proprietário e responsável pelo gerenciamento das 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 Dataform é semelhante à criptografia padrão do Google. Para saber mais sobre suas opções de criptografia, consulte Chaves de criptografia gerenciadas pelo cliente (CMEK).
Criptografia CMEK de dados do repositório
Quando você aplica a criptografia CMEK a um repositório do Dataform, todos os dados do cliente gerenciados pelo Dataform nesse repositório são criptografados em repouso usando a chave de proteção CMEK definida para o repositório. Isso inclui o seguinte:
- Conteúdo do repositório Git do Dataform e dos espaços de trabalho dele
- Consultas SQL compiladas e erros de compilação
- Consultas SQL armazenadas de ações de fluxo de trabalho
- Detalhes do erro das ações de fluxo de trabalho executadas
O Dataform usa chaves de proteção CMEK nos seguintes cenários:
- Durante todas as operações que exigem a descriptografia de dados do cliente armazenados em repouso.
Essas operações incluem, entre outras:
- Respostas a uma consulta do usuário, por exemplo,
compilationResults.query. - Criação de recursos do Dataform que exigem dados de repositório criptografados criados anteriormente, por exemplo, invocações de fluxo de trabalho.
- Operações do Git para atualizar o repositório remoto, por exemplo, enviar um commit do Git.
- Respostas a uma consulta do usuário, por exemplo,
- Durante todas as operações que exigem o armazenamento de dados do cliente em repouso.
Essas operações incluem, entre outras, as seguintes:
- Respostas a uma consulta do usuário, por exemplo,
compilationResults.create. - Operações do Git em um espaço de trabalho, por exemplo, extrair um commit do Git.
- Respostas a uma consulta do usuário, por exemplo,
O Dataform gerencia a criptografia de dados do cliente associados apenas a recursos do Dataform. O Dataform não gerencia a criptografia de dados do cliente criados no BigQuery pela execução de fluxos de trabalho do Dataform. Para criptografar dados criados e armazenados no BigQuery, configure a CMEK para o BigQuery.
Chaves compatíveis
O Dataform é compatível com os seguintes tipos de chaves CMEK:
- Chaves de software do Cloud KMS
- Chaves do módulo de segurança de hardware (HSM) do Cloud
- Chaves do Cloud External Key Manager (Cloud EKM)
A disponibilidade da chave varia de acordo com o tipo e a região. Para mais informações sobre a disponibilidade geográfica das chaves CMEK, consulte Locais do Cloud KMS.
Restrições
O Dataform é compatível com a CMEK, mas com as seguintes restrições:
- O tamanho máximo de um repositório criptografado com CMEK é de 512 MB.
- O tamanho máximo de um espaço de trabalho em um repositório criptografado com CMEK é de 512 MB.
- Não é possível aplicar uma chave de proteção CMEK a um repositório depois que ele foi criado. Só é possível aplicar a criptografia CMEK durante a criação do repositório.
- Não é possível remover uma chave de proteção CMEK de um repositório.
- Não é possível mudar uma chave de proteção CMEK de um repositório.
- Se você definir uma chave CMEK padrão do Dataform para seu projeto Google Cloud , todos os novos repositórios criados no local do projeto Google Cloud precisarão ser criptografados com a CMEK. Ao criar um repositório no local do projeto Google Cloud , é possível aplicar a chave CMEK padrão do Dataform ou outra chave CMEK, mas não é possível aplicar a criptografia padrão em repouso.
- Se você mudar o valor de uma chave CMEK padrão do Dataform, o valor anterior será aplicado aos repositórios preexistentes, e o valor atualizado será aplicado aos repositórios criados após a mudança.
- É possível definir apenas uma chave CMEK padrão do Dataform por localização dos repositórios de projetos do Google Cloud .