达梦数据库权限和预定角色介绍

概述

本文对达梦数据库数据库和对象权限及DM预定义角色及角色创建进行介绍。

1.权限管理

用户权限有两类:数据库权限和对象权限。

数据库权限主要是指针对数据库对象的创建、删除、修改的权限,对数据库备份等权限。

数据库权限一般由 SYSDBA、SYSAUDITOR 和 SYSSSO 指定,也可以由具有特权的其他用户授予。

而对象权限主要是指对数据库对象中的数据的访问权限。

对象权限一般由数据库对象的所有者授予用户,也可由 SYSDBA 用户指定,或者由具有该对象权限的其他用户授权。
 

1.1 数据库权限

数据库权限与 DM 预定义角色有着重要的联系,一些数据库权限由于权力较大,只集中在几个 DM 系统预定义角色中,且不能转授。

                                               表1.1 常用的几种数据库权限

数据库权限说明
CREATE TABLE在自己的模式中创建表的权限
CREATE VIEW在自己的模式中创建视图的权限
CREATE USER创建用户的权限
CREATE TRIGGER在自己的模式中创建触发器的权限
ALTER USER修改用户的权限
ALTER DATABASE修改数据库的权限
CREATE PROCEDURE在自己模式中创建存储程序的权限
SELECT ANY DICTIONARY查询任意系统表或系统视图的记录的权限

不同类型的数据库对象,其相关的数据库权限也不相同。

例如,对于表对象,相关的数据库权限包括:CREATE TABLE:创建表
CREATE ANY TABLE:在任意模式下创建表
ALTER ANY TABLE:修改任意表
DROP ANY TABLE:删除任意表
INSERT TABLE:插入表记录
INSERT ANY TABLE:向任意表插入记录
UPDATE TABLE:更新表记录
UPDATE ANY TABLE:更新任意表的记录
DELETE TABLE:删除表记录
DELETE ANY TABLE:删除任意表的记录
SELECT TABLE:查询表记录
SELECT ANY TABLE:查询任意表的记录
REFERENCES TABLE:引用表
REFERENCES ANY TABLE:引用任意表
DUMP TABLE:导出表
DUMP ANY TABLE:导出任意表
GRANT TABLE:向其他用户进行表上权限的授权
GRANT ANY TABLE:向其他用户进行任意表上权限的授权
FLASHBACK TABLE:闪回表
FLASHBACK ANY TABLE:闪回任意表
而对于存储程序对象,其相关的数据库权限则包括:CREATE PROCEDURE:创建存储程序
CREATE ANY PROCEDURE:在任意模式下创建存储程序
DROP ANY PROCEDURE:删除任意存储程序
EXECUTE PROCEDURE:执行存储程序
EXECUTE ANY PROCEDURE:执行任意存储程序
GRANT PROCEDURE:向其他用户进行存储程序上权限的授权
GRANT ANY PROCEDURE:向其他用户进行任意存储程序上权限的授权

需要说明的是,表、视图、触发器、存储程序等对象为模式对象,在默认情况下对这些对象的操作都是在当前用户自己的模式下进行的。

如果要在其他用户的模式下操作这些类型的对象,需要具有相应的 ANY 权限。例如,要能够在其他用户的模式下创建表,当前用户必须具有 CREATE ANY TABLE 数据库权限,如果希望能够在其他用户的模式下删除表,必须具有 DROP ANY TABLE 数据库权限。

1.2 对象权限

对象权限主要是对数据库对象中的数据的访问权限,主要用来授予需要对某个数据库对象的数据进行操纵的数据库普通用户。表 1.2 列出了主要的对象权限。

数据库对象类型对象权限视图存储程序类型序列目录
SELECT
INSERT
DELETE
UPDATE
REFERENCES
SELECT FOR DUMP
EXECUTE
READ
WRITE
USAGE
FLASHBACK

以下几种权限重点说明下:

目录对象的 READ 和 WRITE 权限指可以读或写访问某个目录对象的权限。

域对象的 USAGE 权限指可以使用某个域对象的权限。拥有某个域的 USAGE 权限的用户可以在定义或修改表时为表列声明使用这个域。

