Case: 一个read-only 角色对某个schema下的新建的表,无需单独授权,直接拥有只读权

简介: Case: 一个read-only 角色对某个schema下的新建的表,无需单独授权,直接拥有只读权限首先,你要知道PostgreSQL默认schema下新建的表,对于一个普通用户不会有select的权限的,所以我需要修改PostgreSQl默认的权限,把select提前赋...

Case: 一个read-only 角色对某个schema下的新建的表,无需单独授权,直接拥有只读权限

首先,你要知道PostgreSQL默认schema下新建的表,对于一个普通用户不会有select的权限的,所以我需要修改PostgreSQl默认的权限,把select提前赋予普通用户,需要使用到alter default privileges这个命令


Session1 (user:postgres):

#psql

create role role1 password '123456' login;

create schema schema1;

grant usage on schema schema1 to role1;

testdb=# \dn+ schema1;

                     List of schemas

  Name   |  Owner   |  Access privileges   | Description

---------+----------+----------------------+-------------

schema1 | postgres | postgres=UC/postgres+|

         |          | role1=U/postgres     |


alter default privileges in schema schema1 grant select on tables to role1;


testdb=# \ddp+

           Default access privileges

  Owner   | Schema  | Type  | Access privileges

----------+---------+-------+-------------------

postgres | schema1 | table | role1=r/postgres


create table schema1.t1(c1 int,c2 varchar(10));

insert into schema1.t1 values(1,'aaa');


testdb=# \dp+

                                 Access privileges

Schema  | Name | Type  |     Access privileges     | Column privileges | Policies

---------+------+-------+---------------------------+-------------------+----------

schema1 | t1   | table | postgres=arwdDxt/postgres+|                   |

         |      |       | role1=r/postgres          |                   |


Session2 read_only:


#psql -h 172.16.101.54 -p 5432 testdb role1

testdb=> select * from schema1.t1;

c1 | c2  

----+-----

  1 | aaa

(1 row)


目录
相关文章
|
7天前
|
数据采集 BI 数据安全/隐私保护
润乾填报表利用外部参数进行权限控制
填报表可完成数据录入、补录等的数据采集工作,但其过程中还包括很多细节的功能,比如数据校验、使用编辑控件等。另外比较重要的一点则是权限控制,毕竟不能任何人访问同一个填报表都可随意编辑、所有内容都可见等,且往往这些权限控制的参数均来自外部,比如系统的会话变量 或者 报表 url 中带来的外部参数。
|
6月前
|
Linux 数据安全/隐私保护
查看权限控制信息,ls -l可以查看列表数据,展现权限细节,1号位表示权限细节,有10个槽位,第一个位置 -表示文件,d文件夹 | 软链接,前3部分表示所属用户权限,中间用户组权限,后部分其他用户权限
查看权限控制信息,ls -l可以查看列表数据,展现权限细节,1号位表示权限细节,有10个槽位,第一个位置 -表示文件,d文件夹 | 软链接,前3部分表示所属用户权限,中间用户组权限,后部分其他用户权限
查看权限控制信息,ls -l可以查看列表数据,展现权限细节,1号位表示权限细节,有10个槽位,第一个位置 -表示文件,d文件夹 | 软链接,前3部分表示所属用户权限,中间用户组权限,后部分其他用户权限
|
Go
链接服务器 "(null)" 的 OLE DB 访问接口 "SQLNCLI11" 指示该对象没有列,或当前用户没有访问该对象的权限。
原文:链接服务器 "(null)" 的 OLE DB 访问接口 "SQLNCLI11" 指示该对象没有列,或当前用户没有访问该对象的权限。   SELECT * FROM OPENROWSET('SQLOLEDB', 'server=.
6370 0
|
8月前
|
安全 关系型数据库 数据库
postgresql|数据库|角色(用户)管理工作---授权和去权以及usage和select两种权限的区别
postgresql|数据库|角色(用户)管理工作---授权和去权以及usage和select两种权限的区别
393 0
|
BI 数据处理 开发工具
【批量创建,删除工作表】
【批量创建,删除工作表】
|
关系型数据库 MySQL
|
SQL 数据库 数据库管理
​数据库之定义删除修改基本表
​数据库之定义删除修改基本表
136 0
|
SQL XML 缓存
修改若依的数据权限功能
修改若依的数据权限功能
1195 0
【Excel自动化办公Part3】:工作表的创建、删除、复制和修改名称,冻结窗格,添加筛选
【Excel自动化办公Part3】:工作表的创建、删除、复制和修改名称,冻结窗格,添加筛选
178 0
【Excel自动化办公Part3】:工作表的创建、删除、复制和修改名称,冻结窗格,添加筛选
|
数据库
SAP Basis DEBUG改表数据权限角色设计
SAP Basis DEBUG改表数据权限角色设计
SAP Basis DEBUG改表数据权限角色设计