30.7. 安全性
能够修改订阅者侧模式的用户可以作为超级用户执行任意代码。将这些表上的所有权和TRIGGER
特权限制为超级用户信任的角色。
此外,如果不受信任的用户可以创建表,则只使用显式列出表的发布。
也就是说,只有当超级用户信任允许在发布者或订阅者上创建非临时表的所有用户时,才创建FOR ALL TABLES
的订阅。
用于复制连接的角色必须具有REPLICATION
属性(或者是超级用户)。
如果角色缺少SUPERUSER
和 BYPASSRLS
,发布者的行安全策略可以执行。
如果角色不信任全部表所有者,则在连接字符串中包含options=-crow_security=off
;如果表所有者随后添加行安全策略,则该设置将导致复制中断,而不是执行该策略。
角色的访问权限必须在pg_hba.conf
中配置,并且必须具有LOGIN
属性。
为了能够拷贝初始表数据,用于复制连接的角色必须在被发布的表上具有SELECT
特权(或者是一个超级用户)。
要创建发布,用户必须在数据库中有CREATE
特权。
要把表加入到一个发布,用户必须在该表上有拥有权。要创建一个自动发布所有表的发布,用户必须是一个超级用户。
要创建订阅,用户必须是一个超级用户。
订阅的应用过程将在本地数据库上以超级用户的特权运行。
特权检查仅在复制连接开始时被执行一次。在从发布者读到每一个更改记录时不会重新检查特权,在每一个更改被应用时也不会重新检查特权。
文章转载自PostgreSQL全球开发组,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
玩一玩系列——玩玩pg_mooncake(PostgreSQL的高性能列存新贵)
小满未满、
550次阅读
2025-03-03 17:18:03
王炸!OGG 23ai 终于支持从PostgreSQL备库抽取数据了
曹海峰
401次阅读
2025-03-09 12:54:06
玩一玩系列——玩玩login_hook(一款即将停止维护的PostgreSQL登录插件)
小满未满、
375次阅读
2025-03-08 18:19:28
明明想执行的SQL是DELETE、UPDATE,但为什么看到的是SELECT(FDW的实现原理解析)
小满未满、
352次阅读
2025-03-19 23:11:26
PostgreSQL初/中/高级认证考试(3.15)通过考生公示
开源软件联盟PostgreSQL分会
304次阅读
2025-03-20 09:50:36
IvorySQL 4.4 发布 - 基于 PostgreSQL 17.4,增强平台支持
通讯员
198次阅读
2025-03-20 15:31:04
套壳论
梧桐
188次阅读
2025-03-09 10:58:17
命名不规范,事后泪两行
xiongcc
178次阅读
2025-03-13 14:26:08
PG vs MySQL 执行计划解读的异同点
进击的CJR
122次阅读
2025-03-21 10:50:08
版本发布| IvorySQL 4.4 发布
IvorySQL开源数据库社区
115次阅读
2025-03-13 09:52:33