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 da política da organização

As restrições na política da organização podem afetar o uso do Container Registry quando se aplicam a serviços que ele usa.

Restrições para buckets de armazenamento

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

    Se você precisar aplicar essa restrição da política da organização, hospede suas imagens no Artifact Registry. É possível criar manualmente repositórios no Artifact Registry que ofereçam suporte a solicitações para o domínio gcr.io para continuar usando os fluxos de trabalho de imagens de contêiner atuais. Para 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, pasta ou organização permitidos. Os novos buckets vão usar a chave configurada, mas os buckets existentes que não são compatíveis precisam ser configurados para usar a chave necessária por padrão.

Para mais informações sobre como as restrições são aplicadas 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, ela tenta criar automaticamente um tópico do Pub/Sub com o ID gcr usando chaves de criptografia gerenciadas pelo Google.

Quando a API Pub/Sub está na lista de políticas Deny da restrição constraints/gcp.restrictNonCmekServices, os tópicos precisam ser criptografados com o 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 criptografar tópicos.

Como configurar buckets para usar o CMEK

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 destes 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