加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

postgresql – 撤消对角色的postgres数据库的访问权限

发布时间:2020-12-13 18:07:31 所属栏目:百科 来源:网络整理
导读:我为一个应该只执行一些存储函数的用户创建了一个单独的角色“newrole”和新模式“newschema”.我已设法撤销对当前数据库的模式“public”的访问权限. 登录为“newrole”我仍然可以访问postgres数据库,如下所示: SELECT * FROM pg_user 我想撤销对postgres
我为一个应该只执行一些存储函数的用户创建了一个单独的角色“newrole”和新模式“newschema”.我已设法撤销对当前数据库的模式“public”的访问权限.

登录为“newrole”我仍然可以访问postgres数据库,如下所示:

SELECT * FROM pg_user

我想撤销对postgres数据库的所有访问权限并尝试执行以下操作:

REVOKE ALL ON DATABASE postgres FROM newrole

当以newrole身份登录时,我仍然可以阅读postgres数据库.

如何撤销对postgres管理数据库的任何访问?

我已经搜索了很长时间但没有找到任何有关访问postgres管理数据库的信息.

TIA,

此问题与数据库postgres无关.相反,您希望操纵当前数据库的目录.每个数据库都有一个关于模式pg_catalog中所有对象的信息目录,以及模式information_schema中符合标准的表单,因此您应该限制对相关角色的访问以及公共角色的访问,因为每个角色也是该角色的成员.角色:
REVOKE ALL PRIVILEGES ON SCHEMA pg_catalog FROM newrole;
REVOKE ALL PRIVILEGES ON SCHEMA pg_catalog FROM public;
REVOKE ALL PRIVILEGES ON SCHEMA information_schema FROM newrole;
REVOKE ALL PRIVILEGES ON SCHEMA information_schema FROM public;

但是,系统并不总是遵守这种全面限制,目录是有原因的,并在数据库中提供重要功能.特别是功能仍然可以执行.

一般来说,除非你真的知道自己在做什么,否则你不想弄乱目录.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读