当一个用户获得另一个用户的某个对象的访问权限后,可以以“模式名.对象名”的形式访问这个数据库对象。

对象权限的授予一般由对象的所有者完成,也可由 SYSDBA 或具有某对象权限且具有转授权限的用户授予,但最好由对象的所有者完成。

2.角色管理

角色是一组权限的组合,使用角色的目的是使权限管理更加方便。角色中的权限既可以是数据库权限,也可以是对象权限,还可以是别的角色。

为了使用角色,首先在数据库中创建一个角色,这时角色中没有任何权限。

然后向角色中添加权限。

最后将这个角色授予用户,这个用户就具有了角色中的所有权限。

在使用角色的过程中,可以随时向角色中添加权限,也可以随时从角色中删除权限,用户的权限也随之改变。如果要回收所有权限,只需将角色从用户回收即可。

2.1DM 预定义角色

在 DM 数据库中有两类角色,一类是 DM 预设定的角色,一类是用户自定义的角色。DM 提供了一系列的预定义角色以帮助用户进行数据库权限的管理。预定义角色在数据库被创建之后即存在,并且已经包含了一些权限,数据库管理员可以将这些角色直接授予用户。

                                        表2.1 “三权分立”常见的数据库预设定的角色 

角色名称角色简单说明
DBADM 数据库系统中对象与数据操作的最高权限集合,拥有构建数据库的全部特权,只有 DBA 才可以创建数据库结构
RESOURCE可以创建数据库对象,对有权限的数据库对象进行数据操纵,不可以创建数据库结构
PUBLIC不可以创建数据库对象,只能对有权限的数据库对象进行数据操纵
VTI具有系统动态视图的查询权限,VTI 默认授权给 DBA 且可转授
SOI具有非审计/安全系统表的查询权限
SVI具有基础 V 视图的查询权限
DB_AUDIT_ADMIN数据库审计的最高权限集合,可以对数据库进行各种审计操作,并创建新的审计用户
DB_AUDIT_OPER可以对数据库进行各种审计操作,但不能创建新的审计用户
DB_AUDIT_PUBLIC无实际权限
DB_AUDIT_VTI具有系统动态视图的查询权限,DB_AUDIT_VTI 默认授权给 DB_AUDIT_ADMIN 且可转授
DB_AUDIT_SOI具有与审计操作相关的系统表的查询权限
DB_AUDIT_SVI具有基础 V 视图和审计 V 视图的查询权限
DB_POLICY_ADMIN数据库强制访问控制的最高权限集合,可以对数据库进行强制访问控制管理,并创建新的安全管理用户
DB_POLICY_OPER可以对数据库进行强制访问控制管理,但不能创建新的安全管理用户
DB_POLICY_PUBLIC无实际权限
DB_POLICY_VTI具有系统动态视图的查询权限,DB_POLICY_VTI 默认授权给 DB_POLICY_ADMIN 且可转授
DB_POLICY_SOI具有与安全操作相关的系统表的查询权限
DB_POLICY_SVI具有基础 V 视图和安全 V 视图的查询权限

初始时仅有管理员具有创建用户的权限,每种类型的管理员创建的用户缺省就拥有这种类型的 PUBLIC 和 SOI 预定义角色,如 SYSAUDITOR 新创建的用户缺省就具有 DB_AUDIT_PUBLIC 和 DB_AUDIT_SOI 角色。之后管理员可根据需要进一步授予新建用户其他预定义角色。

管理员也可以将“CREATE USER”权限转授给其他用户,这些用户之后就可以创建新的用户了,他们创建的新用户缺省也具有与其创建者相同类型的 PUBLIC 预定义角色。

2.2 创建角色和赋权使用

使用说明:

  1. 创建者必须具有 CREATE ROLE 数据库权限;
  2. 角色名的长度不能超过 128 个字符;
  3. 角色名不允许和系统已存在的用户名重名;
  4. 角色名不允许是 DM 保留字。
su - dmdba 
disql SYSDBA/Dameng123@127.0.0.1:5238
create role "ROLEDXH";

给角色赋权:

grant CREATE TABLE,CREATE VIEW,CREATE INDEX TO "ROLEDXH";

创建用户:

create user "DXHTEST" identified by "Dameng123" default tablespace "DXHTBS";

