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

news2024/11/24 20:14:48

文章目录

    • openGauss学习笔记-109 openGauss 数据库管理-管理用户及权限-角色
      • 109.1 创建、修改和删除角色
      • 109.2 内置角色

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

角色是一组用户的集合。通过GRANT把角色授予用户后,用户即具有了角色的所有权限。推荐使用角色进行高效权限分配。例如,可以为设计、开发和维护人员创建不同的角色,将角色GRANT给用户后,再向每个角色中的用户授予其工作所需数据的差异权限。在角色级别授予或撤消权限时,这些更改将作用到角色下的所有成员。

openGauss提供了一个隐式定义的拥有所有角色的组PUBLIC,所有创建的用户和角色默认拥有PUBLIC所拥有的权限。关于PUBLIC默认拥有的权限请参考GRANT。要撤销或重新授予用户和角色对PUBLIC的权限,可通过在GRANT和REVOKE指定关键字PUBLIC实现。

要查看所有角色,请查询系统表PG_ROLES:

SELECT * FROM PG_ROLES;

109.1 创建、修改和删除角色

三权分立时,只有系统管理员和具有CREATEROLE属性的用户才能创建、修改或删除角色。三权分立下,只有初始用户和具有CREATEROLE属性的用户才能创建、修改或删除角色。

  • 要创建角色,请使用CREATE ROLE。
  • 要在现有角色中添加或删除用户,请使用ALTER ROLE。
  • 要删除角色,请使用DROP ROLE。DROP ROLE只会删除角色,并不会删除角色中的成员用户帐户。

109.2 内置角色

openGauss提供了一组默认角色,以gs_role_开头命名。它们提供对特定的、通常需要高权限的操作的访问,可以将这些角色GRANT给数据库内的其他用户或角色,让这些用户能够使用特定的功能。在授予这些角色时应当非常小心,以确保它们被用在需要的地方。表1描述了内置角色允许的权限范围:

表 1 内置角色权限描述

角色权限描述
gs_role_copy_files具有执行copy … to/from filename的权限,但需要先打开GUC参数enable_copy_server_files。
gs_role_signal_backend具有调用函数pg_cancel_backend、pg_terminate_backend和pg_terminate_session来取消或终止其他会话的权限,但不能操作属于初始用户和PERSISTENCE用户的会话。
gs_role_tablespace具有创建表空间(tablespace)的权限。
gs_role_replication具有调用逻辑复制相关函数的权限,例如kill_snapshot、pg_create_logical_replication_slot、pg_create_physical_replication_slot、pg_drop_replication_slot、pg_replication_slot_advance、pg_create_physical_replication_slot_extern、pg_logical_slot_get_changes、pg_logical_slot_peek_changes、pg_logical_slot_get_binary_changes、pg_logical_slot_peek_binary_changes。
gs_role_account_lock具有加解锁用户的权限,但不能加解锁初始用户和PERSISTENCE用户。
gs_role_pldebugger具有执行dbe_pldebugger下调试函数的权限。
gs_role_directory_create具有执行创建directory对象的权限,但需要先打开GUC参数enable_access_server_directory。
gs_role_directory_drop具有执行删除directory对象的权限,但需要先打开GUC参数enable_access_server_directory。

关于内置角色的管理有如下约束:

  • 以gs_role_开头的角色名作为数据库的内置角色保留名,禁止新建以“gs_role_”开头的用户/角色,也禁止将已有的用户/角色重命名为以“gs_role_”开头;

  • 禁止对内置角色的ALTER和DROP操作;

  • 内置角色默认没有LOGIN权限,不设预置密码;

  • gsql元命令\du和\dg不显示内置角色的相关信息,但若显示指定了pattern为特定内置角色则会显示;

  • 三权分立关闭时,初始用户、具有SYSADMIN权限的用户和具有内置角色ADMIN OPTION权限的用户有权对内置角色执行GRANT/REVOKE管理。三权分立打开时,初始用户和具有内置角色ADMIN OPTION权限的用户有权对内置角色执行GRANT/REVOKE管理。例如:

    GRANT gs_role_signal_backend TO user1;
    REVOKE gs_role_signal_backend FROM user1;
    

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

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

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

image-20230719173459229

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[计算机提升] Windows设置

2.1 Windows设置 Windows设置提供了一个用户界面,用于更改和定制Windows操作系统的各种功能和选项。通过Windows设置,用户可以轻松访问和修改各种系统设置,包括个性化选项、网络和互联网设置、设备设置、应用程序安装和管理、隐私设置等。 以…

【Linux】Linux的安装以及常见命令

🥳🥳Welcome Huihuis Code World ! !🥳🥳 接下来看看由辉辉所写的关于Linux的相关操作吧 一.Linux的安装 1.创建虚拟机 2.选择linux 3.配置虚拟机 4.开启虚拟机 默认回车即可 5.安装linux 5.登录账户 6.解决网络问题 ①先查看一下…

mathtype7.4激活密钥免费2023最新

准确来讲MathPage支持MathJax技术,可利用MathPage技术选择发布您的Word文档与MathML方程,显示为网页页面。实际上我们可以这样讲兼容个版本office:MathType与Office有很好的兼容性,可与office办公软件或WPS配合使用。大家都知道支…

Java-逻辑控制

本章重点: 1. Java中程序的逻辑控制语句 2. Java中的输入输出方式 3. 完成猜数字游戏 1. 分支结构 1.1 if语句 //如果布尔表达式结果为true,执行if中的语句,否则不执行。 比如:小明,如果这次考试考到90分或…

