作为一款数据可视化软件,用户更多的是利用Redash中文版来查找分析数据源,而不需要编辑变更数据内容,在建立数据源时,配置一个带有权限控制的数据库用户,能更好地保障数据安全,避免用户误操作导致丢失数据。下面以PostgreSQL数据源为例,演示如何配置只读数据模式。
首先创建一个新数据库命名为business,拥有者为admin,数据库中建立三个表Employees,jobs和customers,并填入数据。数据库管理员能控制公共用户的所有权限,直接撤消公共角色的权限会影响当前所有用户和角色。因此在实际架构中,处理方式一般是在数据库中设置一部分只读权限的角色,同时系统也保留其他不同权限的角色。
1、建立只读角色 readonly
CREATE ROLE readonly;
GRANT CONNECT ON DATABASE defaultbusiness TO readonly;
GRANT USAGE ON SCHEMA business TO readonly;
在PostgreSQL的操作中,在PostgreSQL的操作中,配置只允许访问usage模式中包含的对象,因此只读模式中查找功能将不受影响。
2、授予新角色权限
GRANT SELECT ON TABLE "business"."employees" TO readonly;
GRANT SELECT ON TABLE "business"."jobs" TO readonly;
GRANT SELECT (id, name) ON TABLE business.customers TO readonly;
前