跳转到主要内容

supabase_vault

在 Vault 中存储加密凭证的扩展 (supabase)

概览

扩展包名版本分类许可证语言
pg_vault0.3.2SECApache-2.0C
ID扩展名BinLibLoadCreateTrustReloc模式
7050supabase_vault否是否是否否vault

Package and SQL version 0.3.2; restrict decrypted view access; keep plaintext out of logs; pgsodium is not required; the package uses system libsodium.

版本

类型仓库版本PG 大版本包名依赖
EXTPIGSTY0.3.21817161514pg_vault-
RPMPIGSTY0.3.21817161514vault_$v-
DEBPIGSTY0.3.21817161514postgresql-$v-vault-
OS / PGPG18PG17PG16PG15PG14
el8.x86_64
el8.aarch64
el9.x86_64
el9.aarch64
el10.x86_64
el10.aarch64
d12.x86_64
d12.aarch64
d13.x86_64
d13.aarch64
PIGSTY 0.3.2
PIGSTY 0.3.2
PIGSTY 0.3.2
PIGSTY 0.3.2
PIGSTY 0.3.2
u22.x86_64
PIGSTY 0.3.2
PIGSTY 0.3.2
PIGSTY 0.3.2
PIGSTY 0.3.2
PIGSTY 0.3.2
u22.aarch64
PIGSTY 0.3.2
PIGSTY 0.3.2
PIGSTY 0.3.2
PIGSTY 0.3.2
PIGSTY 0.3.2
u24.x86_64
PIGSTY 0.3.2
PIGSTY 0.3.2
PIGSTY 0.3.2
PIGSTY 0.3.2
PIGSTY 0.3.2
u24.aarch64
PIGSTY 0.3.2
PIGSTY 0.3.2
PIGSTY 0.3.2
PIGSTY 0.3.2
PIGSTY 0.3.2
u26.x86_64
u26.aarch64

构建

您可以使用 pig build 命令构建 pg_vault 扩展的 RPM / DEB 包:

pig build pkg pg_vault         # 构建 RPM / DEB 包

安装

您可以直接安装 pg_vault 扩展包的预置二进制包,首先确保 PGDG 和 PIGSTY 仓库已经添加并启用:

pig repo add pgsql -u          # 添加仓库并更新缓存

使用 pig 或者是 apt/yum/dnf 安装扩展:

安装
pig install pg_vault;          # 当前活跃 PG 版本安装
pig
pig ext install -y pg_vault -v 18  # PG 18
pig ext install -y pg_vault -v 17  # PG 17
pig ext install -y pg_vault -v 16  # PG 16
pig ext install -y pg_vault -v 15  # PG 15
pig ext install -y pg_vault -v 14  # PG 14
dnf
dnf install -y vault_18       # PG 18
dnf install -y vault_17       # PG 17
dnf install -y vault_16       # PG 16
dnf install -y vault_15       # PG 15
dnf install -y vault_14       # PG 14
apt
apt install -y postgresql-18-vault   # PG 18
apt install -y postgresql-17-vault   # PG 17
apt install -y postgresql-16-vault   # PG 16
apt install -y postgresql-15-vault   # PG 15
apt install -y postgresql-14-vault   # PG 14

创建扩展:

CREATE EXTENSION supabase_vault;

用法

来源:

supabase_vault 0.3.2 在 PostgreSQL 中保存加密秘密,并通过受权限控制的视图提供解密结果。固定模式为 vault,当前版本不再依赖 pgsodium。上游测试 PostgreSQL 14–19。由超级用户安装,无须预加载或重启。

基本流程

以下值均为演示字符串,不是真实凭据:

CREATE EXTENSION supabase_vault;
SELECT vault.create_secret('example-secret', 'api_token', 'Demo only');
SELECT name, decrypted_secret FROM vault.decrypted_secrets WHERE name = 'api_token';
SELECT vault.update_secret(id, 'replacement-example', 'api_token', 'Rotated demo')
FROM vault.secrets WHERE name = 'api_token';

vault.create_secret 返回秘密 UUID,可接受名称与描述;vault.update_secret 更新指定 UUID。vault.secrets 保存密文和元数据,vault.decrypted_secrets 向获准读取的角色提供明文。应明确限制辅助函数与解密视图的权限。

安全与升级

0.3.2 将秘密创建和更新辅助函数搜索路径中的 pg_temp 移到最后。安装对应文件后,在每个数据库执行 ALTER EXTENSION supabase_vault UPDATE TO '0.3.2'。

静态加密不能阻止有权查询的角色读取明文。秘密字面量和返回值可能进入数据库日志、客户端历史或应用遥测;应使用文档规定的秘密处理流程,并正确配置这些系统。保护加密密钥环境,验证备份恢复行为。不能因为存储表加密,就把解密视图的访问视为安全。

这个页面对您有帮助吗?