作者
digoal
日期
2021-09-03
标签
PostgreSQL , catalog , 全局可见
1、产品的问题点
- PG catalog全局可见
2、问题点背后涉及的技术原理
- 任何用户都可以查看目前PG实例中有哪些用户名、它们的权限、有哪些数据库、有哪些表空间、有哪些权限设置等
postgres=> \du List of roles Role name | Attributes | Member of -----------+------------------------------------------------------------+--------------------- abc | Cannot login | {} d | Cannot login | {} postgres | Superuser, Create role, Create DB, Replication, Bypass RLS | {} ro | | {pg_read_all_data} rw | | {pg_write_all_data} postgres=> \db List of tablespaces Name | Owner | Location ------------+----------+---------- pg_default | postgres | pg_global | postgres | (2 rows) postgres=> \l List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------+----------+----------+---------+-------+----------------------- postgres | postgres | UTF8 | C | en_US | template0 | postgres | UTF8 | C | en_US | =c/postgres + | | | | | postgres=CTc/postgres template1 | postgres | UTF8 | C | en_US | =c/postgres + | | | | | postgres=CTc/postgres (3 rows) postgres=> \dp+ Access privileges Schema | Name | Type | Access privileges | Column privileges | Policies --------+----------------+-------+---------------------------+-------------------+---------- public | a | table | | | public | b | table | | | public | c | table | | | public | comments | table | | | public | pg_buffercache | view | postgres=arwdDxt/postgres+| | | | | pg_monitor=r/postgres | | public | posts | table | | | public | t | table | | | (7 rows) postgres=> \dx List of installed extensions Name | Version | Schema | Description ----------------+---------+------------+--------------------------------- pg_buffercache | 1.3 | public | examine the shared buffer cache pgcrypto | 1.3 | public | cryptographic functions plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language roaringbitmap | 0.5 | public | support for Roaring Bitmaps (4 rows)
复制
3、这个问题将影响哪些行业以及业务场景
- SaaS类业务
- DBaaS类业务
4、会导致什么问题?
- SaaS类业务, 一个数据库实例可能给多个客户使用, 每个客户分配1个数据库账号, 给予1个私有数据库. 但是它可以看到这个实例中还有哪些用户、哪些数据库, 虽然可以从权限上隔离DB之间的互相访问, 但是依旧可能在名字上泄露商业机密.
- DBaaS类业务, 与之类似.
5、业务上应该如何避免这个坑
- 每个用户使用一个实例, 而不是通过实例中的 不同用户 和 不同数据库 来进行区分.
6、业务上避免这个坑牺牲了什么, 会引入什么新的问题
- 实例过多, 需要为每个实例分配独立的内存, 比较浪费资源.
- 一个大实例中创建多个DB和USER可以更好的实现资源的共享, 充分利用资源, 同时能支持更好的弹性伸缩.
7、数据库未来产品迭代如何修复这个坑
- 希望内核支持, 对普通用户隐藏敏感的全局数据. 例如设计实例级全局用户专门用来管理集群, 其他的是普通超级用户, 普通用户
PostgreSQL 许愿链接
您的愿望将传达给PG kernel hacker、数据库厂商等, 帮助提高数据库产品质量和功能, 说不定下一个PG版本就有您提出的功能点. 针对非常好的提议,奖励限量版PG文化衫、纪念品、贴纸、PG热门书籍等,奖品丰富,快来许愿。开不开森.
9.9元购买3个月阿里云RDS PostgreSQL实例
PostgreSQL 解决方案集合
德哥 / digoal's github - 公益是一辈子的事.
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
9.9 分高危漏洞,尽快升级到 pgAdmin 4 v9.2 进行修复
严少安
331次阅读
2025-04-11 10:43:23
3月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
320次阅读
2025-04-15 14:48:05
openHalo问世,全球首款基于PostgreSQL兼容MySQL协议的国产开源数据库
严少安
271次阅读
2025-04-07 12:14:29
postgresql+patroni+etcd高可用安装
necessary
147次阅读
2025-03-28 10:11:23
从 Oracle 到 PostgreSQL迁移成本评估揭秘
梧桐
140次阅读
2025-03-27 17:21:42
转发有奖 | PostgreSQL 16 PGCM高级认证课程直播班招生中!
墨天轮小教习
139次阅读
2025-04-14 15:58:34
手把手教你在 openKylin 上部署 IvorySQL 4.4
严少安
139次阅读
2025-03-27 20:41:28
从Percona 发布Pro级产品得到的一些启发
库海无涯
118次阅读
2025-03-26 08:45:23
墨天轮PostgreSQL认证证书快递已发(2025年3月批)
墨天轮小教习
116次阅读
2025-04-03 11:43:25
PostgreSQL消息队列拓展——PGQ
chirpyli
115次阅读
2025-03-25 09:09:09
热门文章
阿里巴巴的使命、愿景、核心价值观
2021-01-04 67665浏览
MacOS 关闭和开启虚拟内存(swap)
2022-01-20 17719浏览
[珍藏级] PostgreSQL ssl 证书配置 - 防止中间攻击者 - 以及如何使用证书无密码登录配置cert
2020-06-19 16511浏览
PostgreSQL md5hash插件 - 128bit 存储,压缩空间、提升效率
2019-11-08 14351浏览
产品与运营-OKR的设计、总结、复盘、规划、组织保障和考核例子
2022-01-20 13201浏览
最新文章
PostgreSQL 15 preview - PostgreSQL 15 pg_stat_statements 增加对temp file blocks io timing的统计, 增加JIT的统计.
2022-01-20 267浏览
德说-第92期, 怎么解决躺平|不想奋斗?
2022-01-20 301浏览
PostgreSQL 增量物化视图插件 - pg_ivm incremental materialized view maintenance
2022-01-20 1390浏览
PostgreSQL 15 preview - ARM多核适配 性能提升 - Use ISB as a spin-delay instruction on ARM64
2022-01-20 779浏览
PostgreSQL 15 preview - recovery(包括崩溃恢复、逻辑流复制、物理流复制、归档恢复) 加速, 支持异步prefetch 预读接下来要恢复的wal record相关的data block到shared buffer
2022-01-20 1207浏览