Criptografia de dados transparente para o AlloyDB Omni

Selecione uma versão da documentação:

Para proteger informações sensíveis e atender a requisitos de compliance rigorosos sem modificar o código do aplicativo, use a criptografia de dados transparente (TDE, na sigla em inglês) para proteger os dados em repouso no AlloyDB Omni. Esta visão geral explica como a TDE criptografa automaticamente arquivos de banco de dados, registros e caches antes de serem gravados em disco, garantindo a segurança em profundidade com uma sobrecarga operacional mínima.

Hierarquia de chaves

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

  • Chaves de criptografia de dados (DEKs): chaves 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 envolve com a 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 a KEK para criptografar as DEKs. O AlloyDB Omni acessa essa chave apenas na inicialização para desembrulhar the DEKs. A KEK nunca é armazenada de forma permanente no disco do banco de dados.
    • O local e os parâmetros de acesso da KEK são fornecidos por variáveis de ambiente e pela --tde-kek-url inicialização flag.

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 autentica usando um JSON Web Token (JWT) para o HashiCorp Vault ou credenciais de nome de usuário e senha para o Thales CipherTrust Manager e recupera a KEK.
  • Desembrulhando as DEKs: o AlloyDB Omni usa a 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 em disco: à medida que 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 gravá-los.
    • Leitura do disco: quando o banco de dados precisa ler dados na memória, ele descriptografa automaticamente os blocos usando as DEKs armazenadas na memória.
    • Criptografia de cache: a TDE também oferece suporte ao cache em disco, incluindo informações do mecanismo colunar armazenadas no cache. Os dados gravados na camada de armazenamento de cache inativo são criptografados, e os dados transferidos para o cache SSD do mecanismo colunar são criptografados antes de serem gravados no SSD e descriptografados na leitura.
  • Otimizações de desempenho: a TDE inclui otimizações para manter o alto desempenho ao proteger os dados. Ele usa a proteção AES-256-XTS otimizada para blocos de dados e caches e apresenta otimizações de gravação síncrona para minimizar a latência em caminhos rápidos.

  • Limites de segurança: a 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 KMS 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): AES-256-CTR.
  • Arquivos temporários:AES-256-XTS ou AES-256-CTR, dependendo do tipo de dados temporários.
  • Arquivos de cache do mecanismo colunar:AES-256-XTS.
  • Arquivos de cache inativo:AES-256-XTS.
  • Chave de embrulho: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.

Só é possível restaurar backups em clusters em que a mesma KEK está disponível.

Para configurações de alta disponibilidade, o ambiente de recuperação precisa ser inicializado com as mesmas variáveis de ambiente do KMS. As variáveis de ambiente do KMS precisam estar disponíveis em todos os hosts participantes.

KMS e autenticação com suporte

O AlloyDB Omni oferece suporte aos seguintes provedores de KMS externos e métodos de autenticação:

  • HashiCorp Vault: Oferece suporte ao mecanismo de secrets KV-V2 com autenticação JSON Web Token (jwt) .
  • Thales CipherTrust Manager: Oferece suporte ao gerenciamento de secrets com autenticação de nome de usuário e senha (password) .

Compatibilidade com ferramentas do PostgreSQL

Os clusters ativados para TDE oferecem suporte a todas as ferramentas integradas do PostgreSQL, exceto initdb, de forma transparente por meio de variáveis de ambiente. Se você estiver usando initdb, transmita o URL da KEK explicitamente. Para mais informações, consulte Criar um cluster ativado para TDE.

Limitações

  • Não é possível ativar a TDE em clusters atuais.
  • Depois que a TDE é ativada, não é possível desativá-la.
  • Os upgrades de versão principal não são aceitos para clusters ativados para TDE.
  • Não é possível restaurar backups criptografados em servidores não criptografados ou backups não criptografados em servidores criptografados.
  • A rotação de DEK não é aceita.
  • A rotação de KEK é aceita, desde que o caminho do URL da KEK permaneça o mesmo. A rotação de KEK é aceita apenas para o HashiCorp Vault e o Thales CipherTrust Manager como provedores de KMS externos, não para KMS baseado em arquivos.
  • Não é possível CREATE DATABASE usando a estratégia FILE_COPY.
  • Em clusters ativados para TDE, os backups do Barman só oferecem suporte ao modo rsync. O método de backup postgres não é aceito.

A seguir