Este documento descreve como usar chaves de criptografia gerenciadas pelo cliente (CMEK) no Cloud Key Management Service (Cloud KMS) para suas instâncias do Memorystore para Valkey. O documento também descreve quais dados são criptografados no armazenamento permanente e como as instâncias se comportam durante os principais eventos do ciclo de vida.
Com a CMEK, você controla as chaves criptográficas que protegem seus dados armazenados. Ao gerenciar suas próprias chaves no Cloud KMS, você tem mais controle sobre o acesso, a rotação e o uso das chaves, o que ajuda a atender a requisitos regulamentares e de compliance rigorosos.
A implementação da CMEK oferece uma camada extra de segurança e controle sobre seus dados permanentes, como backups e arquivos de persistência. Só é possível ativar a CMEK em novas instâncias. Não é possível aplicar a CMEK a instâncias atuais.
Quem deve usar a CMEK?
A CMEK é destinada a organizações com dados sensíveis ou regulamentados que precisam de controle sobre as próprias chaves de criptografia. Para mais informações sobre se é necessário usar a CMEK para criptografar esses dados, consulte Decidir se você quer usar a CMEK.
Criptografia gerenciada pelo cliente
Com a CMEK, você usa suas chaves criptográficas para proteger os dados armazenados em instâncias do Memorystore para Valkey. Para criptografar esses dados, o Memorystore para Valkey usa chaves de criptografia de dados (DEKs) gerenciadas pelo Google e chaves de criptografia de chaves (KEKs) gerenciadas pelo cliente.
Você pode ter os seguintes níveis de criptografia:
- Criptografia de DEK: as DEKs criptografam dados no Memorystore for Valkey.
- Criptografia KEK: as KEKs criptografam as DEKs.
O Memorystore para Valkey usa KEKs para criptografar DEKs e DEKs para criptografar os dados armazenados. Se você usa a CMEK, é possível gerenciar as KEKs que criptografam as DEKs na sua instância.
O diagrama a seguir mostra como uma instância usa a CMEK para criptografar dados. Os dados enviados para a infraestrutura de armazenamento do Google são divididos em blocos, e cada bloco é criptografado com uma DEK própria. O Cloud KMS fornece a KEK para criptografar as DEKs, e a infraestrutura de armazenamento do Google distribui os blocos de dados criptografados e as DEKs criptografadas pelo sistema.
O diagrama a seguir mostra como o Memorystore for Valkey descriptografa dados criptografados com CMEK. Para acessar esses dados criptografados, o Memorystore for Valkey envia uma solicitação ao Cloud KMS, que gerencia a KEK, para descriptografar a DEK. Em seguida, o Cloud KMS retorna a DEK descriptografada, que a instância usa para descriptografar os dados armazenados.

