Esta página descreve como criar, configurar e aplicar chaves de encriptação geridas pelo cliente (CMEK) para o AlloyDB for PostgreSQL.
Para mais informações acerca das CMEK, consulte o artigo Acerca das CMEK.
Crie e autorize uma chave CMEK para o AlloyDB
Crie uma chave no Cloud Key Management Service (Cloud KMS). O AlloyDB suporta os seguintes tipos de chaves:
A chave tem de estar na mesma localização que o cluster do AlloyDB. Por exemplo, um cluster do AlloyDB localizado em
us-west1
só pode usar chaves emus-west1
.Se já tiver uma chave do Cloud KMS na localização correta, pode ignorar este passo.
Conceda acesso do AlloyDB à chave.
- Use a CLI Google Cloud para criar e apresentar o agente de serviço ou apresentá-lo se a conta já existir:
gcloud beta services identity create --service=alloydb.googleapis.com \ --project=PROJECT
O comando gcloud services identity cria ou obtém o agente de serviço que o AlloyDB pode usar para aceder à chave do Cloud KMS em seu nome.
O ID da conta de serviço assemelha-se a um endereço de email:
Service identity created: service-xxx@gcp-sa-alloydb.iam.gserviceaccount.com
- Conceda a função
cloudkms.cryptoKeyEncrypterDecrypter
à conta de serviço:
gcloud kms keys add-iam-policy-binding KEY \ --location REGION \ --keyring KEYRING \ --project=PROJECT \ --member serviceAccount:service-xxx@gcp-sa-alloydb.iam.gserviceaccount.com \ --role roles/cloudkms.cryptoKeyEncrypterDecrypter
Substitua o seguinte:
- KEY: o ID do Cloud KMS da chave
- REGION: a região da chave, por exemplo,
us-central1
- PROJECT: o ID do projeto da chave
- KEYRING: o ID do conjunto de chaves do Cloud KMS da chave
Esta função concede à conta de serviço autorização para encriptar e desencriptar através da chave do Cloud KMS. Para mais informações, consulte Autorizações e funções do Cloud KMS.
Crie um cluster encriptado com CMEK
Quando cria um novo cluster, pode optar por encriptá-lo com a encriptação predefinida gerida pela Google ou usar uma chave CMEK. Para mais informações, consulte o artigo Crie um cluster e a respetiva instância principal.
Veja o método de encriptação e a chave CMEK de um cluster
Consola
A coluna Encriptação da página Clusters apresenta se cada cluster no seu projeto usa a encriptação gerida pela Google ou a CMEK.
Para ver os detalhes principais de um cluster que usa a CMEK, clique no respetivo nome na coluna Nome do recurso. O campo Chave de encriptação da página de detalhes resultante contém uma descrição da chave, incluindo um link para a respetiva página de detalhes do Cloud KMS.
gcloud
Chame o comando gcloud alloydb clusters
describe
:
gcloud alloydb clusters describe CLUSTER \
--project=PROJECT \
--region=REGION
Substitua o seguinte:
- CLUSTER: o ID do cluster a descrever
- PROJECT: o ID do projeto do cluster
- REGION: a região do cluster, por exemplo,
us-central1
A saída inclui um campo encryptionInfo
com um resumo da encriptação do cluster.
Aplique CMEK a cópias de segurança
Quando cria uma nova cópia de segurança, pode optar por encriptá-la através da encriptação gerida pela Google predefinida ou de uma chave CMEK. Para mais informações, consulte Crie uma cópia de segurança a pedido ou Agende cópias de segurança automáticas.
Também tem a opção de aplicar uma chave CMEK ao cluster criado quando restaura a partir de uma cópia de segurança, independentemente do método de encriptação dessa cópia de segurança. Para mais informações, consulte o artigo Restaure um cluster.
Alterne chaves com a encriptação CMEK
É importante compreender as implicações da rotação das chaves de encriptação geridas pelo cliente (CMEK) no Cloud Key Management Service (Cloud KMS) quando usadas com clusters do AlloyDB.
Quando roda uma chave CMEK, acontece o seguinte aos seus dados do AlloyDB existentes:
O acesso imediato continua: os dados permanecem encriptados com a versão original da chave de encriptação de dados (DEK), desde que a versão anterior da chave ainda esteja disponível no KMS e não esteja desativada nem eliminada.
A reencriptação completa dos dados é manual: para ter todos os seus dados do AlloyDB na versão mais recente da chave principal, tem de os reencriptar.
Para voltar a encriptar o cluster existente com uma nova versão da chave CMEK, tem de fazer uma cópia de segurança e uma operação de restauro:
Crie uma cópia de segurança do cluster existente.
Restaure a cópia de segurança num novo cluster, especificando a nova versão da chave primária da CMEK durante o processo de restauro.
Para mais informações, consulte o artigo Restauro de clusters.
A alteração frequente da chave CMEK com o AlloyDB requer uma sobrecarga operacional significativa. Uma vez que os dados existentes não são novamente encriptados automaticamente e a nova encriptação manual envolve uma cópia de segurança completa e o restauro para um novo cluster, as rotações frequentes podem ser complexas e afetar a disponibilidade ou a complexidade da gestão.
Só pode eliminar com segurança versões antigas de chaves CMEK no Cloud KMS depois de confirmar que todos os dados relevantes do AlloyDB foram reencriptados manualmente e que os dados usam uma versão mais recente da chave.
Veja o método de encriptação e a chave CMEK de uma cópia de segurança
Consola
A coluna Encriptação da página Cópias de segurança apresenta se cada cluster no seu projeto usa a encriptação gerida pela Google ou a CMEK.
Aceda à página Cópias de segurança
Para ver os detalhes da chave de uma cópia de segurança com CMEK, clique em Restaurar. O campo Chave de encriptação do painel de detalhes subsequente contém uma descrição da chave, incluindo um link para a respetiva página de detalhes do Cloud KMS.
gcloud
Chame o comando gcloud alloydb backups describe
:
gcloud alloydb backups describe CLUSTER \
--project=PROJECT \
--region=REGION
Substitua o seguinte:
- CLUSTER: o ID da cópia de segurança a descrever
- PROJECT: o ID do projeto da cópia de segurança
- REGION: a região da cópia de segurança, por exemplo,
us-central1
A saída inclui um campo encryptionInfo
com um resumo da encriptação da cópia de segurança.
Desative uma chave
A desativação da chave CMEK de um cluster torna os dados desse cluster inacessíveis até que ative novamente a chave.
No entanto, a desativação de uma chave pode demorar até três horas a propagar-se ao seu cluster do AlloyDB. Para desativar uma chave e impedir imediatamente o acesso aos seus dados, siga estes passos:
Elimine a instância principal do cluster. Isto não afeta os dados do seu cluster. Pode criar uma nova instância principal depois de reativar a chave, conforme descrito na secção seguinte.
Ative uma chave
Para ativar uma chave, siga estes passos:
Se eliminou a instância principal do cluster antes de desativar a chave, crie uma nova instância principal.
A ativação de uma chave pode demorar até três horas a propagar-se ao cluster. Os dados do cluster ficam acessíveis assim que esta propagação ocorrer.
Veja os registos de auditoria de uma chave do Cloud KMS
Para ver os registos de auditoria associados a uma chave CMEK específica, siga estes passos:
Certifique-se de que o registo está ativado para a API Cloud KMS no seu projeto.
Aceda ao Explorador de registos na Google Cloud consola.
Limite as entradas do registo à sua chave do Cloud KMS adicionando as seguintes linhas ao criador de consultas:
resource.type="cloudkms_cryptokey" resource.labels.location="REGION" resource.labels.key_ring_id="KEYRING" resource.labels.crypto_key_id="KEY"
Substitua o seguinte:
- REGION: a região da chave, por exemplo,
us-central1
- KEYRING: o ID do conjunto de chaves do Cloud KMS da chave
- KEY: o ID do Cloud KMS da chave
- REGION: a região da chave, por exemplo,
Em operações normais, as operações de encriptação e desencriptação são registadas com a gravidade
INFO
. Estas entradas são registadas quando as instâncias no seu cluster do AlloyDB validam a chave do Cloud KMS, o que ocorre aproximadamente a cada cinco minutos.Se o AlloyDB não conseguir aceder à chave, as operações são registadas como
ERROR
.
Veja as justificações de acesso para uma chave do EKM do Google Cloud
Se usar uma chave do Cloud EKM, pode usar as justificações de acesso às chaves para ver o motivo de cada pedido do Cloud EKM. Além disso, com base na justificação apresentada, pode aprovar ou recusar automaticamente um pedido. Para mais informações, consulte o artigo Veja e tome medidas relativamente às justificações.