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

Por padrão, todos os dados em repouso no Firestore no modo Datastore são criptografados com Criptografia padrão do Google. O Firestore no modo Datastore gerencia 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) Firestore no modo Datastore. Em vez de deixar o gerenciamento das chaves de criptografia seus dados, o Firestore no banco de dados do modo Datastore é protegido por uma chave que você controlar e gerenciar no Cloud Key Management Service (Cloud KMS).

Nesta página, descrevemos a CMEK para o Firestore no modo Datastore. 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 no modo Datastore, consulte Usar a CMEK.

Recursos

  • Controle de dados: a CMEK permite que você gerencie o acesso à chave do KMS. Você pode alternar, desativar e destruir a chave usada para criptografar os dados em repouso no o Firestore no banco de dados no modo Datastore.
  • Desempenho: a CMEK não afeta o SLA do Firestore.
  • Auditoria: se você ativar a geração de registros de auditoria do Cloud KMS; todas as operações na chave são registradas e ficam visí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 com criptografia para o Firestore em bancos de dados no modo Datastore 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ê será cobrado pelos custos de operação quando o Firestore no modo Datastore solicitar Chave do Cloud KMS para executar uma operação de criptografia ou descriptografia. A criptografia/descriptografia não está sincronizada com a solicitação. Isso é feito a cada 5 minutos pesquisando o Cloud KMS. Os custos geralmente são baixos, número esperado de operações criptográficas geradas pelo Firestore no modo Datastore. 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 extras do Firestore no modo Datastore para usar um banco de dados protegido por CMEK e os preços do Firestore no modo Datastore continuam aplicáveis.

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á adiado 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 chaves são consideradas indisponíveis em qualquer situação que proíba intencionalmente o Firestore acesse a chave. Isso inclui:

Se a chave for restabelecida, a operação de pesquisa detectará que a chave foi disponível novamente. O acesso é reativado em alguns minutos, mas pode levar algum tempo 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.

O restabelecimento de uma chave envolve o seguinte, dependendo da situação:

  • Reativando uma versão de chave desativada.
  • Restaurar uma versão de chave destruída. Antes de ser permanentemente destruída, uma versão de chave é programada para destruição. Só é possível restaurar uma chave durante o período em que ela está programado para destruição. Não é possível restaurar uma chave que já foi permanentemente destruídos.
  • Renovando o 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 no modo Datastore continuará a suporte a operações completas do banco de dados usando uma versão armazenada em cache da chave, por até uma hora.

Após uma hora, se o Firestore no modo Datastore ainda não conseguir se conectar com Cloud KMS, o Firestore no modo Datastore 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 pela 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.
  • Suporte a bancos de dados protegidos pelo CMEK Key Visualizer apenas para entidades e dados de 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