openGauss学习笔记-108 openGauss 数据库管理-管理用户及权限-用户

文章目录

    • openGauss学习笔记-108 openGauss 数据库管理-管理用户及权限-用户
      • 108.1 创建、修改和删除用户
      • 108.2 私有用户
      • 108.3 永久用户
      • 108.4 用户认证优先规则

openGauss学习笔记-108 openGauss 数据库管理-管理用户及权限-用户

使用CREATE USER和ALTER USER可以创建和管理数据库用户。openGauss包含一个或多个已命名数据库。用户和角色在整个openGauss范围内是共享的,但是其数据并不共享。即用户可以连接任何数据库,但当连接成功后,任何用户都只能访问连接请求里声明的那个数据库。

三权分立下,openGauss用户帐户只能由系统管理员或拥有CREATEROLE属性的安全管理员创建和删除。三权分立时,用户帐户只能由初始用户和安全管理员创建。

在用户登录openGauss时会对其进行身份验证。用户可以拥有数据库和数据库对象(例如表),并且可以向用户和角色授予对这些对象的权限以控制谁可以访问哪个对象。除系统管理员外,具有CREATEDB属性的用户可以创建数据库并授予对这些数据库的权限。

108.1 创建、修改和删除用户

  • 要创建用户,请使用SQL语句CREATE USER。

    例如:创建用户joe,并设置用户拥有CREATEDB属性。

    openGauss=# CREATE USER joe WITH CREATEDB PASSWORD "xxxxxxxxx";
    CREATE ROLE
    
  • 要创建系统管理员,请使用带有SYSADMIN选项的CREATE USER语句 。

  • 要删除现有用户,请使用DROP USER。

  • 要更改用户帐户(例如,重命名用户或更改密码),请使用ALTER USER。

  • 要查看用户列表,请查询视图PG_USER:

    SELECT * FROM pg_user; 
    
  • 要查看用户属性,请查询系统表PG_AUTHID:

    SELECT * FROM pg_authid; 
    

108.2 私有用户

对于有多个业务部门,各部门间使用不同的数据库用户进行业务操作,同时有一个同级的数据库维护部门使用数据库管理员进行维护操作的场景下,业务部门可能希望在未经授权的情况下,管理员用户只能对各部门的数据进行控制操作(DROP、ALTER、TRUNCATE),但是不能进行访问操作(INSERT、DELETE、UPDATE、SELECT、COPY)。即针对管理员用户,表对象的控制权和访问权要能够分离,提高普通用户数据安全性。

三权分立情况下,管理员对其他用户放在属于各自模式下的表无权限。但是,这种无权限包含了无控制权限,因此不能满足上面的诉求。为此,openGauss提供了私有用户方案。即在非三权分立模式下,创建具有INDEPENDENT属性的私有用户。

CREATE USER user_independent WITH INDEPENDENT IDENTIFIED BY "XXXXXXXX";

针对该用户的对象,系统管理员和拥有CREATEROLE属性的安全管理员在未经其授权前,只能进行控制操作(DROP、ALTER、TRUNCATE),无权进行INSERT、DELETE、SELECT、UPDATE、COPY、GRANT、REVOKE、ALTER OWNER操作。

img 须知:

  • PG_STATISTIC系统表和PG_STATISTIC_EXT系统表存储了统计对象的一些敏感信息,如高频值MCV。进行三权分立后系统管理员仍可以通过访问这两张系统表,得到统计信息里的这些信息。
  • 在某些特殊场景下,系统无法保证私有用户数据对初始用户或系统管理员绝对不可见。例如,初始用户或系统管理员通过解析本地数据文件或通过构造特殊函数或操作符被私有用户调用等方式,可能会获取私有用户数据。私有用户如果希望进一步提升数据的安全性,建议对数据进行加密保护。

108.3 永久用户

openGauss提供永久用户方案,即创建具有PERSISTENCE属性的永久用户。

CREATE USER user_persistence WITH persistence IDENTIFIED BY "XXXXXXXX";

只允许初始用户创建、修改和删除具有PERSISTENCE属性的永久用户。

108.4 用户认证优先规则

