PostgreSQL 创建受限用户并限制数据访问

打印 上一主题 下一主题

主题 1640|帖子 1640|积分 4920

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
PostgreSQL 创建受限用户并限制数据访问

要实现创建一个只能访问特定表且只能看到特定组织数据(org_id=123)的用户,同时禁止访问hs_disce表,可以按照以下步骤操作:
1. 创建新用户

  1. CREATE USER restricted_user WITH PASSWORD 'secure_password';
复制代码
2. 授予基本毗连权限

  1. GRANT CONNECT ON DATABASE your_database TO restricted_user;
复制代码
3. 授予特定表的访问权限

  1. GRANT USAGE ON SCHEMA public TO restricted_user;
  2. GRANT SELECT ON hs_report_task TO restricted_user;
  3. GRANT SELECT ON hs_recipel TO restricted_user;
  4. GRANT SELECT ON hs_recipel_item TO restricted_user;
复制代码
4. 设置行级安全策略(RLS)

起首确保表已启用行级安全:
  1. ALTER TABLE hs_report_task ENABLE ROW LEVEL SECURITY;
  2. ALTER TABLE hs_recipel ENABLE ROW LEVEL SECURITY;
  3. ALTER TABLE hs_recipel_item ENABLE ROW LEVEL SECURITY;
复制代码
然后为每张表创建策略:
  1. -- 对hs_report_task表的策略
  2. CREATE POLICY org_restriction_policy_report_task ON hs_report_task
  3.     FOR SELECT
  4.     TO restricted_user
  5.     USING (org_id = 123);
  6. -- 对hs_recipel表的策略
  7. CREATE POLICY org_restriction_policy_recipel ON hs_recipel
  8.     FOR SELECT
  9.     TO restricted_user
  10.     USING (org_id = 123);
  11. -- 对hs_recipel_item表的策略
  12. CREATE POLICY org_restriction_policy_recipel_item ON hs_recipel_item
  13.     FOR SELECT
  14.     TO restricted_user
  15.     USING (org_id = 123);
复制代码
5. 确保用户无法访问hs_disce表

  1. REVOKE ALL PRIVILEGES ON hs_disce FROM restricted_user;
复制代码
6. 可选:创建视图简化访问

假如必要,可以为该用户创建视图:
  1. CREATE VIEW restricted_user_hs_report_task AS
  2. SELECT * FROM hs_report_task WHERE org_id = 123;
  3. GRANT SELECT ON restricted_user_hs_report_task TO restricted_user;
  4. -- 对其他表重复类似操作
复制代码
验证设置


  • 使用新用户登录:
  1. psql -U restricted_user -d your_database
复制代码

  • 尝试查询数据:
  1. SELECT * FROM hs_report_task;  -- 应该只看到org_id=123的数据
  2. SELECT * FROM hs_disce;       -- 应该被拒绝
复制代码
这样设置后,restricted_user用户将只能看到三张指定表中org_id=123的数据,而无法访问hs_disce表或其他不符合条件的数据。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

滴水恩情

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表