ORACLE數(shù)據(jù)庫(kù)中的權(quán)限和角色

目前累計(jì)服務(wù)客戶上千多家,積累了豐富的產(chǎn)品開發(fā)及服務(wù)經(jīng)驗(yàn)。以網(wǎng)站設(shè)計(jì)水平和技術(shù)實(shí)力,樹立企業(yè)形象,為客戶提供網(wǎng)站制作、成都網(wǎng)站建設(shè)、網(wǎng)站策劃、網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)絡(luò)營(yíng)銷、VI設(shè)計(jì)、網(wǎng)站改版、漏洞修補(bǔ)等服務(wù)。創(chuàng)新互聯(lián)公司始終以務(wù)實(shí)、誠(chéng)信為根本,不斷創(chuàng)新和提高建站品質(zhì),通過(guò)對(duì)領(lǐng)先技術(shù)的掌握、對(duì)創(chuàng)意設(shè)計(jì)的研究、對(duì)客戶形象的視覺(jué)傳遞、對(duì)應(yīng)用系統(tǒng)的結(jié)合,為客戶提供更好的一站式互聯(lián)網(wǎng)解決方案,攜手廣大客戶,共同發(fā)展進(jìn)步。
Oracle數(shù)據(jù)庫(kù)是一種大型關(guān)系型的數(shù)據(jù)庫(kù),我們知道當(dāng)使用一個(gè)數(shù)據(jù)庫(kù)時(shí),僅僅能夠控制哪些人可以訪問(wèn)數(shù)據(jù)庫(kù),哪些人不能訪問(wèn)數(shù)據(jù)庫(kù)是無(wú)法滿足數(shù)據(jù)庫(kù)訪問(wèn)控制的。DBA需要通過(guò)一種機(jī)制來(lái)限制用戶可以做什么,不能做什么,這在Oracle中可以通過(guò)為用戶設(shè)置權(quán)限來(lái)實(shí)現(xiàn)。權(quán)限就是用戶可以執(zhí)行某種操作的權(quán)利。而角色是為了方便DBA管理權(quán)限而引入的一個(gè)概念,它實(shí)際上是一個(gè)命名的權(quán)限集合。
1 權(quán)限
Oracle數(shù)據(jù)庫(kù)有兩種途徑獲得權(quán)限,它們分別為:
① DBA直接向用戶授予權(quán)限。
② DBA將權(quán)限授予角色(一個(gè)命名的包含多個(gè)權(quán)限的集合),然后再將角色授予一個(gè)或多個(gè)用戶。
使用角色能夠更加方便和高效地對(duì)權(quán)限進(jìn)行管理,所以DBA應(yīng)該習(xí)慣于使用角色向用戶進(jìn)行授予權(quán)限,而不是直接向用戶授予權(quán)限。
Oracle中的權(quán)限可以分為兩類:
?系統(tǒng)權(quán)限
?對(duì)象權(quán)限
1.1 系統(tǒng)權(quán)限
系統(tǒng)權(quán)限是在數(shù)據(jù)庫(kù)中執(zhí)行某種操作,或者針對(duì)某一類的對(duì)象執(zhí)行某種操作的權(quán)利。例如,在數(shù)據(jù)庫(kù)中創(chuàng)建表空間的權(quán)利,或者在任何模式中創(chuàng)建表的權(quán)利,這些都屬于系統(tǒng)權(quán)限。在Oracle9i中一共提供了60多種權(quán)限。
系統(tǒng)權(quán)限的權(quán)利很大,通常情況下:
① 只有DBA才應(yīng)當(dāng)擁有alter database系統(tǒng)權(quán)限,該權(quán)限允許用戶對(duì)數(shù)據(jù)庫(kù)物理結(jié)構(gòu)和可用性進(jìn)行修改。
② 應(yīng)用程序開發(fā)者一般應(yīng)該擁有Create Table、Create View和Create Type等系統(tǒng)權(quán)限,用于創(chuàng)建支持前端的數(shù)據(jù)庫(kù)模式對(duì)象。
③ 普通用戶一般只具有Create session系統(tǒng)權(quán)限(可以通過(guò)Connection角色獲得),只有Create Session系統(tǒng)權(quán)限的用戶才能連接到數(shù)據(jù)庫(kù)
④ 只有具有Grant Any PRivilege系統(tǒng)權(quán)限用戶,或者獲取了具有With Admin Option選項(xiàng)的系統(tǒng)權(quán)限的用戶,才能夠成為其它用戶授予權(quán)限。
1.2對(duì)象權(quán)限
對(duì)象權(quán)限是針對(duì)某個(gè)特定的模式對(duì)象執(zhí)行操作的權(quán)利。只能針對(duì)模式對(duì)象來(lái)設(shè)置和管理對(duì)象權(quán)限。
對(duì)于模式對(duì)象:表、視圖、序列、存儲(chǔ)過(guò)程、存儲(chǔ)函數(shù)、包都可以對(duì)象設(shè)置權(quán)限。不同類型模式對(duì)象具有不同的對(duì)象權(quán)限。比如,表、視圖等對(duì)象具有查詢(Select)、修改(Update)、刪除(Delete)等對(duì)象權(quán)限,而存儲(chǔ)過(guò)程、存儲(chǔ)函數(shù)等對(duì)象則具有執(zhí)行(Execute)等對(duì)象權(quán)限。
但是并不是所有的模式對(duì)象都可以設(shè)置對(duì)象權(quán)限。比如簇、索引、觸發(fā)器以及數(shù)據(jù)庫(kù)鏈接等模式就不具有對(duì)象權(quán)限。這些模式對(duì)象的訪問(wèn)控制是通過(guò)相應(yīng)的.系統(tǒng)權(quán)限來(lái)實(shí)現(xiàn)的,比如,要對(duì)索引進(jìn)行修改,必須擁有Alter Any Index系統(tǒng)權(quán)限。
用戶自動(dòng)擁有他的模式中所有對(duì)象的全部對(duì)象權(quán)限,他可以將這些對(duì)象權(quán)限授予其他的用戶或角色。比如,Test1用戶創(chuàng)建了一個(gè)表Table1,在沒(méi)有授權(quán)的情況下,用戶Test2不能查詢、修改、刪除這個(gè)表。如果Test1將ETP表的Select對(duì)象權(quán)限授予了Test2,則該用戶就可以查詢Table1表了。如果在為其它用戶授予對(duì)象權(quán)限時(shí)用了With Grant Option選項(xiàng),被授予權(quán)限的用戶還可以將這個(gè)權(quán)限在授予其他用戶。
2 角色
2.1角色的概念
角色就是多個(gè)相關(guān)權(quán)限的命名集合。通過(guò)角色來(lái)進(jìn)行對(duì)用戶授予權(quán)限,可以大大簡(jiǎn)化DBA的工作量。比如,處于統(tǒng)一部門中的30多個(gè)用戶都需要訪問(wèn)數(shù)據(jù)庫(kù)中的一系列表,DBA可以將這些表的中合適的對(duì)象權(quán)限授予一個(gè)角色,然后在把這個(gè)角色授予這些用戶,這樣進(jìn)行操作要比為沒(méi)有用戶進(jìn)行授權(quán)要便捷多了,而且要對(duì)這些用戶的權(quán)限進(jìn)行統(tǒng)一修改,只需要修改角色的權(quán)限即可。
2.2角色的優(yōu)點(diǎn)
通過(guò)角色為用戶授予權(quán)限,而不是直接向各個(gè)用戶授權(quán),具有以下優(yōu)點(diǎn):
?簡(jiǎn)化權(quán)限管理 DBA將用戶群分類,然后為每一類用戶創(chuàng)建角色,并將該角色授予這類用戶所需要的權(quán)限,最后在將改角色授予該類中的各個(gè)用戶。這樣不僅簡(jiǎn)化了授權(quán)操作,而且當(dāng)這類用戶的權(quán)限需求發(fā)生改變時(shí),只需要把角色的權(quán)限進(jìn)行改動(dòng),而不必修改每一位用戶的權(quán)限。
?動(dòng)態(tài)權(quán)限管理 角色可以被禁用或激活。當(dāng)角色被禁止使用時(shí),擁有該角色的用戶不再擁有授予改角色的權(quán)限了。這樣就可以對(duì)多個(gè)用戶的權(quán)限進(jìn)行動(dòng)態(tài)控制了。
?靈活的編程能力 角色是存儲(chǔ)在數(shù)據(jù)字典中的,并且可以為角色設(shè)置口令。這樣就能夠在應(yīng)用程序中對(duì)角色進(jìn)行控制。比如禁用或者激活等操作。
下面以O(shè)racle9i為例,給出具體的實(shí)現(xiàn)用戶授權(quán):
(1)設(shè)定各種角色,及其權(quán)限
CREATE ROLE checkerrole DENTIFIEDBYxm361001;
CREATE ROLE defaultrole IDENTIFIEDBYdefaultrole;
GRANT SELECT,UPDATE ON
account.paytable TO checkerrole;
GRANT CONNECT TO defaultrole;
(2)創(chuàng)建用戶
CREATE USER xiaoli IDENTIFIEDBY xiaoli;
(3)授權(quán)
GRANT checkerrole TO xiaoli;
GRANT defaultrole TO xiaoli;
(4)設(shè)定用戶缺省的角色
ALTER USER xiaoli DEFAULTROLE defaultrole;
(5)注冊(cè)過(guò)程
CONNECT xiaoli/xiaoli@oracle
此時(shí)用戶只有其缺省角色的權(quán)限。
(6)激活角色
SET ROLE checkerrole IDENTIFIEDBY xm361001;
----操作成功后,xiaoli擁有checkerrole的權(quán)限。
----這里的角色和口令是固定的,在應(yīng)用系統(tǒng)中可以由應(yīng)用管理人員自行設(shè)置則更為方便安全
;
你這要求不是簡(jiǎn)單的在oracle上就能實(shí)現(xiàn)的,而是要設(shè)計(jì)一個(gè)針對(duì)你系統(tǒng)的整個(gè)的權(quán)限系統(tǒng)??刂泼恳粋€(gè)菜單的操作權(quán)限都能在這個(gè)系統(tǒng)里進(jìn)行配置,然后才能創(chuàng)建類似的角色,而且這個(gè)角色實(shí)際上是一種虛擬的角色,和oracle的角色應(yīng)該沒(méi)什么關(guān)系,應(yīng)該說(shuō)是類似oracle的權(quán)限系統(tǒng)的克隆。
例如:一個(gè)公司里有董事長(zhǎng),總經(jīng)理
level1級(jí)別,部門經(jīng)理
level2級(jí)別,小組長(zhǎng)
level3級(jí)別,普通員工
level4級(jí)別。在你建立了所有菜單的操作權(quán)限的配置表后,就可以針對(duì)這個(gè)人的具體級(jí)別配置不同菜單的操作權(quán)限了。你想要建立的角色在這里就像每一個(gè)級(jí)別的通用模板一樣,模板具備通用功能,細(xì)化的操作權(quán)限可以在這個(gè)模板的基礎(chǔ)上再修改,也可以直接修改角色的權(quán)限。
oracle權(quán)限和角色的區(qū)別為:性質(zhì)不同、主要目的不同。權(quán)限和角色的聯(lián)系當(dāng)建立角色時(shí),角色沒(méi)有任何權(quán)限,為了使得角色完成特定任務(wù),必須為其授予相應(yīng)的系統(tǒng)權(quán)限和對(duì)象權(quán)限。 每一個(gè)角色可以擁有多個(gè)權(quán)限,同時(shí)一個(gè)權(quán)限也可以同時(shí)給多個(gè)角色擁有。
一、性質(zhì)不同
1、權(quán)限:權(quán)限是指執(zhí)行特定類型sql命令或是訪問(wèn)其它方案對(duì)象的權(quán)利。
2、角色:角色是相關(guān)權(quán)限的命令集合,是具有相同權(quán)限的用戶的抽象實(shí)體。
二、主要目的不同
1、權(quán)限:權(quán)限的主要目的是為了約束用戶的操作,不同用戶需要有相應(yīng)的權(quán)限,才可操作,提高oracle的安全性。
2、角色:角色的主要目的是為了簡(jiǎn)化權(quán)限的管理將一組具有相同權(quán)限的用戶組織在一起,統(tǒng)一不同用戶的使用。
擴(kuò)展資料:
為了能初創(chuàng)oracle數(shù)據(jù)庫(kù)系統(tǒng),新建立的oracle數(shù)據(jù)庫(kù)總是包含一個(gè)預(yù)定義的角色。 這個(gè)角色是"超級(jí)用戶", 并且缺省時(shí)他和初始化該數(shù)據(jù)庫(kù)集群的用戶有相同的名稱。 為了創(chuàng)建更多角色,必須首先以這個(gè)初始用戶角色聯(lián)接。
每一個(gè)和oracle數(shù)據(jù)庫(kù)的連接都必須由一個(gè)角色身份進(jìn)行, 這個(gè)角色決定在該連接上發(fā)出的命令的初始權(quán)限。和特定數(shù)據(jù)庫(kù)聯(lián)接的角色名是由初始化聯(lián)接請(qǐng)求的應(yīng)用以相關(guān)的方式聲明。
參考資料來(lái)源:
百度百科——Oracle數(shù)據(jù)庫(kù)
百度百科——權(quán)限
百度百科——數(shù)據(jù)庫(kù)角色
創(chuàng)建一個(gè)角色 ,讓其擁有你想指定的權(quán)限,然后讓某個(gè)用戶屬于這個(gè)角色。。主要是為了通過(guò)操作角色來(lái)操作用戶的權(quán)限,,方便
網(wǎng)站題目:oracle角色如何使用 oracle創(chuàng)建角色語(yǔ)句
網(wǎng)站鏈接:http://www.jbt999.com/article18/hhhhdp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站導(dǎo)航、網(wǎng)站維護(hù)、網(wǎng)站設(shè)計(jì)、網(wǎng)頁(yè)設(shè)計(jì)公司、搜索引擎優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:[email protected]。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)