我正在开发一个分析应用程序,它提供 Postgres DB 中数据仓库的多层次可视化。它的要求之一是不同的用户应该对数据具有不同的访问权限。例如,一些用户应该只从特定表中提取指标 ( counts
, avgs
, sums
),而其他用户可以将数据下钻到列级别。
例子:
employee table
id | name | salary
-------+--------+--------+
1 | josé | 20000
2 | joão | 80000
3 | tiago | 60000
user 1 (can drill down)
------
=> select name from employee where id = 1
=> josé
user 2 (can read only aggregate data)
------
=> select avg(salary) from employee
=> 53333.3333333
=> select name from employee where id = 1
=> ERROR
我认为任何 RDBMS 都不会原生提供。但我想知道是否有任何工具可以帮助我完成此授权级别,而无需在应用程序级别对其进行硬编码。
您可以使用视图执行此操作。视图的列必须命名,不能在函数形式中指定。
现在作为用户2:
有内置机制行安全策略。在此处输入链接描述