Esta página descreve como as chaves de encriptação geridas pelo cliente (CMEK) funcionam com o Memorystore for Redis. Para começar a usar esta funcionalidade, consulte o artigo Use chaves de encriptação geridas pelo cliente (CMEK).
Por predefinição, o Memorystore for Redis encripta o conteúdo do cliente em repouso. O Memorystore for Redis processa a encriptação por si sem ações adicionais da sua parte. Esta opção chama-se Encriptação predefinida da Google.
Se quiser controlar as suas chaves de encriptação, pode usar chaves de encriptação geridas pelo cliente (CMEK) no Cloud KMS com serviços integrados com CMEK, incluindo o Memorystore para Redis. A utilização de chaves do Cloud KMS dá-lhe controlo sobre o respetivo nível de proteção, localização, programação de rotação, utilização, autorizações de acesso e limites criptográficos. A utilização do Cloud KMS também permite ver registos de auditoria e controlar os ciclos de vida das chaves. Em vez de a Google possuir e gerir as chaves de encriptação de chaves (KEKs) simétricas que protegem os seus dados, controla e gere estas chaves no Cloud KMS.
Depois de configurar os seus recursos com CMEKs, a experiência de acesso aos seus recursos do Memorystore for Redis é semelhante à utilização da encriptação predefinida da Google. Para mais informações acerca das suas opções de encriptação, consulte o artigo 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 têm de ser encriptados. Para mais informações sobre se deve usar as CMEK para encriptar estes dados, consulte o artigo Decida se deve usar as CMEK.
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 para Redis. Para instâncias do Memorystore for Redis 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. Existem dois níveis de encriptação:
- Encriptação DEK: o Memorystore usa DEKs para encriptar dados no Memorystore para Redis.
- Encriptação KEK: o Memorystore usa KEKs para encriptar DEKs.
A instância do Memorystore for Redis armazena a DEK encriptada juntamente com os dados encriptados no disco persistente, e a Google gere a KEK da Google. A CMEK é a KEK que une a DEK. As CMEK permitem-lhe criar, desativar ou destruir e ativar ou restaurar a KEK.
Pode gerir as CMEK através da API Cloud Key Management Service.
Os diagramas seguintes mostram como funciona a encriptação de dados em repouso numa instância do Memorystore for Redis 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 dados em repouso.

Preços
O Memorystore for Redis fatura uma instância com CMEK ativada tal como qualquer outra instância. Não existem custos adicionais. Para mais informações, consulte os preços do Memorystore para Redis.
Usa a API Cloud KMS para gerir a CMEK. Quando cria uma instância do Memorystore for Redis com CMEK, o Memorystore usa a chave periodicamente para encriptar os dados.
O Cloud KMS fatura-lhe o custo da chave e as operações de encriptação e desencriptação quando o Memorystore for Redis usa a chave. Para mais informações, consulte os preços do Cloud KMS.
Quando é que o Memorystore interage com as CMEK?
| Operação | Descrição |
|---|---|
| Criação da instância | Quando cria uma instância, configura-a para usar as CMEK. |
| Atualização da instância | Durante as atualizações a uma instância com CMEK ativada, o Memorystore for Redis verifica a CMEK. |
Que dados são encriptados através da CMEK?
A CMEK encripta os seguintes tipos de dados:
- Dados dos clientes armazenados no armazenamento persistente.
- Metadados relacionados com funcionalidades de segurança, como AUTH e encriptação em trânsito.
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
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 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 instância do Memorystore for Redis, 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 para Redis. Tem de criar o conjunto de chaves e a chave na mesma região onde quer criar a instância. Uma chave para uma região multirregional ou global não funciona. Se as regiões ou as localizações não corresponderem, um pedido de criação da instância falha.
Para o ID de recurso da chave, a CMEK usa o seguinte formato:
projects/CMEK_ENABLED_PROJECT/locations/REGION/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME
Se o Memorystore for Redis não conseguir aceder a nenhuma versão da chave que esteja a ser usada (por exemplo, se desativar todas as versões da chave), o Memorystore for Redis encerra a instância. Na Google Cloud consola, uma instância suspensa mostra uma dica de ferramenta com um ponto de exclamação vermelho na página Instâncias. Se passar o cursor do rato sobre a sugestão,
é apresentado o estado No state. Depois de a chave ficar acessível, o Memorystore for Redis retoma a instância automaticamente.
Chaves externas
Pode usar o Cloud External Key Manager (Cloud EKM) para encriptar dados no Google Cloud com chaves externas que gere.
Quando usa uma chave do Cloud EKM, a Google não tem controlo sobre a disponibilidade da sua chave gerida externamente. Se a chave não estiver disponível quando criar a instância, esta não é criada.
Para mais considerações ao usar chaves externas, consulte o artigo Cloud External Key Manager.
Como torna os dados encriptados com CMEK inacessíveis permanentemente?
Pode haver situações em que queira tornar os dados encriptados com CMEK inacessíveis permanentemente. Para o fazer, destrói a versão da chave. Para mais informações sobre a destruição de versões da chave, consulte o artigo Destrua e restaure versões de chaves.
Como importa ou exporta dados para uma instância com CMEK ativada?
Se quiser que os seus dados permaneçam encriptados com uma CMEK quando exportar dados, tem de definir uma CMEK no contentor do Cloud Storage antes de exportar dados para o mesmo.
Se os seus dados estiverem armazenados numa instância com a CMEK ativada, não existem requisitos nem restrições especiais para importar dados para uma nova instância.
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 quiser garantir que não existe acesso a dados na sua instância, desative a versão da chave principal da CMEK. Esta ação encerra a instância. Além disso, se qualquer CMEK em utilização for desativada ou destruída, o Memorystore for Redis encerra a instância. Isto inclui qualquer versão da chave mais antiga que a instância use.
Para ver se o Memorystore for Redis suspende a sua instância, use uma das seguintes interfaces:
- Google Cloud consola: na página Instâncias, é apresentado um efeito de sugestão com um ponto de exclamação vermelho junto à sua instância. Se passar o cursor do rato sobre a sugestão, é apresentado o estado
No state. - CLI gcloud: use o comando
gcloud redis instances describe. Verifique se não vêstate: READY,state: REPAIRINGou qualquer outro estado nos metadados da instância.
Ative ou restaure a versão da chave CMEK principal
Se ativar ou restaurar a versão da chave principal da sua CMEK, o Memorystore for Redis deixa de ocultar a sua instância.
Limitações
Aplicam-se as seguintes limitações quando usa as CMEK com o Memorystore for Redis:
- Não é possível ativar a CMEK numa instância do Memorystore for Redis 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.
Políticas da organização CMEK
O Memorystore for Redis suporta restrições de políticas da organização que pode usar para proteção CMEK.
As políticas podem limitar as chaves do Cloud KMS que podem ser usadas para a proteção CMEK.
Se a API Memorystore for Redis estiver na
Denylista de serviços da política para a restriçãoconstraints/gcp.restrictNonCmekServices, não pode criar instâncias não protegidas por CMEK.Se configurar a restrição
constraints/gcp.restrictCmekCryptoKeyProjects, o Memorystore for Redis cria instâncias protegidas por CMEK que são encriptadas através de uma chave de um projeto, uma pasta ou uma organização permitidos.
Para mais informações sobre a configuração de políticas de organização da CMEK, consulte o artigo Políticas de organização da CMEK.