位置: 编程技术 - 正文

PostgreSQL教程(十二):角色和权限管理介绍

编辑:rootadmin

推荐整理分享PostgreSQL教程(十二):角色和权限管理介绍,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

PostgreSQL是通过角色来管理数据库访问权限的,我们可以将一个角色看成是一个数据库用户,或者一组数据库用户。角色可以拥有数据库对象,如表、索引,也可以把这些对象上的权限赋予其它角色,以控制哪些用户对哪些对象拥有哪些权限。 一、数据库角色:

1. 创建角色: 2. 删除角色: 3. 查询角色:

检查系统表pg_role,如: 也可以在psql中执行du命令列出所有角色。 二、角色属性:

一个数据库角色可以有一系列属性,这些属性定义他的权限,以及与客户认证系统的交互。

1. 登录权限:

PostgreSQL教程(十二):角色和权限管理介绍

只有具有LOGIN属性的角色才可以用于数据库连接,因此我们可以将具有该属性的角色视为登录用户,创建方法有如下两种: 2. 超级用户: 数据库的超级用户拥有该数据库的所有权限,为了安全起见,我们最好使用非超级用户完成我们的正常工作。和创建普通用户不同,创建超级用户必须是以超级用户的身份执行以下命令: 3. 创建数据库: 角色要想创建数据库,必须明确赋予创建数据库的属性,见如下命令: 4. 创建角色: 一个角色要想创建更多角色,必须明确给予创建角色的属性,见如下命令: 三、权限:

数据库对象在被创建时都会被赋予一个所有者,通常而言,所有者就是执行对象创建语句的角色。对于大多数类型的对象,其初始状态是只有所有者(或超级用户)可以对该对象做任何事情。如果要允许其它用户可以使用该对象,必须赋予适当的权限。PostgreSQL中预定义了许多不同类型的内置权限,如:SELECT、INSERT、UPDATE、DELETE、RULE、REFERENCES、TRIGGER、CREATE、TEMPORARY、EXECUTE和USAGE。

我们可以使用GRANT命令来赋予权限,如: 对于上面的命令,其含义为将accounts表的update权限赋予joe角色。此外,我们也可以用特殊的名字PUBLIC把对象的权限赋予系统中的所有角色。在权限声明的位置上写ALL,表示把适用于该对象的所有权限都赋予目标角色。 要撤销权限,使用合适的REVOKE命令: 其含义为:对所有角色(PUBLIC)撤销在accounts对象上的所有权限(ALL)。

四、角色成员:

在系统的用户管理中,通常会把多个用户赋予一个组,这样在设置权限时只需给该组设置即可,撤销权限时也是从该组撤消。在PostgreSQL中,首先需要创建一个代表组的角色,之后再将该角色的membership权限赋给独立的用户角色即可。 1. 创建一个组角色,通常而言,该角色不应该具有LOGIN属性,如: 2. 使用GRANT和REVOKE命令添加和撤消权限:   一个角色成员可以通过两种方法使用组角色的权限,如: 1. 每个组成员都可以用SET ROLE命令将自己临时"变成"该组成员,此后再创建的任何对象的所有者将属于该组,而不是原有的登录用户。 2. 拥有INHERIT属性的角色成员自动继承它们所属角色的权限。 见如下示例: 现在我们以角色joe的身份与数据库建立连接,那么该数据库会话将同时拥有角色joe和角色admin的权限,这是因为joe"继承(INHERIT)"了admin的权限。然而与此不同的是,赋予wheel角色的权限在该会话中将不可用,因为joe角色只是wheel角色的一个间接成员,它是通过admin角色间接传递过来的,而admin角色却含有NOINHERIT属性,这样wheel角色的权限将无法被joe继承。  这样wheel角色的权限将无法被joe继承。此时,我们可以在该会话中执行下面的命令: 在执行之后,该会话将只拥有admin角色的权限,而不再包括赋予joe角色的权限。同样,在执行下面的命令之后,该会话只能使用赋予wheel的权限。 在执行一段时间之后,如果仍然希望将该会话恢复为原有权限,可以使用下列恢复方式之一: 注意: SET ROLE命令总是允许选取当前登录角色的直接或间接组角色。因此,在变为wheel之前没必要先变成admin。

角色属性LOGIN、SUPERUSER和CREATEROLE被视为特殊权限,它们不会像其它数据库对象的普通权限那样被继承。如果需要,必须在调用SET ROLE时显示指定拥有该属性的角色。比如,我们也可以给admin角色赋予CREATEDB和CREATEROLE权限,然后再以joe的角色连接数据库,此时该会话不会立即拥有这些特殊权限,只有当执行SET ROLE admin命令之后当前会话才具有这些权限。

