gpt4 book ai didi

PostgreSQL:使用 pgcrypto 加密列

转载 作者:行者123 更新时间:2023-11-29 11:19:51 26 4
gpt4 key购买 nike

我需要加密 PostgreSQL 9.6 数据库中的某些列。被加密的数据本质上是敏感的;但是,数据不是密码或其他身份验证凭据。这些数据将需要被解密以供用户进行统计分析和消费。

看了几个问答后:

...并考虑这些评论:

enter image description here

...似乎使用 pgcrypto 模块的最大问题是 key 的存储在同一数据库中

这引出了一个问题:

将 key 存储在不同的数据库并通过外部数据包装器(例如 Postgresql_FDW)访问它是否符合最佳实践?

最佳答案

secret 存储是使用加密机制时的常见问题。

pgcrypto 不提供 key 存储,您可以自由地将 key 存储在您想要的地方并尽可能地保护它。

如果由同一个 DBA 管理,则将 key 存储在另一个数据库中不会提供太多安全性,因为 DBA 可能会以相同的方式访问它。

理想情况下,您会将 key 存储在安全的保险库中,并从您的应用程序中请求它以构建查询。当请求通过 select * from pg_stat_activity 运行时,DBA 仍然可以看到它。

您可以通过 set session my.vars.cryptokey = 'secret'; 为 SQL session 广泛使用设置 key ,然后使用以下语法将其用于您的查询:current_setting( 'my.vars.cryptokey')::text

从应用程序的角度来看(几乎)透明,PostgreSQL 规则可能有助于将 secure_column 转换为使用 session 存储 key 的解密函数调用。对于插入,需要预插入触发器。

关于PostgreSQL:使用 pgcrypto 加密列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42428360/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com