开源PostgreSQL透明数据加密扩展的开发历程

开源PostgreSQL透明数据加密扩展的开发历程

💡 原文英文,约1800词,阅读约需7分钟。
📝

内容提要

本文讨论了Percona在PostgreSQL中引入透明数据加密(TDE)的工作,指出PostgreSQL缺少该功能。Percona已开发了pg_tde_basic扩展,但仍在测试阶段。Percona计划进一步扩展并提交给PostgreSQL社区。文章还提到了Percona Distribution for PostgreSQL,提供关键企业组件。作者鼓励读者测试并提供反馈意见。

🔎

延伸解读

为何选择扩展而非修改核心

Percona在开发TDE时面临关键抉择:是修改PostgreSQL核心还是以扩展形式实现。他们参考了PostgreSQL wiki中TDE的三个标准:必须安全、对核心代码影响最小、满足合规要求。最终决定创建扩展,以尊重社区价值观并让产品易于被用户接受。这一选择也避免了直接改动核心可能带来的兼容性和维护问题。

当前测试版的局限与风险

pg_tde_basic扩展通过tde_heap_basic访问方法加密表数据,但索引和统计信息不会被加密。如果索引基于加密数据创建,由于索引本身未加密,可能成为数据泄露的途径。因此,在生产环境使用前需评估此风险。该扩展仍处于测试阶段,Percona正在努力确保稳定性,并计划未来提供索引加密方案。

未来路线图与社区协作

Percona计划短期內交付支持索引加密的补丁版本,确保pg_tde_basic达到GA稳定性,并缩小功能差距,如复制和KMIP集成。相关API扩展将提交给PostgreSQL社区,争取纳入核心。用户可通过社区论坛、GitHub讨论等渠道提供反馈,帮助改进这一开源解决方案。

❓

Q&A

Percona在PostgreSQL中引入透明数据加密的原因是什么?

因为PostgreSQL缺乏透明数据加密(TDE)功能,Percona希望通过开发扩展来解决这一问题。

pg_tde_basic扩展目前处于什么阶段?

pg_tde_basic扩展目前处于公共测试阶段,正在进行稳定性测试。

pg_tde_basic扩展有哪些限制?

该扩展的tde_heap_basic访问方法存在一些限制,可能影响生产使用,尤其是索引在加密数据上不被加密。

Percona计划如何改进pg_tde扩展?

Percona计划进一步扩展pg_tde并提交给PostgreSQL社区,目标是实现更全面的加密解决方案,包括索引加密。

pg_tde扩展的主要目标是什么?

pg_tde的目标是实现更细粒度的加密和支持云环境的多租户功能。

用户如何参与pg_tde的测试和反馈?

用户可以通过社区论坛、GitHub项目讨论或直接联系Percona团队来提供反馈。

🏷️

标签

➡️

继续阅读