用戶、角色與權(quán)限控制

ID:37864154

大?。?95.91 KB

頁數(shù):15頁

時間:2019-06-01

用戶、角色與權(quán)限控制_第1頁
用戶、角色與權(quán)限控制_第2頁
用戶、角色與權(quán)限控制_第3頁
用戶、角色與權(quán)限控制_第4頁
用戶、角色與權(quán)限控制_第5頁
資源描述:

《用戶、角色與權(quán)限控制》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、第16章用戶、角色與權(quán)限控制用戶是數(shù)據(jù)庫對象之一,只有使用了合法的用戶登錄之后,才可以對數(shù)據(jù)庫進行各種操作。但是這些操作又必須是受限的,這就要求數(shù)據(jù)庫對用戶的權(quán)限進行控制。角色是權(quán)限的集合,用以更加高效、靈活地分配權(quán)限給用戶。用戶、權(quán)限和角色是Oracle數(shù)據(jù)庫進行權(quán)限控制的主要手段。本章的主要內(nèi)容包括:用戶及用戶的創(chuàng)建;權(quán)限及權(quán)限的分配;角色及角色的使用。通過本章的學(xué)習(xí),讀者將清晰的了解用戶、權(quán)限和角色這三者的概念及相互關(guān)系,并掌握如何在Oracle數(shù)據(jù)庫進行權(quán)限控制。16.1用戶Oracle用戶分為兩類:一類是具有系統(tǒng)管理權(quán)限

2、的用戶,稱為系統(tǒng)用戶;另一類為普通用戶。從創(chuàng)建時機上講,Oracle數(shù)據(jù)庫在創(chuàng)建時,會提供若干默認用戶(如系統(tǒng)用戶system);另外,系統(tǒng)用戶可以在登錄數(shù)據(jù)庫后創(chuàng)建其他用戶。這些用戶共同組成了Oracle數(shù)據(jù)庫的用戶集合。本小節(jié)將講述Oracle用戶的概況,并講解如何創(chuàng)建普通用戶。16.1.1Oracle中的用戶概況在Oracle數(shù)據(jù)庫中,存在著視圖dba_users。該視圖存儲了所有用戶的基本信息,我們搜尋視圖內(nèi)容來查看Oracle中的用戶概況。16.1.2利用系統(tǒng)用戶創(chuàng)建新的用戶對于開發(fā)人員來說,并不會經(jīng)常使用系統(tǒng)用戶登錄數(shù)

3、據(jù)庫。因為系統(tǒng)用戶的權(quán)限范圍較大,如果出現(xiàn)失誤,可能對數(shù)據(jù)庫造成較大傷害。因此,往往開發(fā)人員會使用特定的用戶進行開發(fā)任務(wù)。創(chuàng)建新用戶的語法如下所示:createuser用戶名identifiedby密碼defaulttablespace名稱空間其中,createuser命令用戶創(chuàng)建新的用戶,并指定用戶名;identifiedby選項是必需的,用于指定新用戶的密碼;defaulttablespace用于指定新建用戶的默認表空間,新用戶登錄之后,所有操作均默認在該名稱空間進行。16.1.3用戶的對象集合——模式模式(Schema)是用

4、戶的附屬對象,依賴于對象的存在而存在。一個用戶在數(shù)據(jù)庫中所擁有的所有對象的集合即為該用戶的模式。這些對象包括:表、索引、視圖、存儲過程等。16.1.4系統(tǒng)用戶——system與sys系統(tǒng)用戶sys和system是Oracle數(shù)據(jù)庫默認創(chuàng)建的用戶。用戶sys角色為sysdba(數(shù)據(jù)庫管理員),是數(shù)據(jù)庫中權(quán)限最高的用戶,可以進行任意操作而不受限制。system用戶角色為sysoper(數(shù)據(jù)庫操作員),權(quán)限僅次于sys用戶。我們在16.1.1節(jié)中提到,一個用戶的狀態(tài)有可能是EXPIRED&LOCKED,即被鎖定的。16.2權(quán)限權(quán)限(Pr

5、ivilege)是Oracle中控制用戶操作的主要策略。Oracle中的權(quán)限分為兩種,系統(tǒng)權(quán)限和對象權(quán)限。本節(jié)將詳細講述系統(tǒng)權(quán)限和對象權(quán)限的概念及區(qū)別。16.2.1系統(tǒng)權(quán)限系統(tǒng)權(quán)限是Oracle內(nèi)置的、與具體對象無關(guān)的權(quán)限類型。這些權(quán)限不指向具體對象,而是針對某種操作而言。例如,創(chuàng)建表的權(quán)限,當表未創(chuàng)建時,自然無從談對針對特定表的權(quán)限。1.獲得系統(tǒng)權(quán)限信息2.分配系統(tǒng)權(quán)限3.a(chǎn)dminoption選項4.收回用戶的系統(tǒng)權(quán)限16.2.2對象權(quán)限對象權(quán)限是指用戶在已存在對象上的權(quán)限。這些權(quán)限主要包括以下幾種:select:可用于查詢表

6、、視圖和序列。insert:向表或視圖中插入新的記錄update:更新表中數(shù)據(jù)delete:刪除表中數(shù)據(jù)execute:函數(shù)、存儲過程、程序包等的調(diào)用或執(zhí)行index:為表創(chuàng)建索引references:為表創(chuàng)建外鍵alter:修改表或者序列的屬性16.3角色利用grant命令為用戶分配權(quán)限是一件非常耗時的工作,尤其是當數(shù)據(jù)庫中用戶眾多,而且權(quán)限關(guān)系比較復(fù)雜時。有鑒于此,Oracle提供了角色這一策略來協(xié)助數(shù)據(jù)庫管理員來更加靈活地實現(xiàn)權(quán)限分配。角色是權(quán)限的集合。一個角色可能包含多個權(quán)限信息。在Oracle中,我們可以首先創(chuàng)建一個角色

7、,該角色包含了多種權(quán)限。然后將角色分配給多個用戶,從而在最大程度上實現(xiàn)復(fù)用性。16.3.1利用角色進行權(quán)限分配創(chuàng)建角色應(yīng)該使用createrole命令。角色創(chuàng)建之后,會以對象的形式的存儲在數(shù)據(jù)庫中,并可以在數(shù)據(jù)字典中獲得其信息?!臼纠?6-7】在16.2節(jié),我們使用了grant命令將多個權(quán)限分別賦予了用戶test和test_user。現(xiàn)假設(shè)用戶test和test_user都應(yīng)該具有表system.employees的select、update、insert和update權(quán)限。那么,可以首先創(chuàng)建一個角色,并將以上權(quán)限賦予該角色。16

8、.3.2角色的延伸——繼承一個角色可以繼承其他角色的權(quán)限集合,這為某些角色的實現(xiàn)提供了更加便利的途徑。例如,角色role_employee已經(jīng)具備了表system.employees增刪改查的權(quán)限。現(xiàn)希望創(chuàng)建一個新的角色role_test,該角色具

當前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。
关闭