要删除一个组角色,执行DROP ROLE group_role命令即可。然而在删除该组角色之后,它与其成员角色之间的关系将被立即撤销(成员角色本身不会受影响)。不过需要注意的是,在删除之前,任何属于该组角色的对象都必须先被删除或者将对象的所有者赋予其它角色,与此同时,任何赋予该组角色的权限也都必须被撤消。

PostgreSQL教程(十三):数据库管理详解 一、概述:数据库可以被看成是SQL对象(数据库对象)的命名集合,通常而言,每个数据库对象(表、函数等)只属于一个数据库。不过对于部分系统表而言

PostgreSQL教程(十七):客户端命令(1) 零、口令文件:在给出其它PostgreSQL客户端命令之前,我们需要先介绍一下PostgreSQL中的口令文件。之所以在这里提前说明该文件,是因为我们在后面的示

PostgreSQL教程(十六):系统视图详解 一、pg_tables:该视图提供了对有关数据库中每个表的有用信息地访问。名字类型引用描述schemanamenamepg_namespace.nspname包含表的模式名字。tablenamenamepg_class.re

标签: PostgreSQL教程(十二):角色和权限管理介绍

本文链接地址:https://www.jiuchutong.com/biancheng/319633.html 转载请保留说明!

上一篇:PostgreSQL教程(十四):数据库维护

下一篇:PostgreSQL教程(十三):数据库管理详解

  • 一般纳税人注销公司麻烦吗
  • 企业所得税如何规避
  • 人工费用的核算例题
  • 本年利润是净利润还是利润总额
  • 固定资产投资转化为gdp比例
  • 进项发票认证后暂不抵扣
  • 网站服务器使用什么IP地址
  • 酒店购买毛巾客房领用怎么做会计分录?
  • 原材料暂估分录
  • 低值易耗品按三年摊销吗
  • 营改增后取得施工作业收入需要交哪些税?
  • 印花税注册资本缴税时间
  • 公司购买房产的税费
  • 初级备考心得总结
  • 应付账款期末余额是负数是什么意思
  • 财务部水电费会计分录
  • 核定征收的企业利润怎么处理
  • 企业涉及预计负债的主要事项包括
  • 房屋维修费属于固定资产吗
  • 华为nova10pro支持多少倍变焦
  • 电脑中毒了怎么弄
  • 查账补缴的税的账怎么做
  • php数字转换大写
  • 浅谈使用链式管理加强特殊监管场所
  • php自学
  • 除了个税还有什么税
  • 销售商品并收到货款的会计分录
  • 固态硬盘近年价格走势
  • php在apache中有哪些工作方式
  • PHP:iconv_mime_decode_headers()的用法_iconv函数
  • 在企业扶贫捐赠活动上的讲话
  • 购进商品发生溢余的核算
  • 全资子公司取得注册证可以免临床
  • 债权转让抵押权一并转让,需要办理抵押变更手续
  • JavaScript | 1000个判断条件难道要写了1000个 if ? 一文教你如何实现分支优化
  • Ubuntu18.04配置允许远程访问
  • php中split
  • 大头小尾发票是什么意思
  • 应付职工薪酬如何记账
  • 小规模纳税人开普票要交税吗
  • 季度报税有利润必须要报交所得税吗
  • mongodb bi
  • 记 vue-cli-plugin-dll 使用,优化vue-cli项目构建打包速度
  • 发票可以去做原始凭证吗
  • 高新技术企业三季度申报所得税研发费加计怎么扣除
  • mysql数据库命名 可以用-吗
  • 一般纳税人企业所得税5%还是25%
  • 结转成本注意事项
  • 小规模纳税人附加税费
  • 企业库存现金的限额是
  • 现金预算包括哪些内容,来源是什么
  • 固定资产多少钱算固定资产
  • 信息技术服务费可以全额抵扣吗
  • 应付职工社会保险费计入什么科目
  • 劳动纠纷给员工的建议
  • sql2008开启远程连接
  • win10 系统内存
  • win7系统怎么合并分区
  • win8.1快捷键
  • svcinit.exe - svcinit是什么进程
  • xp系统如何更新
  • auto tool怎么用
  • win8如何打开开始菜单
  • dghm.exe是什么程序
  • windows8网络连接
  • dmg是啥文件
  • 解决在ios8中, cocos2dx 2.x版本里CCClippingNode没有效果的问题
  • 游戏开发之二维码怎么弄
  • 腙基是什么
  • unity开发安卓游戏教程
  • 如何搭建node服务器
  • cpu时钟预取实例是什么
  • 基于stm32的100个毕业设计
  • 文章标题用几号字体
  • 数据库的基本操作语句有哪些
  • 商务英语考英语笔译 算跨考吗
  • 获取已安装应用列表的权限在哪里设置
  • shell脚本计算字符串长度
  • 公寓土地增值税30%-60%阶梯税
  • 广东政务平台网上办事大厅
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设