对于GUC参数b_compatibility_user_host_auth打开的b数据库,如果用户连接,需要有优先匹配的规则,如下。

  • 含有具体的IP地址的用户优先级最高,比如user_name@127.0.0.1。
  • 含有’%'的user_name,按照%的出现顺序决定优先级,%越靠后优先级越高,比如user_name@127.%优先级高于user_name@127%。
  • 只含有user_name。比如user_name的优先级低于user_name@127%。
  • 只含有’%'优先级最低。可匹配所有用户

具体创建的用户名称详情见CREATE USER语句。

👍 点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向!

✏️ 评论,你的意见是我进步的财富!

image-20230718181237113

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/103468.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

DLT645转modbus协议网关采集电表的数据方法

DLT645有两个版本分别是DLT645-97和DLT645-07,该协议主要用于电表抄表,采用为主-从结构的半双工通讯模式,硬件接口使用RS-485今天我们来看下,用远创智控YC-645-TCP网关如何采集电表的数据 1,首先,我们需要…

安科瑞余压监控系统

安科瑞 崔丽洁 机械加压送风系统中为什么要设计旁通阀控制加压送风的正压值?火灾发生后,又能起到什么作用呢? 发生火灾时,绝大多数的人员伤亡不是因为火,而是烟气,随着可燃物的燃烧产生大量的高温烟气&…

Java CC 解析 SQL 语法示例

示例:SimpleSelectParser 解析 select 11; 输出 2; 0)总结 编写 JavaCC 模板,*.jj 文件。 编译生成代码文件。 移动代码文件到对应的包下。 调用生成的代码文件。 1)JavaCC 模板 main/javacc/SimpleSelectParse…

vue3根据数据取消el-table选中状态获取到最新数据

原始数据: //el-table点击复选框事件 function getSelected(selection, row){//判断是否是已选过数据 0为没有选,>0有选过if(initial.value>0 ){let isCheck false //是否取消 true取消 false不取消//循环判断已选的数据是否包含当前点击获取到的…

折纸问题

折纸的次数 —— 从上到下的折痕 本质上是中序遍历的问题,因为每一次在已有的折痕后折的时候,当前折痕上的折痕一定为凹,当前折痕下的折痕一定为凸 。实际模拟了一个不存在的二叉树结构的中序遍历。 注:折纸折几次整颗二叉树就有…

(三)(Driver)驱动开发之双机调试环境搭建及内核驱动的运行

文章目录 1. 驱动开发环境搭建2. 驱动开发新建项目及项目属性配置和编译3. 双机调试环境搭建3.1 安装虚拟机VMware3.2 配置Dbgview.exe工具3.3 基于Windbg的双机调试 4. 内核驱动的运行4.1 临时关闭系统驱动签名校验4.2 加载驱动 1. 驱动开发环境搭建 请参考另一篇:https://bl…

rstudio server 服务器卡死了怎么办

欢迎关注weixin:生信小博士 #rstudio 卡死了怎么办 cd ~/.local/share/ ls rm -fr rstudio.old mv ~/.rstudio ~/.rstudio.oldcd ~/.config/ rm -fr .rstudio.old mv ~/.config/rstudio/ ~/.config/rstudio.oldps -ef|grep t040413 |grep rsession |awk {print $2}| xarg…

音乐制作软件 Studio One 6 mac中文版软件特点

Studio One mac是一款专业的音乐制作软件,该软件提供了全面的音频编辑和混音功能,包括录制、编曲、合成、采样等多种工具,可用于制作各种类型的音乐,如流行音乐、电子音乐、摇滚乐等。 Studio One mac软件特点 1. 直观易用的界面&…

开源博客项目Blog .NET Core源码学习(4:生成验证码)

开源博客项目Blog中的后台管理登录界面中支持输入验证码(如下图所示),本文学习并记录项目中验证码的生成及调用方式。   博客项目中调用VerifyCode类生成验证码,该类位于App.Framwork项目中,命名空间为App.Framwork…

算法通过村第十六关-滑动窗口|白银笔记|经典题目讲解

