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, na sigla em inglês): 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 sua KEK.
-
Chave de criptografia de chaves (KEK, na sigla em inglês): 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. Sua KEK nunca é armazenada de forma permanente no disco do banco de dados.
-
A localização e os parâmetros de acesso da KEK são fornecidos por
variáveis de ambiente e pela
--tde-kek-urlinicialização flag.
-
A localização 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) e recupera a KEK.
- Desencapsulamento das DEKs: o AlloyDB Omni usa sua KEK para desencapsular as DEKs, que são armazenadas no armazenamento local em um estado encapsulado. 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. Ela usa a proteção
AES-256-XTSotimizada para blocos de dados e caches, além de otimizações de gravação síncrona para minimizar a latência em caminhos rápidos.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 de gravação antecipada (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.
- Encapsulamento de chaves: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 cofre. As variáveis de ambiente do cofre precisam estar disponíveis em todos os hosts participantes.
KMS e autenticação com suporte
O AlloyDB Omni oferece suporte ao HashiCorp Vault como provedor de KMS externo. O AlloyDB Omni só oferece suporte ao mecanismo de secrets KV-V2, e o único método de autenticação com suporte é o JWT.
Observação: o AlloyDB Omni oferece suporte ao 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 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 de ativada, não é possível desativar a TDE.
- Não há suporte para upgrades de versão principal em clusters ativados para 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 rotação de DEK.
- A rotação de KEK é compatível, desde que o caminho do URL da KEK permaneça o mesmo.
- 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 é compatível. - A rotação da chave de criptografia de chaves (KEK) só é compatível com o HashiCorp Vault como provedor de sistema de gerenciamento de chaves externas (KMS).
A seguir
- Saiba como criar um cluster ativado para TDE.