Como usar chaves de criptografia gerenciadas pelo cliente

O Container Registry armazena imagens de contêiner no Cloud Storage. O Cloud Storage sempre criptografa os dados no servidor.

Se você tiver requisitos regulatórios ou de conformidade, poderá criptografar suas imagens de contêiner usando chaves de criptografia gerenciadas pelo cliente (CMEK). As chaves CMEK são gerenciadas no Cloud Key Management Service. Ao usar o CMEK, você pode desativar temporariamente ou permanentemente o acesso a uma imagem de contêiner criptografada desativando ou destruindo a chave.

Restrições das políticas da organização

As restrições da política da organização podem afetar o uso do Container Registry quando se aplicam aos serviços usados pelo Container Registry.

Restrições para buckets de armazenamento

  • Quando a API Cloud Storage está na lista de políticas Deny da restrição constraints/gcp.restrictNonCmekServices, não é possível enviar imagens para o Container Registry. O Container Registry não usa a CMEK para criar buckets de armazenamento quando a primeira imagem é enviada a um host. Não é possível criar os buckets de armazenamento manualmente.

    Se você precisar aplicar essa restrição de política da organização, considere hospedar suas imagens no Artifact Registry. É possível criar manualmente repositórios no Artifact Registry que aceitam solicitações para o domínio gcr.io para que você possa continuar usando os fluxos de trabalho de imagem de contêiner atuais. Para mais detalhes, consulte Transição para repositórios com suporte ao domínio gcr.io.

  • Quando constraints/gcp.restrictCmekCryptoKeyProjects está configurado, os buckets de armazenamento precisam ser criptografados com uma CryptoKey de um projeto, uma pasta ou uma organização permitida. Os novos buckets usarão a chave configurada, mas os buckets atuais que não forem compatíveis precisarão ser configurados para usar a chave necessária por padrão.

Para mais informações sobre como as restrições se aplicam aos buckets do Cloud Storage, consulte a documentação do Cloud Storage sobre restrições.

Restrições para tópicos do Pub/Sub

Quando você ativa a API Container Registry em um projeto do Google Cloud, o Container Registry tenta criar automaticamente um tópico do Pub/Sub com o ID de tópico gcr usando chaves de criptografia gerenciadas pelo Google.

Quando a API Pub/Sub está na lista de políticas Deny para a restrição constraints/gcp.restrictNonCmekServices, os tópicos precisam ser criptografados com a CMEK. As solicitações para criar um tópico sem a criptografia CMEK vão falhar.

Para criar o tópico gcr com criptografia CMEK, consulte as instruções do Pub/Sub para criptografia de tópicos.

Como configurar buckets para usar CMEKs

O Container Registry não está integrado diretamente ao Cloud KMS. Em vez disso, ele é compatível com CMEK quando você armazena suas imagens de contêiner em intervalos de armazenamento configurados para usar CMEK.

  1. Se você não tiver feito isso, envie uma imagem para o Container Registry. O intervalo de armazenamento ainda não usa uma chave CMEK.

  2. No Cloud Storage, configure o intervalo de armazenamento para usar a chave CMEK.

O nome do bucket de um host de registro tem um dos seguintes formatos:

  • artifacts.PROJECT-ID.appspot.com para imagens armazenadas no host gcr.io
  • STORAGE-REGION.artifacts.PROJECT-ID.appspot.com para imagens armazenadas em asia.gcr.io, eu.gcr.io ou us.gcr.io.

A seguir