Nesta página, descrevemos como as chaves de criptografia gerenciadas pelo cliente (CMEK) funcionam com o cluster do Memorystore para Redis. Para usar esse recurso imediatamente, consulte Usar chaves de criptografia gerenciadas pelo cliente (CMEK).
Quem deve usar a CMEK?
A CMEK é destinada a organizações com dados sensíveis ou regulamentados que exigem o gerenciamento das próprias chaves de criptografia.
Criptografia gerenciada pelo Google e criptografia gerenciada pelo cliente
Com o recurso de CMEK, você usa as próprias chaves criptográficas nos dados em repouso no Memorystore para Redis Cluster. Para instâncias do Memorystore para Redis Cluster habilitadas para CMEK, o Google usa suas chaves para acessar todos os dados em repouso.
O Memorystore usa chaves de criptografia de dados (DEK) e chaves de criptografia de chaves (KEK) gerenciadas pelo Google para criptografar dados no Memorystore para Redis Cluster. Há dois níveis de criptografia:
- Criptografia de DEK:o Memorystore usa DEKs para criptografar dados no Memorystore para Redis Cluster.
- Criptografia de KEK:o Memorystore usa KEKs para criptografar DEKs.
A instância do Memorystore para Redis Cluster armazena a DEK criptografada com os dados criptografados no disco, e o Google gerencia a KEK. Com a CMEK, você cria uma chave que encapsula a KEK do Google. Com a CMEK, você pode criar, desativar ou destruir, fazer rotação e ativar ou restaurar a KEK.
Os diagramas a seguir mostram como a criptografia de dados em repouso funciona em uma instância do cluster do Memorystore para Redis ao usar a criptografia padrão gerenciada pelo Google em comparação com a CMEK.
Sem CMEK
Com a CMEK
Ao descriptografar dados encapsulados com CMEK, o Memorystore usa a KEK do Cloud Key Management Service para descriptografar a DEK e a DEK não criptografada para descriptografar dados em repouso.
Preços
O Memorystore for Redis Cluster fatura um cluster ativado para CMEK da mesma forma que qualquer outro cluster. Não há custos adicionais. Para mais informações, consulte os preços do Memorystore para Redis Cluster.
Você usa a API Cloud KMS para gerenciar a CMEK. Quando você cria uma instância do cluster do Memorystore para Redis com CMEK, o Memorystore usa a chave periodicamente para criptografar dados e garantir que as permissões da chave estejam corretas e que ela esteja ativada.
Você recebe cobranças do Cloud KMS pelo custo da chave e pelas operações de criptografia e descriptografia quando o Memorystore para Redis Cluster usa a chave. Para mais informações, consulte os preços do Cloud KMS.
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 ponto no tempo, além de exportar e analisar dados. Os backups também são úteis para recuperação de desastres, migração e compartilhamento de dados, além de cenários de compliance.
- Persistência: o Memorystore para Redis Cluster oferece suporte a dois tipos de persistência:
- Persistência de RDB:o recurso de banco de dados do Redis (RDB) protege seus dados salvando snapshots deles em um armazenamento durável.
- Persistência de AOF:esse recurso prioriza a durabilidade dos dados. Ele 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 sequencialmente para restaurar seus dados.
Sobre contas de serviço
Ao criar uma instância com a CMEK, conceda o papel cloudkms.cryptoKeyEncrypterDecrypter à conta de serviço do cluster do Memorystore para Redis, que tem o seguinte formato:
service-[PROJECT_NUMBER]@cloud-redis.iam.gserviceaccount.com
Ao conceder essa permissão, a conta de serviço pode solicitar acesso à chave do Cloud KMS.
Para instruções sobre como conceder essa permissão à conta de serviço, consulte Conceder à conta de serviço do cluster do Memorystore para Redis acesso à chave.
Sobre as chaves
No Cloud KMS, é preciso criar um keyring com uma chave criptográfica que use um algoritmo de criptografia simétrica. Ao criar uma instância do Memorystore para Redis Cluster, 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.
O CMEK está disponível em todos os locais de instância do Memorystore for Redis Cluster. Defina a região da chave e do keyring como a mesma região da instância. Uma chave de região global ou multirregional não funciona. Se as regiões não forem correspondentes, a solicitação para criar uma instância vai falhar.
A CMEK usa o seguinte formato:
projects/[CMEK_ENABLED_PROJECT]/locations/[REGION]/keyRings/[KEY_RING_NAME]/cryptoKeys/[KEY_NAME]
Como tornar os dados criptografados com CMEK permanentemente inacessíveis?
Pode haver casos em que você precise destruir permanentemente os dados criptografados com CMEK. Para isso, destrua a versão da chave. Não é possível destruir o keyring ou a chave, mas você pode destruir as versões da chave.
Comportamento de uma versão de chave CMEK
Esta seção fornece informações sobre o que acontece quando você desativa, destrói, faz a rotação, ativa e restaura uma versão de chave.
Desativar ou destruir uma versão de chave CMEK
Se você desativar ou destruir a versão da chave primária da CMEK, as seguintes condições serão aplicadas a backups e persistência.
Backups
- Não é possível criar backups sob demanda ou automáticos. No entanto, se você ativar uma versão mais antiga da chave, poderá acessar todos os backups criados com ela.
- Não é possível atualizar ou reativar os backups automáticos até que você ative ou restaure a versão da chave primária.
Persistência
- Se você ativar a persistência, o cluster do Memorystore para Redis vai realizar uma atualização semelhante à usada na manutenção e desativar o recurso de persistência. Você não vai mais receber cobranças por esse recurso.
- O Memorystore para Redis Cluster não libera novos dados para o armazenamento permanente usando a CMEK.
- O Memorystore para Redis Cluster não consegue ler dados atuais presentes no armazenamento permanente.
- Não é possível atualizar ou reativar a persistência até que você ative ou restaure a versão da chave primária.
Se você ativar a versão chave primária da chave CMEK, mas desativar ou destruir uma versão mais antiga, as seguintes condições serão aplicadas a 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, esse recurso vai continuar ativado. Se a versão mais antiga da chave usada na persistência for desativada ou destruída, o Memorystore para Redis Cluster vai realizar uma atualização semelhante à usada na manutenção e recriptografar os dados com a versão da chave primária.
Alternar a versão principal da chave CMEK
Se você alternar a versão chave primária da CMEK e criar uma nova versão chave primária, as seguintes condições serão aplicadas a backups e persistência:
- A versão mais recente da chave primária da CMEK criptografa novos backups.
- Para backups atuais, nenhuma nova criptografia é feita.
- Para persistência, as VMs não fazem nada. As VMs continuam usando a versão mais antiga da chave até o próximo evento de manutenção.
Ativar ou restaurar a versão principal da chave CMEK
Se você ativar ou restaurar a versão chave primária da chave CMEK, as seguintes condições serão aplicadas a backups e persistência:
- Você pode criar backups automáticos e sob demanda novamente.
- O Memorystore para Redis Cluster realiza uma atualização semelhante à usada na manutenção e reativa a persistência.
Limitações
As seguintes limitações se aplicam ao usar a CMEK com o Memorystore para Redis Cluster:
- Não é possível ativar a CMEK em uma implantação atual do Memorystore para Redis Cluster.
- A região da chave, do keyring e da instância precisa ser a mesma.
- 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.