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-urlinicialização flag.
-
O local e os parâmetros de acesso da KEK são fornecidos por
variáveis de ambiente e pela
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-XTSotimizada 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.
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, excetoinitdb, 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 DATABASEusando a estratégiaFILE_COPY. - Em clusters ativados para TDE, os backups do Barman só oferecem suporte ao modo
rsync. O método de backuppostgresnão é aceito.
A seguir
- Aprenda a criar um cluster ativado para TDE.
- Solucione problemas de criptografia de dados transparente.