Quais dados são criptografados com a CMEK?
A CMEK criptografa os seguintes tipos de dados do cliente armazenados em armazenamento permanente:
- Backups: permitem recuperar seus dados para um determinado momento, além de exportá-los e analisá-los. Os backups também são úteis para recuperação de desastres, migração e compartilhamento de dados e cenários de compliance.
- Persistência:
O Memorystore for Valkey oferece suporte a dois tipos de persistência:
- Persistência de RDB: salve snapshots dos seus dados em armazenamento durável.
- Persistência AOF: armazena dados de forma durável gravando todos os comandos de gravação em um arquivo de registro chamado Append-Only File (AOF). Se ocorrer uma falha ou reinicialização do sistema, o servidor vai reproduzir os comandos do arquivo AOF em sequência para restaurar os dados.
- Metadados relacionados a recursos de segurança, como autenticação básica baseada em token e criptografia em trânsito. Para mais informações, consulte Proteger o acesso às instâncias usando a autenticação básica baseada em token e Sobre a criptografia em trânsito.
Componentes da CMEK
As seções a seguir descrevem os requisitos e comportamentos das contas de serviço, chaves criptográficas, versões de chaves e políticas da organização que compõem sua arquitetura de CMEK.
Contas de serviço
Para criar uma instância com CMEK ativado, conceda o papel
roles/cloudkms.cryptoKeyEncrypterDecrypter à conta de serviço do Memorystore para Valkey
que usa o seguinte formato:
service-PROJECT_NUMBER@gcp-sa-memorystore.iam.gserviceaccount.com
Ao conceder essa permissão, a conta de serviço pode solicitar acesso à chave do Cloud KMS.
Chaves
No Cloud KMS, é preciso criar um keyring e uma chave criptográfica que use um algoritmo de criptografia simétrica. Ao criar uma instância do Memorystore para Valkey, você seleciona essa chave para criptografar a instância. É possível criar um projeto para as chaves e instâncias ou projetos diferentes para cada uma delas.
A CMEK está disponível em todos os locais de instância do Memorystore para Valkey. Crie o keyring e a chave na mesma região em que você quer criar a instância. Para uma instância multirregional, defina o keyring e a chave no mesmo local da instância. Se as regiões ou locais não corresponderem, uma solicitação para criar a instância vai falhar.
Para o ID do recurso da chave, a CMEK usa o seguinte formato:
projects/CMEK_ENABLED_PROJECT/locations/REGION/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME
Para mais informações sobre como encontrar os IDs de recursos de chaves atuais, consulte Como conseguir um ID de recurso do Cloud KMS.
Chaves externas
Como parte da sua estratégia de CMEK, você pode usar chaves externas. Para isso, use o Cloud External Key Manager (Cloud EKM) para criptografar dados no Google Cloud usando chaves externas que você gerencia.
Quando você usa uma chave do Cloud EKM, o Google não tem controle sobre a disponibilidade das suas chaves gerenciadas externamente. Se uma chave não estiver disponível quando você criar a instância, o Memorystore for Valkey não vai criar a instância. Além disso, se a chave externa ficar indisponível a qualquer momento depois que você criar a instância, o Memorystore for Valkey vai desativar os backups e a persistência, mas as operações regulares de cache na memória vão continuar atendendo ao tráfego.
Para mais considerações sobre o uso de chaves externas, consulte Considerações.
Versões de chave
O Cloud KMS armazena o material da chave criptográfica que você usa para criptografar e descriptografar seus dados em uma versão de chave. Uma única chave pode conter várias versões. Sempre que você faz a rotação de uma chave, cria uma versão dela.
As seções a seguir descrevem como as instâncias e os dados protegidos se comportam durante eventos importantes do ciclo de vida, como desativar, destruir, girar, ativar ou restaurar versões de chaves. As seções também explicam o impacto de revogar o acesso ou substituir uma chave do Cloud KMS e fornecem orientações sobre a recriptografia manual de dados.
Como desativar ou destruir uma versão de chave CMEK
Pode haver casos em que você precise tornar os dados criptografados com CMEK permanentemente inacessíveis, como ao corrigir um vazamento de dados. Para conseguir essa destruição de dados de alta segurança (também conhecida como criptofragmentação), destrua a versão da chave. Para mais informações sobre como destruir versões de chave, consulte Destruir e restaurar versões de chave.
Se você desativar ou destruir a versão chave primária da chave, as seguintes condições serão aplicadas aos backups e à persistência.
Backups
Quando você destrói a versão da chave primária, as seguintes restrições se aplicam aos backups da instância:
- Não é possível criar backups sob demanda ou automáticos. No entanto, se você ativar uma versão de chave mais antiga, poderá acessar todos os backups criados com essa versão.
- Não é possível atualizar ou reativar os backups automáticos até que você ative ou restaure a versão da chave primária. Para mais informações, consulte Ativar ou restaurar a versão principal da chave CMEK.
Persistência
Quando você destrói a versão da chave primária, as seguintes restrições se aplicam à persistência da sua instância:
- Se você configurar sua instância para usar a persistência, a Memorystore para Valkey desativará a persistência quando a versão da chave ficar indisponível. Você não será mais cobrado pelo uso da persistência.
- O Memorystore para Valkey não libera novos dados para armazenamento permanente usando a CMEK.
- O Memorystore para Valkey não consegue ler dados atuais presentes no armazenamento permanente.
- Não é possível atualizar ou reativar a persistência até que a versão da chave primária seja ativada ou restaurada.
Se você ativar a versão da chave primária, mas desativar ou destruir uma versão mais antiga, as seguintes condições serão aplicadas aos backups e à persistência:
- Você pode criar backups. No entanto, se um backup for criptografado com uma versão mais antiga da chave que estiver desativada ou destruída, ele vai permanecer inacessível.
- Se você ativar a persistência, ela vai continuar ativada. Se a versão mais antiga da chave usada na persistência for desativada ou destruída, o Memorystore for Valkey fará uma atualização semelhante à usada na manutenção e criptografará novamente os dados com a versão da chave primária.
Como revogar o acesso a uma chave do Cloud KMS
Se você revogar o acesso a uma chave ativa do Cloud KMS desativando a chave ou removendo as permissões do IAM, o Memorystore para Valkey vai priorizar a disponibilidade do cache principal. As operações regulares de armazenamento em cache na memória continuam atendendo ao tráfego.
No entanto, os backups e a persistência são desativados. O Memorystore for Valkey para imediatamente de gravar novos dados no disco e não lê dados do disco criptografado pelo cliente na memória.
Rotação da versão principal da chave CMEK
Se você fizer a rotação da versão da chave primária e criar uma nova versão da chave primária, as seguintes condições serão aplicadas aos backups e à persistência:
- A versão mais recente da chave primária da CMEK criptografa novos backups.
- Para backups atuais, não é feita uma nova criptografia.
- Para persistência, os nós não fazem nada. Os nós continuam usando a versão mais antiga da chave até o próximo evento de manutenção.
Recriptografar manualmente dados protegidos por CMEK
O Memorystore para Valkey não oferece suporte à reencriptação sob demanda de dados armazenados. Não é possível acionar um processo manualmente para usar uma nova versão da chave e reencriptar backups ou arquivos de persistência ativos. No entanto, é possível usar a nova versão da chave para criptografar dados recém-gravados.
Se você girar uma chave e precisar forçar uma instância a usar a nova versão da chave, as seguintes condições serão aplicadas a backups e persistência:
Backups
Não é possível reencriptar backups atuais. Se a compliance exigir que todos os dados sejam criptografados com a chave mais recente, crie um backup que use essa chave e exclua os backups atuais manualmente. Também é possível exportar esse backup para um bucket do Cloud Storage para usar a chave de criptografia do Cloud Storage.
Persistência
Para forçar a instância a usar uma nova chave do Cloud KMS, execute uma manutenção simulada nela. Depois de concluir essa operação, o Memorystore para Valkey poderá gravar dados de persistência usando a versão atualizada da chave primária.
Substituir uma chave protegida do Cloud KMS
Se você substituir uma chave protegida do Cloud KMS por uma chave diferente ou uma nova versão da chave primária, o Memorystore para Valkey vai aplicar essa mudança apenas a operações futuras.
A substituição de uma chave protegida afeta seus recursos das seguintes maneiras:
- Backups: todos os backups subsequentes são criptografados usando a nova chave. Os backups atuais mantêm as chaves originais.
- Permanência: na próxima vez que a instância for reiniciada ou tiver um evento de manutenção, a nova chave será usada.
- Cache principal: substituir essa chave não tem impacto. A CMEK não criptografa dados na memória porque eles não são considerados armazenados.
Ativar ou restaurar a versão principal da chave CMEK
Se você ativar ou restaurar a versão da chave primária, as seguintes condições serão aplicadas a backups e persistência:
- Você pode criar backups sob demanda e automáticos novamente.
- O Memorystore for Valkey realiza uma atualização semelhante à usada na manutenção e reativa a persistência.
Restrições da política da organização
O Memorystore para Valkey aceita restrições de política da organização para CMEK. Ao usar essas restrições, é possível aplicar a proteção CMEK às instâncias e limitar quais chaves do Cloud KMS podem ser usadas para essa proteção.
É possível configurar as seguintes restrições de política da organização:
constraints/gcp.restrictNonCmekServices: use essa restrição para aplicar a proteção da CMEK às suas instâncias. Se a API Memorystore for Valkey estiver na lista de serviços da políticaDenypara essa restrição, não será possível criar instâncias não protegidas por CMEK.constraints/gcp.restrictCmekCryptoKeyProjects: use essa restrição para limitar quais chaves do Cloud KMS podem ser usadas para proteção por CMEK. Se você configurar essa restrição, as instâncias que usam a criptografia CMEK precisarão usar uma chave de um projeto, uma pasta ou uma organização permitida.
Para mais informações sobre as restrições da política da organização relacionadas à CMEK que o Google gerencia para o Memorystore for Valkey, consulte Restrições da política da organização.
Preços
O Memorystore para Valkey fatura uma instância ativada para CMEK como qualquer outra instância. Não há custos adicionais. Para mais informações, consulte Preços do Memorystore for Valkey.
Você usa a API Cloud KMS para gerenciar a CMEK. Quando você cria uma instância do Memorystore para Valkey com CMEK, o Memorystore usa a chave periodicamente para criptografar dados.
Você recebe cobranças do Cloud KMS pelo custo da chave e pelas operações de criptografia e descriptografia quando o Memorystore para Valkey usa a chave. Para mais informações, consulte os preços do Cloud KMS.
Limitações
As seguintes limitações se aplicam ao usar a CMEK com o Memorystore para Valkey:
- Não é possível ativar a CMEK em uma instância atual do Memorystore para Valkey.
- A chave, o keyring e a instância precisam estar na mesma região.
- Você precisa usar o algoritmo de criptografia simétrica para sua chave.
- As taxas de criptografia e descriptografia do Cloud KMS estão sujeitas a uma cota.
A seguir
- Saiba mais sobre o CMEK.
- Saiba como melhorar a segurança de dados usando a CMEK.
- Saiba mais sobre backups.
- Saiba mais sobre persistência.