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:
- Desativar ou destruir a versão de chave em uso. Seja cuidado ao destruir uma versão de chave, porque essa podem causar perdas de dados irrecuperáveis.
- Removendo permissão para acessar a chave da conta de serviço do Firestore.
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.