角色赋权给用户:

grant "ROLEDM" to "DXHTEST";

总结

通过上面介绍能了解到达梦数据库的数据库权限、对象权限内容;

了解达梦数据库预定义的角色及创建使用角色。

关于达梦数据库更多学习内容,欢迎访问达梦社区:
https://eco.dameng.com

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

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

相关文章

驰振风荷载计算

3.1考虑横风向振动的风荷载 图 3.1 流场中的横流截面 Fig 3.1 The lateral section in flow-field 结构沿高度Z方向作用在结构单位长度上的横风向荷载主要来自于升力,其次来自于阻力。高度z处单位长度上的风荷载 式中,为来流与结构的夹角,称…

Android Okhttp 源码浅析三

核心方法 getResponseWithInterceptorChain() internal fun getResponseWithInterceptorChain(): Response {// Build a full stack of interceptors.val interceptors mutableListOf<Interceptor>()interceptors client.interceptorsinterceptors RetryAndFollowUpI…

springBoot 配置文件引入 redis 的相关参数说明

在Spring Boot应用中使用Redis作为缓存或数据存储时&#xff0c;可以在应用的配置文件中配置相关参数。下面是常用的Redis配置参数及其说明&#xff1a; spring.redis.host: Redis服务器主机地址&#xff0c;默认为localhost。spring.redis.port: Redis服务器端口&#xff0c;…

Wlan——STA上线流程与802.11MAC帧讲解

目录 802.11MAC帧基本概念 802.11帧结构 802.11MAC帧的分类 管理帧 控制帧 数据帧 STA接入无线网络流程 信号扫描—管理帧 链路认证—管理帧 用户关联—管理帧 用户上线 802.11MAC帧基本概念 802.11协议在802家族中的角色位置 其中802.3标准属于以太网的一种帧格式…

HPE服务器常见报错信息以及解决方案

General controller issues 常规控制器问题 Controllers are no longer redundant 控制器不再冗余 HPE Dynamic Smart Array B140i drives are not found when RAID mode is disabled 禁用 RAID 模式时找不到 HPE 动态智能阵列 B140i 驱动器 Data located on drives accessed i…

React前端开发架构:构建现代响应式用户界面

在当今的Web应用开发中&#xff0c;React已经成为最受欢迎的前端框架之一。它的出色性能、灵活性和组件化开发模式&#xff0c;使得它成为构建现代响应式用户界面的理想选择。在这篇文章中&#xff0c;我们将探讨React前端开发架构的核心概念和最佳实践&#xff0c;以帮助您构建…

[Machine Learning] 损失函数和优化过程

文章目录 机器学习算法的目的是找到一个假设来拟合数据。这通过一个优化过程来实现&#xff0c;该过程从预定义的 hypothesis class&#xff08;假设类&#xff09;中选择一个假设来最小化目标函数。具体地说&#xff0c;我们想找到 arg min ⁡ h ∈ H 1 n ∑ i 1 n ℓ ( X i…

Revit 3D高效处理:cad exchanger sdk 3.21 Crack

3D 格式概述&#xff1a;Revit Revit 已成为寻求高效、准确的建筑信息建模的专业人士的首选解决方案。在这篇引人入胜的功能概述中了解 Revit 的特性和影响。 什么是Revit&#xff1f; Autodesk Revit 是一款流行的 CAD 软件&#xff0c;重点关注 BIM&#xff0c;被建筑师、工…

Oracle DG复制中断:RMAN-03015和RMAN-06094

Oracle DG复制中断&#xff1a;RMAN-03015和RMAN-06094 背景与错误信息主库备份数据文件备库恢复数据文件DG Broker创建DG更新备库数据文件名解决归档日志不传输 ⭐️DB_UNIQUE_NAME 主库&#xff1a;ORCLDB_0备库&#xff1a;ORCLDB_1 背景与错误信息 通过RMAN DUPLICATE搭建…

uniapp scroll-view横向滚动无效,scroll-view子元素flex布局不生效

要素排查&#xff1a; 1.scroll-x属性需要开启&#xff0c;官方类型是Boolean&#xff0c;实际字符串也行。 2scroll-view标签需要给予一个固定宽度&#xff0c;可以是百分百也可以是固定宽度或者100vw。 3.子元素需要设置display: inline-block&#xff08;行内块元素&#x…

时序预测 | MATLAB实现SO-CNN-BiLSTM蛇群算法优化卷积双向长短期记忆神经网络时间序列预测

时序预测 | MATLAB实现SO-CNN-BiLSTM蛇群算法优化卷积双向长短期记忆神经网络时间序列预测 目录 时序预测 | MATLAB实现SO-CNN-BiLSTM蛇群算法优化卷积双向长短期记忆神经网络时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 时序预测 | MATLAB实现SO-CNN-BiL…

ffmpeg从摄像头获取视频流

使用FFmpeg获取本地摄像头设备 ffmpeg -list_devices true -f dshow -i dummy ffmpeg -f dshow -i video"e2eSoft iVCam" -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -rtsp_transport tcp -f rtsp rtsp://127.0.0.1/test ffmpeg -f dshow -i video&qu…

如何让智能搜索引擎更灵活、更高效?

随着互联网的发展和普及&#xff0c;搜索引擎已经成为人们获取信息、解决问题的主要工具之一。 然而&#xff0c;传统的搜索引擎在面对大数据时&#xff0c;往往存在着搜索效率低下、搜索结果精准度不够等问题。 为了解决这些问题&#xff0c;越来越多的企业开始采用智能搜索技…

Python Pandas 处理Excel数据 制图

目录 1、饼状图 2、条形统计图 1、饼状图 import pandas as pd import matplotlib.pyplot as plt import numpy as np #from matplotlib.ticker import MaxNLocator # 解决中文乱码 plt.rcParams[font.sans-serif][SimHei] plt.rcParams[font.sans-serif]Microsoft YaHei …

Git学习笔记

Git学习笔记 文章目录 Git学习笔记一、版本控制二、Linux基础命令三、Git的环境配置四、Git的基本理论&#xff08;核心&#xff09;五、Git项目的搭建六、Git文件操作七、使用码云八、IDEA集成git九、Git分支 一、版本控制 什么是版本控制 版本控制&#xff08;Revision contr…

遥感云大数据在灾害、水体与湿地领域典型案例实践及GPT模型

近年来遥感技术得到了突飞猛进的发展&#xff0c;航天、航空、临近空间等多遥感平台不断增加&#xff0c;数据的空间、时间、光谱分辨率不断提高&#xff0c;数据量猛增&#xff0c;遥感数据已经越来越具有大数据特征。遥感大数据的出现为相关研究提供了前所未有的机遇&#xf…

[git]github上传大文件

github客户端最高支持100Mb文件上传&#xff0c;如果要>100M只能用git-lfs&#xff0c;但是测试发现即使用git lfs&#xff0c;我上传2.5GB也不行&#xff0c;测试737M文件可以&#xff0c;GitHub 目前 Git LFS的总存储量为1G左右&#xff0c;超过需要付费。(上传失败时&…

git管理代码

理论上改代码前要pull一次&#xff0c;然后在push前在pull一次 改代码前pull一次是为了获取最新的同步&#xff0c;但是coding也是需要时间的&#xff0c;难保敲代码的这段时间没有人动远程仓库的东西&#xff0c;所以在改完代码要push的时候也应该再pull一下看有无冲突&#x…

卷积神经网络——上篇【深度学习】【PyTorch】

文章目录 5、卷积神经网络5.1、卷积5.1.1、理论部分5.1.2、代码实现5.1.3、边缘检测 5.2、填充和步幅5.2.1、理论部分5.2.2、代码实现 5.3、多输入多输出通道5.3.1、理论部分5.3.2、代码实现 5.4、池化层 | 汇聚层5.4.1、理论部分5.4.2、代码实现 5、卷积神经网络 5.1、卷积 …

es入门实战

创建索引 PUT /hotel/ { “mappings”:{ “properties”:{ “title”:{ “type”:“text” }, “city”:{ “type”:“keyword” }, “price”:{ “type”:“double” } } } } 给索引写入数据 POST /hotel/_doc/001 { “title”:“好再来大酒店”, “city”:“东京”, “pri…