概述
本文對達夢數(shù)據庫數(shù)據庫和對象權限及DM預定義角色及角色創(chuàng)建進行介紹。
1.權限管理
用戶權限有兩類:數(shù)據庫權限和對象權限。
數(shù)據庫權限主要是指針對數(shù)據庫對象的創(chuàng)建、刪除、修改的權限,對數(shù)據庫備份等權限。
數(shù)據庫權限一般由 SYSDBA、SYSAUDITOR 和 SYSSSO 指定,也可以由具有特權的其他用戶授予。
而對象權限主要是指對數(shù)據庫對象中的數(shù)據的訪問權限。
對象權限一般由數(shù)據庫對象的所有者授予用戶,也可由 SYSDBA 用戶指定,或者由具有該對象權限的其他用戶授權。
?
1.1 數(shù)據庫權限
數(shù)據庫權限與 DM 預定義角色有著重要的聯(lián)系,一些數(shù)據庫權限由于權力較大,只集中在幾個 DM 系統(tǒng)預定義角色中,且不能轉授。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?表1.1 常用的幾種數(shù)據庫權限
數(shù)據庫權限 | 說明 |
---|---|
CREATE TABLE | 在自己的模式中創(chuàng)建表的權限 |
CREATE VIEW | 在自己的模式中創(chuàng)建視圖的權限 |
CREATE USER | 創(chuàng)建用戶的權限 |
CREATE TRIGGER | 在自己的模式中創(chuàng)建觸發(fā)器的權限 |
ALTER USER | 修改用戶的權限 |
ALTER DATABASE | 修改數(shù)據庫的權限 |
CREATE PROCEDURE | 在自己模式中創(chuàng)建存儲程序的權限 |
SELECT ANY DICTIONARY | 查詢任意系統(tǒng)表或系統(tǒng)視圖的記錄的權限 |
不同類型的數(shù)據庫對象,其相關的數(shù)據庫權限也不相同。
例如,對于表對象,相關的數(shù)據庫權限包括:
CREATE TABLE:創(chuàng)建表
CREATE ANY TABLE:在任意模式下創(chuàng)建表
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:閃回任意表
而對于存儲程序對象,其相關的數(shù)據庫權限則包括:
CREATE PROCEDURE:創(chuàng)建存儲程序
CREATE ANY PROCEDURE:在任意模式下創(chuàng)建存儲程序
DROP ANY PROCEDURE:刪除任意存儲程序
EXECUTE PROCEDURE:執(zhí)行存儲程序
EXECUTE ANY PROCEDURE:執(zhí)行任意存儲程序
GRANT PROCEDURE:向其他用戶進行存儲程序上權限的授權
GRANT ANY PROCEDURE:向其他用戶進行任意存儲程序上權限的授權
需要說明的是,表、視圖、觸發(fā)器、存儲程序等對象為模式對象,在默認情況下對這些對象的操作都是在當前用戶自己的模式下進行的。
如果要在其他用戶的模式下操作這些類型的對象,需要具有相應的 ANY 權限。例如,要能夠在其他用戶的模式下創(chuàng)建表,當前用戶必須具有 CREATE ANY TABLE 數(shù)據庫權限,如果希望能夠在其他用戶的模式下刪除表,必須具有 DROP ANY TABLE 數(shù)據庫權限。
1.2?對象權限
對象權限主要是對數(shù)據庫對象中的數(shù)據的訪問權限,主要用來授予需要對某個數(shù)據庫對象的數(shù)據進行操縱的數(shù)據庫普通用戶。表 1.2 列出了主要的對象權限。
數(shù)據庫對象類型對象權限 | 表 | 視圖 | 存儲程序 | 包 | 類 | 類型 | 序列 | 目錄 | 域 |
---|---|---|---|---|---|---|---|---|---|
SELECT | √ | √ | √ | ||||||
INSERT | √ | √ | |||||||
DELETE | √ | √ | |||||||
UPDATE | √ | √ | |||||||
REFERENCES | √ | ||||||||
SELECT FOR DUMP | √ | ||||||||
EXECUTE | √ | √ | √ | √ | √ | ||||
READ | √ | ||||||||
WRITE | √ | ||||||||
USAGE | √ | ||||||||
FLASHBACK | √ |
以下幾種權限重點說明下:
目錄對象的 READ 和 WRITE 權限指可以讀或寫訪問某個目錄對象的權限。
域對象的 USAGE 權限指可以使用某個域對象的權限。擁有某個域的 USAGE 權限的用戶可以在定義或修改表時為表列聲明使用這個域。
當一個用戶獲得另一個用戶的某個對象的訪問權限后,可以以“模式名.對象名”的形式訪問這個數(shù)據庫對象。
對象權限的授予一般由對象的所有者完成,也可由 SYSDBA 或具有某對象權限且具有轉授權限的用戶授予,但最好由對象的所有者完成。
2.角色管理
角色是一組權限的組合,使用角色的目的是使權限管理更加方便。角色中的權限既可以是數(shù)據庫權限,也可以是對象權限,還可以是別的角色。
為了使用角色,首先在數(shù)據庫中創(chuàng)建一個角色,這時角色中沒有任何權限。
然后向角色中添加權限。
最后將這個角色授予用戶,這個用戶就具有了角色中的所有權限。
在使用角色的過程中,可以隨時向角色中添加權限,也可以隨時從角色中刪除權限,用戶的權限也隨之改變。如果要回收所有權限,只需將角色從用戶回收即可。
2.1DM 預定義角色
在 DM 數(shù)據庫中有兩類角色,一類是 DM 預設定的角色,一類是用戶自定義的角色。DM 提供了一系列的預定義角色以幫助用戶進行數(shù)據庫權限的管理。預定義角色在數(shù)據庫被創(chuàng)建之后即存在,并且已經包含了一些權限,數(shù)據庫管理員可以將這些角色直接授予用戶。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 表2.1 “三權分立”常見的數(shù)據庫預設定的角色?
角色名稱 | 角色簡單說明 |
---|---|
DBA | DM 數(shù)據庫系統(tǒng)中對象與數(shù)據操作的最高權限集合,擁有構建數(shù)據庫的全部特權,只有 DBA 才可以創(chuàng)建數(shù)據庫結構 |
RESOURCE | 可以創(chuàng)建數(shù)據庫對象,對有權限的數(shù)據庫對象進行數(shù)據操縱,不可以創(chuàng)建數(shù)據庫結構 |
PUBLIC | 不可以創(chuàng)建數(shù)據庫對象,只能對有權限的數(shù)據庫對象進行數(shù)據操縱 |
VTI | 具有系統(tǒng)動態(tài)視圖的查詢權限,VTI 默認授權給 DBA 且可轉授 |
SOI | 具有非審計/安全系統(tǒng)表的查詢權限 |
SVI | 具有基礎 V 視圖的查詢權限 |
DB_AUDIT_ADMIN | 數(shù)據庫審計的最高權限集合,可以對數(shù)據庫進行各種審計操作,并創(chuàng)建新的審計用戶 |
DB_AUDIT_OPER | 可以對數(shù)據庫進行各種審計操作,但不能創(chuàng)建新的審計用戶 |
DB_AUDIT_PUBLIC | 無實際權限 |
DB_AUDIT_VTI | 具有系統(tǒng)動態(tài)視圖的查詢權限,DB_AUDIT_VTI 默認授權給 DB_AUDIT_ADMIN 且可轉授 |
DB_AUDIT_SOI | 具有與審計操作相關的系統(tǒng)表的查詢權限 |
DB_AUDIT_SVI | 具有基礎 V 視圖和審計 V 視圖的查詢權限 |
DB_POLICY_ADMIN | 數(shù)據庫強制訪問控制的最高權限集合,可以對數(shù)據庫進行強制訪問控制管理,并創(chuàng)建新的安全管理用戶 |
DB_POLICY_OPER | 可以對數(shù)據庫進行強制訪問控制管理,但不能創(chuàng)建新的安全管理用戶 |
DB_POLICY_PUBLIC | 無實際權限 |
DB_POLICY_VTI | 具有系統(tǒng)動態(tài)視圖的查詢權限,DB_POLICY_VTI 默認授權給 DB_POLICY_ADMIN 且可轉授 |
DB_POLICY_SOI | 具有與安全操作相關的系統(tǒng)表的查詢權限 |
DB_POLICY_SVI | 具有基礎 V 視圖和安全 V 視圖的查詢權限 |
初始時僅有管理員具有創(chuàng)建用戶的權限,每種類型的管理員創(chuàng)建的用戶缺省就擁有這種類型的 PUBLIC 和 SOI 預定義角色,如 SYSAUDITOR 新創(chuàng)建的用戶缺省就具有 DB_AUDIT_PUBLIC 和 DB_AUDIT_SOI 角色。之后管理員可根據需要進一步授予新建用戶其他預定義角色。
管理員也可以將“CREATE USER”權限轉授給其他用戶,這些用戶之后就可以創(chuàng)建新的用戶了,他們創(chuàng)建的新用戶缺省也具有與其創(chuàng)建者相同類型的 PUBLIC 預定義角色。
2.2 創(chuàng)建角色和賦權使用
使用說明:
- 創(chuàng)建者必須具有 CREATE ROLE 數(shù)據庫權限;
- 角色名的長度不能超過 128 個字符;
- 角色名不允許和系統(tǒng)已存在的用戶名重名;
- 角色名不允許是 DM 保留字。
su - dmdba
disql SYSDBA/Dameng123@127.0.0.1:5238
create role "ROLEDXH";
給角色賦權:
grant CREATE TABLE,CREATE VIEW,CREATE INDEX TO "ROLEDXH";
創(chuàng)建用戶:
create user "DXHTEST" identified by "Dameng123" default tablespace "DXHTBS";
角色賦權給用戶:
grant "ROLEDM" to "DXHTEST";
總結
通過上面介紹能了解到達夢數(shù)據庫的數(shù)據庫權限、對象權限內容;
了解達夢數(shù)據庫預定義的角色及創(chuàng)建使用角色。文章來源:http://www.zghlxwxcb.cn/news/detail-663747.html
關于達夢數(shù)據庫更多學習內容,歡迎訪問達夢社區(qū):
https://eco.dameng.com文章來源地址http://www.zghlxwxcb.cn/news/detail-663747.html
到了這里,關于達夢數(shù)據庫權限和預定角色介紹的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!