Esta página descreve como as chaves de encriptação geridas pelo cliente (CMEK) funcionam com o Memorystore for Redis Cluster. Para usar esta funcionalidade imediatamente, consulte o artigo Use chaves de encriptação geridas pelo cliente (CMEK).
Quem deve usar as CMEK?
A CMEK destina-se a organizações que têm dados confidenciais ou regulamentados que exigem que geram as suas próprias chaves de encriptação.
Encriptação gerida pela Google versus encriptação gerida pelo cliente
A funcionalidade CMEK permite-lhe usar as suas próprias chaves criptográficas para dados em repouso no Memorystore for Redis Cluster. Para instâncias do Memorystore for Redis Cluster com CMEK ativada, a Google usa as suas chaves para aceder a todos os dados em repouso.
O Memorystore usa chaves de encriptação de dados (DEK) e chaves de encriptação de chaves (KEK) geridas pela Google para encriptar dados no Memorystore para Redis Cluster. Existem dois níveis de encriptação:
- Encriptação DEK: o Memorystore usa DEKs para encriptar dados no Memorystore for Redis Cluster.
- Encriptação KEK: o Memorystore usa KEKs para encriptar DEKs.
A instância do Memorystore for Redis Cluster armazena a DEK encriptada juntamente com os dados encriptados no disco, e a Google gere a KEK da Google. Com a CMEK, cria uma chave que envolve a KEK da Google. As CMEK permitem-lhe criar, desativar ou destruir, rodar e ativar ou restaurar a KEK.
Os diagramas seguintes mostram como funciona a encriptação de dados em repouso numa instância do Memorystore for Redis Cluster quando usa a encriptação gerida pela Google predefinida em comparação com a CMEK.
Sem CMEK
Com CMEK
Ao desencriptar dados envolvidos com CMEK, o Memorystore usa a KEK do Cloud Key Management Service para desencriptar a DEK e a DEK não encriptada para desencriptar os dados em repouso.
Preços
O Memorystore for Redis Cluster fatura um cluster com CMEK ativado tal como qualquer outro cluster. Não existem custos adicionais. Para mais informações, consulte os preços do Memorystore for Redis Cluster.
Usa a API Cloud KMS para gerir a CMEK. Quando cria uma instância do Memorystore for Redis Cluster com CMEK, o Memorystore usa a chave periodicamente para encriptar dados e garantir que as autorizações da chave estão corretas e que a chave está ativada.
O Cloud KMS fatura-lhe o custo da chave e as operações de encriptação e desencriptação quando o Memorystore for Redis Cluster usa a chave. Para mais informações, consulte os preços do Cloud KMS.
Que dados são encriptados através da CMEK?
As CMEK encriptam os seguintes tipos de dados do cliente que são armazenados no armazenamento persistente:
- Cópias de segurança: as cópias de segurança permitem-lhe recuperar os seus dados até um determinado momento, bem como exportar e analisar dados. As cópias de segurança também são úteis para a recuperação de desastres, a migração de dados, a partilha de dados e os cenários de conformidade.
- Persistência: o Memorystore for Redis Cluster suporta dois tipos de persistência:
- Persistência RDB: a funcionalidade da base de dados Redis (RDB) protege os seus dados guardando instantâneos dos mesmos no armazenamento duradouro.
- Persistência de AOF: esta funcionalidade dá prioridade à durabilidade dos dados. Armazena dados de forma duradoura ao registar todos os comandos de escrita num ficheiro de registo denominado ficheiro apenas de anexação (AOF). Se ocorrer uma falha ou um reinício do sistema, o servidor repete os comandos do ficheiro AOF sequencialmente para restaurar os seus dados.
Acerca das contas de serviço
Quando cria uma instância com CMEK, tem de conceder a função cloudkms.cryptoKeyEncrypterDecrypter à conta de serviço do Memorystore for Redis Cluster que tem o seguinte formato:
service-[PROJECT_NUMBER]@cloud-redis.iam.gserviceaccount.com
A concessão desta autorização permite que a conta de serviço solicite acesso à chave do Cloud KMS.
Para obter instruções sobre como conceder esta autorização à conta de serviço, consulte o artigo Conceda à conta de serviço do Memorystore for Redis Cluster acesso à chave.
Acerca das chaves
No Cloud KMS, tem de criar um conjunto de chaves com uma chave criptográfica que use um algoritmo de encriptação simétrica. Quando cria uma nova instância do Memorystore for Redis Cluster, seleciona esta chave para encriptar a instância. Pode criar um projeto para as chaves e as instâncias ou projetos diferentes para cada um deles.
A CMEK está disponível em todas as localizações de instâncias do Memorystore for Redis Cluster. Tem de definir a região da chave e do conjunto de chaves para a mesma região que a instância. Uma chave de região global ou de várias regiões não funciona. Se as regiões não corresponderem, um pedido de criação de uma instância falha.
As CMEK usam o seguinte formato:
projects/[CMEK_ENABLED_PROJECT]/locations/[REGION]/keyRings/[KEY_RING_NAME]/cryptoKeys/[KEY_NAME]
Como torna os dados encriptados com CMEK inacessíveis permanentemente?
Pode ter situações em que quer destruir permanentemente os dados encriptados com a CMEK. Para o fazer, destrói a versão da chave. Não pode destruir o conjunto de chaves nem a chave, mas pode destruir as versões da chave.
Comportamento de uma versão da chave CMEK
Esta secção fornece informações sobre o que acontece quando desativa, destrói, roda, ativa e restaura uma versão de chave.
Desative ou destrua uma versão da chave CMEK
Se desativar ou destruir a versão da chave principal da sua CMEK, aplicam-se as seguintes condições para as cópias de segurança e a persistência.
Cópias de segurança
- Não pode criar cópias de segurança a pedido nem automáticas. No entanto, se ativar uma versão da chave mais antiga, pode aceder a todas as cópias de segurança que criou com esta versão da chave.
- Não pode atualizar nem reativar as cópias de segurança automáticas até ativar ou restaurar a versão da chave principal.
Persistência
- Se ativar a persistência, o Memorystore for Redis Cluster faz uma atualização semelhante à usada na manutenção e desativa a funcionalidade de persistência. Já não lhe é cobrado qualquer valor por esta funcionalidade.
- O Memorystore for Redis Cluster não limpa novos dados para o armazenamento persistente através da CMEK.
- O Memorystore for Redis Cluster não consegue ler os dados existentes presentes no armazenamento persistente.
- Não pode atualizar nem reativar a persistência até ativar ou restaurar a versão da chave principal.
Se ativar a versão da chave principal das CMEK, mas desativar ou destruir uma versão da chave mais antiga, aplicam-se as seguintes condições às cópias de segurança e à persistência:
- Pode criar cópias de segurança. No entanto, se uma cópia de segurança estiver encriptada com uma versão da chave mais antiga que esteja desativada ou destruída, a cópia de segurança permanece inacessível.
- Se ativar a persistência, esta funcionalidade permanece ativada. Se a versão da chave mais antiga usada na persistência for desativada ou destruída, o Memorystore for Redis Cluster realiza uma atualização semelhante à usada na manutenção e volta a encriptar os dados com a versão da chave principal.
Alterne a versão da chave CMEK principal
Se alterar a versão da chave principal da CMEK e criar uma nova versão da chave principal, aplicam-se as seguintes condições para as cópias de segurança e a persistência:
- A versão mais recente da chave principal da CMEK encripta as novas cópias de segurança.
- Para as cópias de segurança existentes, não é feita uma nova encriptação.
- Para a persistência, as VMs não realizam nenhuma ação. As VMs continuam a usar a versão da chave mais antiga até ao próximo evento de manutenção.
Ative ou restaure a versão da chave CMEK principal
Se ativar ou restaurar a versão da chave principal da CMEK, aplicam-se as seguintes condições para as cópias de segurança e a persistência:
- Pode voltar a criar cópias de segurança a pedido e automáticas.
- O Memorystore for Redis Cluster executa uma atualização semelhante à usada na manutenção e reativa a persistência.
Limitações
Aplicam-se as seguintes limitações quando usa as CMEK com o Memorystore for Redis Cluster:
- Não é possível ativar a CMEK numa implementação do Memorystore for Redis Cluster existente.
- A região da chave, do conjunto de chaves e da instância tem de ser a mesma.
- Tem de usar o algoritmo de encriptação simétrica para a sua chave.
- As taxas de encriptação e desencriptação do Cloud KMS estão sujeitas a uma quota.