Chaves de criptografia gerenciadas pelo cliente (CMEK, na sigla em inglês)

Por padrão, todos os dados em repouso no Firestore são criptografados com Criptografia padrão do Google. O Firestore processa e gerencia essa criptografia para você sem que você precise fazer nada.

Se você tem requisitos regulatórios ou de compliance específicos relacionados às chaves que protegem seus dados, é possível usar chaves de criptografia gerenciadas pelo cliente (CMEK) o Firestore. Em vez de deixar o gerenciamento das chaves de criptografia seus dados, o banco de dados do Firestore é protegido usando uma chave que você controlar e gerenciar no Cloud Key Management Service (Cloud KMS).

Esta página descreve o CMEK para o Firestore. Para mais informações sobre a CMEK em geral, incluindo quando e por que ativá-lo, consulte o Documentação do Cloud KMS. Para instruções sobre como realizar Tarefas relacionadas à CMEK com o Firestore, consulte Usar a CMEK.

Recursos

  • Controle de dados: a CMEK permite gerenciar o acesso à chave do KMS. Você pode alternar, desativar e destruir a chave usada para criptografar os dados em repouso no banco de dados do Firestore.
  • Desempenho: a CMEK não afeta o SLA do Firestore.
  • Auditabilidade: se você ativar a geração de registros de auditoria para o Cloud KMS, todas as operações na chave serão registradas e visualizáveis no Cloud Logging.
  • Restrições da política da organização: você pode usar Restrições da política da organização de CMEK para especificar requisitos de conformidade de criptografia para bancos de dados do Firestore na sua organização.

Preços

O Cloud KMS cobra pelo custo da chave e de todas as operações criptográficas executadas usando essa chave. Consulte Preços do Cloud KMS para detalhes.

Você recebe cobranças pelos custos de operação quando o Firestore solicita Chave do Cloud KMS para executar uma operação de criptografia ou descriptografia. A criptografia/descriptografia não está sincronizada com sua solicitação. Isso é feito a cada 5 minutos pesquisando o Cloud KMS. Os custos geralmente são baixos, dada a número esperado de operações criptográficas geradas pelo Firestore. Custos dos Registros de auditoria do Cloud são uma despesa, mas também devem ser geralmente baixa, dado o número esperado de operações criptográficas.

Não há custos adicionais do Firestore para usar um banco de dados protegido pelo CMEK e os preços do Firestore continuam valendo.

Se você revogar a chave de um banco de dados, o custo de armazenamento será cobrado com base do último dia em que a chave esteve disponível. Você continuará a receber custos de armazenamento nesse tamanho de banco de dados até que o banco de dados seja excluído ou a chave estará disponível novamente.

O que é protegido com a CMEK

Quando você cria um banco de dados do Firestore protegido pela CMEK, sua chave do Cloud KMS é usada para proteger os dados em repouso. Isso inclui os dados armazenados em disco ou flash. Veja a seguir algumas exceções. Os seguintes tipos de dados são criptografados com o Google criptografia padrão e não pela chave CMEK:

  • Dados em trânsito ou memória
  • Metadados do banco de dados

Como um status de chave indisponível é tratado

As operações de criptografia e descriptografia não são emitidas em todas as solicitações de dados. Em vez disso, o sistema do Firestore pesquisa o Cloud Key Management Service a cada cinco minutos para verificar se ainda está disponível e executa operações de criptografia e descriptografia se está disponível. Se o sistema detectar que a chave está indisponível, dentro de 10 minutos, todas as chamadas subsequentes para o banco de dados do Firestore, incluindo leituras, gravações e consultas, retorna um erro FAILED_PRECONDITION com a mensagem The customer-managed encryption key required by the requested resource is not accessible. Se o banco de dados tiver políticas de time to live (TTL), e se houver algum prazo forem excedidos enquanto a chave estiver indisponível, exclusão de dados por TTL será atrasado até que a chave seja restabelecida. Se o banco de dados tiver um período operações em andamento, elas serão afetadas da seguinte forma:

  • As operações de import ou exportação de dados deixarão de ser o progresso e ser marcada como Failed. As operações com falha não serão outra nova tentativa se a chave for restabelecida.
  • Operações de criação de índice e operações para ativar novos TTL políticas não vão mais progredir. As operações interrompidas se a chave for restabelecida.

As chaves são consideradas indisponíveis em qualquer situação que proíba intencionalmente o Firestore não pode acessar a chave. Isso inclui:

Se a chave for restabelecida, a operação de pesquisa detectará que ela está disponível novamente. O acesso é reativado, geralmente em alguns minutos, mas pode levar até algumas horas em casos raros. Algumas operações no Cloud KMS como desativar ou destruir uma chave, podem levar até 3 horas para propagar. O Firestore não detectar alterações até que elas entrem em vigor no Cloud KMS.

A restauração de uma chave envolve as seguintes etapas, dependendo da situação:

  • Reativando uma versão de chave desativada.
  • Restaure uma versão de chave destruída. Antes de ser destruída permanentemente, uma versão de chave é programada para destruição. Só é possível restaurar uma chave durante o período em que uma versão de chave está programada para destruição. Não é possível restaurar uma chave que já foi permanentemente destruídos.
  • Conceder novamente a permissão do agente de serviço do Firestore para acessar a chave.

Considerações sobre chaves externas

Quando você usa uma chave do Cloud EKM, o Google não tem controle sobre a disponibilidade da sua chave gerenciada externamente no sistema de parceiros de gerenciamento de chaves externas.

Se uma chave gerenciada externamente não estiver disponível, o Firestore continuará suporte a operações completas do banco de dados usando uma versão armazenada em cache da chave, por até uma hora.

Depois de uma hora, se o Firestore ainda não conseguir se conectar com Cloud KMS, o Firestore começa a deixar o banco de dados off-line como medida de proteção. As chamadas para o banco de dados falharão com um FAILED_PRECONDITION que inclui detalhes adicionais.

Consulte a documentação do gerenciador de chaves externas do Cloud para mais considerações ao usar chaves externas.

Limitações

  • Não é possível alterar a chave de um banco de dados protegido pelo CMEK. rotação de chaves para ativação e desativação.
  • Programações de backup e operações de restauração não têm suporte em recursos protegidos pelo CMEK bancos de dados. Você pode usar a recuperação pontual (PITR, na sigla em inglês) para recuperação de desastres.
  • Os bancos de dados protegidos por CMEK oferecem suporte ao Visualizador de chaves apenas para dados de entidade e documento, não para dados de índice.
  • Não é possível ativar a CMEK nos bancos de dados atuais. Só é possível ativar a CMEK novos bancos de dados e você precisa ativá-los ao criar o banco de dados. Para migrar dados de um banco de dados não CMEK atual para um banco de dados protegido por CMEK; exportar e importar dados para um novo banco de dados protegido pelo CMEK.
  • O rastreamento de chaves não é compatível com o banco de dados protegido pelo CMEK.
  • Durante a pré-visualização, o Firestore vai aceitar um número limitado de bancos de dados protegidos pelo CMEK.

A seguir