Acerca das CMEK

Esta página descreve as chaves de encriptação geridas pelo cliente (CMEK) para o AlloyDB para PostgreSQL.

Para mais informações sobre as CMEK em geral, incluindo quando e por que motivo ativar esta funcionalidade, consulte a documentação do Cloud KMS.

Por predefinição, o AlloyDB para PostgreSQL encripta o conteúdo do cliente em repouso. O AlloyDB 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 AlloyDB. 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 recursos do AlloyDB é 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).

Para saber como usar CMEKs criadas manualmente para proteger os seus recursos do AlloyDB, consulte o artigo Use CMEK.

CMEK com chave automática do Cloud KMS

Pode criar CMEKs manualmente para proteger os seus recursos do AlloyDB ou usar a chave automática do Cloud KMS. Com a Autokey, os conjuntos de chaves e as chaves são gerados a pedido como parte da criação de recursos no AlloyDB. Os agentes de serviço que usam as chaves para operações de encriptação e desencriptação são criados se ainda não existirem e recebem as funções de gestão de identidade e de acesso (IAM) necessárias. Para mais informações, consulte a vista geral do Autokey.

O AlloyDB só é compatível com a chave automática do Cloud KMS quando cria recursos através do Terraform ou da API REST.

Uma alternativa autogerida à encriptação gerida pela Google

Por predefinição, todos os dados em repouso no Google Cloud, incluindo os dados no AlloyDB, estão protegidos através da encriptação predefinida gerida pela Google. Google Cloud trata e gere esta encriptação predefinida por si sem ações adicionais da sua parte.

Se tiver requisitos regulamentares ou de conformidade específicos relacionados com as chaves que protegem os seus dados, pode usar as CMEK em alternativa. Com as CMEK, o seu cluster do AlloyDB está protegido através de uma chave que controla e gere no Cloud Key Management Service (KMS). A sua chave CMEK pode ser uma chave simétrica ou uma chave do Cloud HSM.

Funcionalidades

  • Controlo de acesso aos dados: os administradores podem rodar, gerir o acesso e desativar ou destruir a chave que usou para proteger os dados em repouso no AlloyDB.

    A gestão de chaves é processada pelo Cloud KMS. Os clusters não são novamente encriptados automaticamente com a versão da chave mais recente após a rotação. Os clusters são encriptados pela versão principal da CMEK no momento da criação do cluster. Para rodar a encriptação do cluster, crie uma cópia de segurança e restaure o cluster com uma versão mais recente da chave. Para mais informações, consulte a vista geral da cópia de segurança e recuperação de dados.

  • Auditabilidade: se ativar o registo de auditoria para a API Cloud KMS no seu projeto, todas as ações na chave, incluindo as realizadas pelo AlloyDB, são registadas e visíveis no Cloud Logging.

  • Desempenho: a utilização das CMEK não introduz alterações no desempenho do AlloyDB.

Preços

O AlloyDB fatura um cluster com CMEK ativado tal como qualquer outro cluster. Não existem custos adicionais do AlloyDB. Para mais informações, consulte os preços do AlloyDB for PostgreSQL.

O Cloud KMS fatura-lhe o custo da chave e as operações de encriptação e desencriptação quando o AlloyDB usa a chave. Para mais informações, consulte os preços do Cloud Key Management Service.

O que está protegido com a CMEK

O AlloyDB usa a sua chave do Cloud KMS para proteger os dados em repouso das seguintes formas:

  • Se ativar as CMEK num cluster, o AlloyDB usa a sua chave para encriptar todos os dados do cluster no armazenamento.
  • Se especificar uma configuração de CMEK quando criar uma cópia de segurança a pedido, o AlloyDB usa a sua chave para encriptar essa cópia de segurança.
  • Se ativar a CMEK com a configuração de cópia de segurança contínua ou automática do cluster, o AlloyDB usa a sua chave para encriptar as cópias de segurança em curso.

Quer use a Google-owned and Google-managed encryption keys ou a CMEK, o AlloyDB tem três camadas de encriptação:

  1. O AlloyDB divide os dados em repouso em blocos para armazenamento e encripta cada bloco com uma chave de encriptação individual. A chave que usa para encriptar os dados num fragmento chama-se chave de encriptação de dados (DEK).

    Devido ao elevado volume de chaves na Google e à necessidade de baixa latência e elevada disponibilidade, o AlloyDB armazena cada DEK perto dos dados que encripta.

  2. O AlloyDB encripta cada DEK com uma chave de encriptação de chaves (KEK) que é detida pelo cluster.

  3. Por último, o AlloyDB encripta a KEK com a chave de encriptação baseada no Cloud Key Management Service do cluster, que é uma Google-owned and Google-managed encryption key ou uma chave CMEK.

