Criptografia transparente de dados para o AlloyDB Omni

Selecione uma versão da documentação:

A criptografia transparente de dados (TDE, na sigla em inglês) permite proteger todos os dados em repouso nos clusters do AlloyDB Omni sem modificar o código do aplicativo. Ao ativar esse recurso, você garante que tabelas, índices e registros prévios de escrita (WAL) sejam criptografados automaticamente antes de serem gravados em disco. Isso ajuda você a atender aos requisitos de compliance e proteger informações sensíveis.

A criptografia é transparente porque as consultas SQL e as operações de DDL e DML funcionam normalmente sem exigir mudanças no aplicativo. Os dados são criptografados automaticamente antes de serem gravados em disco e descriptografados quando lidos na memória.

Hierarquia de chaves

O AlloyDB Omni implementa uma hierarquia de chaves de dois níveis que mantém uma segregação de funções rigorosa entre o banco de dados e a infraestrutura de segurança gerenciada pelo usuário.

  • Chaves de criptografia de dados (DEKs): geradas e de propriedade do AlloyDB Omni. Essas chaves criptografam os arquivos de dados reais, o WAL e os arquivos temporários. O AlloyDB Omni armazena DEKs no disco, mas as encapsula com sua KEK.
  • Chave de criptografia de chaves (KEK): a chave principal que você gerencia em um serviço de gerenciamento de chaves (KMS) externo. O AlloyDB Omni usa sua KEK para criptografar as DEKs. O AlloyDB Omni acessa essa chave apenas na inicialização para desencapsular as DEKs. A KEK nunca é armazenada de forma permanente no disco do banco de dados.

Como a TDE funciona com o AlloyDB Omni

Quando a TDE está ativada, o AlloyDB Omni protege seus dados usando um modelo de criptografia em camadas que se integra a um KMS externo.

  • Inicialização e recuperação de chaves: durante a fase de inicialização ou inicialização do cluster, o mecanismo do AlloyDB Omni estabelece uma conexão segura com o KMS. Ele faz a autenticação usando um JSON Web Token (JWT) e recupera a KEK.
  • Desembrulhar as DEKs: o AlloyDB Omni usa sua KEK para desembrulhar as DEKs, que são armazenadas no armazenamento local em um estado embrulhado. Em seguida, essas DEKs são carregadas na memória.
  • Operações de dados transparentes:
    • Gravação no disco: quando o banco de dados grava blocos de dados, registros WAL ou arquivos temporários no disco físico, ele criptografa automaticamente os dados usando algoritmos AES-256 antes de gravar no disco físico.
    • Leitura do disco: quando o banco de dados precisa ler dados na memória, ele descriptografa automaticamente os blocos usando as DEKs mantidas na memória.
  • Limites de segurança: sua KEK nunca é armazenada no disco do banco de dados local, garantindo que, mesmo que a mídia de armazenamento físico seja comprometida, os dados permaneçam ilegíveis sem acesso autorizado ao cofre externo.

Escopo e especificações de criptografia

O AlloyDB Omni usa algoritmos AES-256 padrão do setor para proteger seus dados.

  • Arquivos de dados (tabelas e índices): AES-256-XTS.
  • Registros prévios de escrita (WAL, na sigla em inglês): AES-256-CTR.
  • Arquivos temporários:AES-256-XTS ou AES-256-CTR, dependendo do tipo de dados temporários.
  • Encapsulamento de chave:AES-256-KWP.

Backup e alta disponibilidade

Quando a TDE está ativada, os backups criados usando pgBackRest herdam a configuração de criptografia do cluster de origem. Isso garante que os dados de backup permaneçam protegidos com o mesmo nível de segurança do banco de dados principal.

KMS e autenticação compatíveis

O AlloyDB Omni é compatível com o HashiCorp Vault como provedor de KMS externo. O AlloyDB Omni só é compatível com o mecanismo de secrets KV-V2, e o único método de autenticação aceito é o JWT.

Observação: o AlloyDB Omni é compatível com o KMS baseado em arquivos. No entanto, recomendamos que você use isso apenas para fins de teste, não em cargas de trabalho de produção.

Compatibilidade com ferramentas do PostgreSQL

Os clusters com TDE aceitam todas as ferramentas integradas do PostgreSQL, exceto initdb, de forma transparente por meio de variáveis de ambiente. Se você usar initdb, transmita o URL da KEK. Para mais informações, consulte Criar um cluster com TDE.

Limitações

  • Não é possível ativar a TDE em clusters atuais.
  • Depois de ativada, não é possível desativar a TDE.
  • Os upgrades de versão principal não são compatíveis com clusters que usam TDE.
  • Não é possível restaurar backups criptografados em servidores não criptografados ou backups não criptografados em servidores criptografados.
  • Não há suporte para a rotação de DEK.
  • A rotação de KEK é aceita desde que o caminho do URL da KEK permaneça o mesmo.
  • A rotação de KEK é compatível apenas com o HashiCorp Vault como provedor de KMS externo.
  • Não é possível CREATE DATABASE usando a estratégia FILE_COPY.
  • Em clusters com TDE ativada, os backups do Barman só são compatíveis com o modo rsync. O método de backup postgres não é compatível.

A seguir