leetcode经典面试150题---3.删除有序数组中的重复项

目录 题目描述 前置知识 代码 方法一 双指针 思路 图解 实现 复杂度 题目描述 给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致…

FL Studio21.2演示版下载

FL Studio 21.2 带有 stem 分离和 FL Cloud,这是一项专为 FL Studio 打造的具有里程碑意义的新服务。其他新功能包括 FL Studio Fruity Edition 的 Audio Clips(音频剪辑)和一个新的模拟建模合成器 Kepler。 为庆祝 FL Studio 21.2 的发布&am…

抖音很火的情侣飞行棋/真心话大冒险/情侣扫雷html网站源码带在线支付、代理分销等!

-------- 演示地址 -------- 演示地址:http://game.71.vy386.cn 演示后台:http://game.71.vy386.cn/admin 后台账号:admin888 后台密码:admin888 -------- 程序特色 -------- 1、完整的分销制度,可自定义多种不同…

黔院长 | 一文了解五脏的脏象!

你知道五脏的脏象是怎样的吗?下面一起来了解一下吧。 首先是我们的心,心主血脉,在体合脉,开窍于舌,其华在面。是说心脏是我们生命的根本,心气推动全身的血脉得以正常运行,心发生的生理和病理可…

C语言浮点型在内存中的存储

目录 前言: 引言: 浮点数存储规则 举个栗子: TIP: 单精度浮点数存储的模型(float) 双精度浮点数存储的模型(double) IEEE对 M 的特殊规定 IEEE对 E 的特殊规定 小试牛刀 先…

qt-C++笔记之在两个标签页中按行读取两个不同的文件并且滚动条自适应滚动范围高度

qt-C笔记之在两个标签页中按行读取两个不同的文件并且滚动条自适应滚动范围高度 code review! 文章目录 qt-C笔记之在两个标签页中按行读取两个不同的文件并且滚动条自适应滚动范围高度1.运行2.文件结构3.main.cc4.main.pro5.a.txt6.b.txt7.上述代码中QVBoxLayout&#xff0c…

EasyRecovery2024免费激活码

EasyRecovery这款软件可以恢复被删除的数据,那我就简单为大家介绍一下这款数据恢复软件EasyRecovery吧! EasyRecovery是一款操作简单、功能强大数据恢复软件,通过EasyRecovery可以从硬盘、光盘、U盘、数码相机、手机等各种设备中恢复被删除或…

Leetcode刷题详解——下降路径最小和

1. 题目链接:931. 下降路径最小和 2. 题目描述: 给你一个 n x n 的 方形 整数数组 matrix ,请你找出并返回通过 matrix 的下降路径 的 最小和 。 下降路径 可以从第一行中的任何元素开始,并从每一行中选择一个元素。在下一行选择…

vue源码分析(七)—— createComponent

文章目录 前言一、createComponent 参数说明二、createComponent 源码详解1.baseCtor的实际指向2.extend 方法3.判断Ctor是否是函数的判断4.installComponentHooks方法5.返回一个带标识的组件 vnode 前言 createComponent文件的路径: src\core\vdom\create-componen…

C++之C++11引入enum class与传统enum关键字总结(二百五十一)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…

ubuntu配置 Conda 更改默认环境路径

我的需求是以后凡是新建一个虚拟环境都需要安装在一个挂载了大容量的分区/data里面 /home里面的是即将爆满但是还能塞点东西的硬盘. 如果您想要永久更改 Conda 的默认环境路径,可以编辑 Conda 的配置文件。首先,找到 Conda 的配置文件通常是 .condarc 文…

WAF绕过-权限控制之代码混淆造轮子48

我们拿到权限要做,读文件,写文件,命令执行等等,这些功能如果部署于对方waf环境的话,也会被拦截。 一个文件下载到本地之后,杀毒网站会对这个文件进行检测,有没有病毒或者木马,这个杀…

rhcsa目录练习

要求 在根下创建一个叫做test的目录,在test的目录下创建三个普通文件file1 file2 file3,给file1创建一个软链接aa,给file2创建两个硬链接,在test目录下创建一个ceshi的目录,在ceshi的目录下创建a1-a8,b1-b8,ac1-ad8的…

车载音频项目

加我微信hezkz17进数字音频系统研究开发交流答疑群(课题组) ー 1.负责此项目的音频链路的设计及其实现 在ADSP21375上实现音频链路的处理。如噪声门,压限器,高低通,PEQ、各种效果等。 2.负责DSP与MCU端SPI协议实现。M…

评价模型:CRITIC客观赋权法

目录 1.算法原理介绍2.算法步骤2.1 数据标准化2.2 计算信息承载量2.3 计算权重和得分 3.案例分析 1.算法原理介绍 CRITIC方法是一种客观权重赋权法,其基本思路是确定指标的客观权数以两个基本概念为基础。一是对比强度,它表示同一指标各个评价方案取值差…

RealVNC Enterprise 7.7.0 Crack

RealVNC连接_旗舰产品 RealVNC Connect 是为需要强大安全性、弹性和安心的组织提供的远程访问解决方案。 设备访问 按需协助 随时随地安全访问和管理任何设备 通过安全的远程访问让您的组织保持联系,帮助您提高生产力并促进更广泛的协作。 随时随地安全远程访问和…