文章目录 前言最长字串专场无重复字符的最长字串至多包含两个不同字串的最长子串至多包含K个不同字串的最长子串 长度最小的子数组盛水最多的容器寻找字串异位词(排序)字符串的排序找到字符串中所有字母异位 总结 前言 提示:所有的话语都颇为类似,而沉默…

36 机器学习(四):异常值检测|线性回归|逻辑回归|聚类算法|集成学习

文章目录 异常值检测箱线图z-score 保存模型 与 使用模型回归的性能评估线性回归正规方程的线性回归梯度下降的线性回归原理介绍L1 和 L2 正则化的介绍api介绍------LinearRegressionapi介绍------SGDRegressor 岭回归 和 Lasso 回归 逻辑回归基本使用原理介绍正向原理介绍损失…

Web前端接入Microsoft Azure AI文本翻译

Azure 文本翻译是 Azure AI 翻译服务的一项基于云的 REST API 功能。 文本翻译 API 支持实时快速准确地进行源到目标文本翻译。 文本翻译软件开发工具包 (SDK) 是一组库和工具,可用于轻松地将文本翻译 REST API 功能集成到应用程序中。 文本翻译 SDK 可跨 C#/.NET、…

大数据Flink(一百零一):SQL 表值函数(Table Function)

文章目录 SQL 表值函数(Table Function) SQL 表值函数(Table Function) Python UDTF,即 Python TableFunction,针对每一条输入数据,Python UDTF 可以产生 0 条、1 条或者多条输出数据,此外,一条输出数据可以包含多个列。比如以下示例,定义了一个名字为 split 的Pyt…

深度学习第四课

第九章 卷积神经网络解读 9.1 计算机视觉 目标分类 目标识别 64x64x312288 1000x1000x33000000 使用传统神经网络处理机器视觉面临的一个挑战是:数据的输入会非常大 一般的神经网络很难处理海量图像数据。解决这一问题的方法就是卷积神经网络 9.2 卷积运算 …

想要实现Email多账号管理,让SaleSmartly来帮你

Email营销是目前出海企业常见的模式,但是邮件信息整理起来确实不容易,选择一个实用的Email管理工具是很有必要的。SaleSmartly作为一个全渠道客户沟通平台,不仅可以聚合多个Email账号,不仅如此还可以聚合在线聊天(Live…

自动驾驶的未来展望和挑战

自动驾驶技术是一项引人瞩目的创新,将在未来交通领域产生深远影响。然而,随着技术的不断演进,自动驾驶也面临着一系列挑战和障碍。本文将探讨自动驾驶的未来发展方向、技术面临的挑战,以及自动驾驶对社会和环境的潜在影响。 自动驾…

和鲸赞助丨第16届中国R会议暨2023 X-AGI大会通知

第16届中国 R 会议暨2023 X-AGI大会将于11月25-30日在中国人民大学召开,探讨数据科学和人工智能的相关进展,本次会议将采用线上会议和线下会议相结合的方式举办。 在过去的15年里,中国R会议一直致力于探讨数据科学在各学科、各行业的探索和实…

4大软件测试策略的特点和区别(单元测试、集成测试、确认测试和系统测试)

四大软件测试策略分别是单元测试、集成测试、确认测试和系统测试。 一、单元测试 单元测试也称为模块测试,它针对软件中的最小单元(如函数、方法、类、模块等)进行测试,以验证其是否符合预期的行为和结果。单元测试通常由开发人…

同为科技(TOWE)机架PDU产品在IDC数据中心机房建设中的应用

当今社会互联网发展迅速, 随着带宽需求的提升, 网络的保密性、安全性的要求就越来越迫切。PDU(Power Distribution Unit) 是 PDU具备电源分配和管理功能的电源分配管理器。PDU电源插座是多有设备运行的第一道也是最为密切的部件, PDU的好坏直…

linux,windows命令行输出控制指令,带颜色的信息,多行刷新,进度条效果,golang

一、带颜色的信息 linux 颜色及模式编号 // 前景 背景 颜色 // --------------------------------------- // 30 40 黑色 // 31 41 红色 // 32 42 绿色 // 33 43 黄色 // 34 44 蓝色 // 35 45 紫红色 // 36 46 青蓝色 // 37 47 白色 // // 模式代码 意义 //…