Também pode ver as versões das chaves que estão a ser usadas para proteger um cluster.

Ative as CMEK

Para permitir que um cluster do AlloyDB use a CMEK, tem de especificar a chave do Cloud KMS no momento da criação do cluster.

O AlloyDB pode aceder à chave em seu nome depois de conceder a função de encriptar/desencriptar (roles/cloudkms.cryptoKeyEncrypterDecrypter) do CryptoKey do Cloud KMS a um agente de serviço do AlloyDB.

Para obter instruções detalhadas, consulte o artigo Use CMEK.

Faça a gestão das chaves

Use o Cloud KMS para todas as operações de gestão de chaves. O AlloyDB não consegue detetar nem agir sobre alterações de chaves até que sejam propagadas pelo Cloud KMS. Algumas operações, como desativar ou destruir uma chave, podem demorar até três horas a propagar; as alterações às autorizações são normalmente propagadas muito mais rapidamente.

Após a criação do cluster, o AlloyDB chama o Cloud KMS a cada cinco minutos para se certificar de que a chave ainda é válida.

Se o AlloyDB detetar que a sua chave do Cloud KMS foi desativada ou destruída, é iniciada imediatamente uma operação para tornar os dados do cluster inacessíveis. Se as chamadas do AlloyDB para o Cloud KMS detetarem que uma chave anteriormente desativada foi reativada, o acesso é restaurado automaticamente.

Utilize e faça a gestão de chaves externas

Em alternativa à utilização de chaves que residem no Cloud KMS, pode utilizar chaves que residem num parceiro de gestão de chaves externas suportado. Para o fazer, use o Cloud External Key Manager (Cloud EKM) para criar e gerir chaves externas, que são ponteiros para chaves que residem fora do Google Cloud. Para mais informações, consulte o artigo Cloud External Key Manager.

Depois de criar uma chave externa com o Cloud EKM, pode aplicá-la a um novo cluster do AlloyDB fornecendo o ID dessa chave quando criar o cluster. Este procedimento é igual ao da aplicação de uma chave do Cloud KMS a um novo cluster.

Pode usar as Justificações de acesso às chaves como parte do Cloud EKM. As Justificações de acesso a chaves permitem-lhe 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 a secção Vista geral.

A Google não tem controlo sobre a disponibilidade de chaves num sistema de parceiros de gestão de chaves externo.

Indisponibilidade da chave

Se desativar a chave do Cloud KMS usada para encriptar um cluster do AlloyDB, as instâncias do AlloyDB pertencentes a esse cluster vão sofrer uma inatividade no prazo de 30 minutos. A reativação da chave repõe as instâncias.

Em cenários pouco frequentes, como durante períodos em que o Cloud KMS está indisponível, o AlloyDB pode não conseguir obter o estado da sua chave do Cloud KMS. Neste cenário, o AlloyDB continua a suportar operações de cluster completas com base no melhor esforço durante um período de até 30 minutos para minimizar o impacto de quaisquer indisponibilidades temporárias na sua carga de trabalho.

Após 30 minutos, se o AlloyDB ainda não conseguir estabelecer ligação ao Cloud KMS, o AlloyDB começa a colocar o cluster offline como medida de proteção. Os dados no cluster do AlloyDB permanecem inacessíveis até que o cluster consiga estabelecer novamente ligação ao Cloud KMS e o Cloud KMS responda que a chave está ativa.

Cópias de segurança e restauro

O AlloyDB também protege as cópias de segurança com CMEK ou a encriptação predefinida gerida pela Google. Se uma cópia de segurança tiver a CMEK ativada, é encriptada com a versão principal da chave do KMS no momento da criação da cópia de segurança. Depois de criar uma cópia de segurança, não é possível modificar a respetiva chave nem versão da chave, mesmo que a chave do KMS seja alterada. Para mais informações, consulte o artigo Fazer uma cópia de segurança de um cluster.

Quando restaura um cluster a partir de uma cópia de segurança, o cluster restaurado usa por predefinição a encriptação gerida pela Google, mas pode especificar uma chave CMEK para usar em alternativa. Para restaurar uma cópia de segurança com a CMEK ativada, a chave e a versão da chave usadas para encriptar a cópia de segurança têm de estar disponíveis.

Registo

Pode auditar os pedidos que o AlloyDB envia ao Cloud KMS em seu nome no Cloud Logging, se tiver ativado o registo de auditoria para a API Cloud KMS no seu projeto. Estas entradas de registo do Cloud KMS são visíveis nos Registos na nuvem. Para mais informações, consulte o artigo Ver registos de auditoria de uma chave do Cloud KMS.

O que se segue?