




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
大型數據庫概論IntroductionofLargeDatabase第7章Oracle9i數據庫的安全性學習目標1、掌握創建、查看、修改和刪除用戶的方法。2、掌握授予和撤銷系統權限、對象權限的方法。3、掌握創建、查看和刪除角色的方法。
第7章Oracle9i數據庫的安全性
數據庫的安全性是指保護數據庫以防止不合法的使用所造成的數據泄露、更改或破壞。Oracle9i數據庫系統中存放著大量的共享數據,為保證其安全性,Oracle9i提供了一整套強大的安全管理工具。7.1用戶管理用戶就是使用數據庫系統的所有合法操作者,如Oracle9i的兩個默認用戶:SYS和SYSTEM。創建并運行數據庫實例后,使用SYSTEM用戶登錄就可以創建其他用戶和授予權限。用戶管理涉及到用戶的創建、修改和刪除。7.1.1用戶認證(UserAuthentication)每個用戶登錄Oracle9i數據庫都必須由系統對其進行認證,Oracle9i提供了四種認證方式:n
數據庫認證(DatabaseAuthentication)
數據庫認證又稱口令認證,由Oracle9i進行認證。在登錄數據庫時,由用戶提供一個賬戶和密碼,密碼必須遵循與其它數據庫對象相同的命名規則,密碼以加密格式保存。
n
外部認證(ExternalAuthentication)
外部認證由操作系統或網絡服務(Oracle*Net)進行認證。此時Oracle9i的用戶名由一個前綴(默認為OPS$)加操作系統登錄名稱組成,該前綴由OS_AUTHENT_PREFIX初始化參數定義。例如,若OS_AUTHENT_PREFIX設置為NT_,而用戶的操作系統登錄名稱是AUSTEN,則AUSTEN創建的Oracle9i用戶名為NT_AUSTEN。通過外部認證,數據庫借助于操作系統或網絡認證服務來限制對數據庫賬號的訪問。n
全局認證(GlobalAuthentication)
全局認證由安全套接層SSL(SecureSocketsLayer)認證,進行這種認證的用戶稱為全局用戶。Oracle9i的安全機制允許將用戶相關的信息集中在一個基于LDAP(LightweightDirectoryAccessProtocol)的目錄服務,這樣,用戶在數據庫中被識別成全局用戶,通過SSL對他們進行認證,而對這些用戶的管理則在數據庫之外由集中起來的目錄服務完成。n
代理認證(ProxyAuthentication)
代理認證是為代理用戶設計一個中間層服務器,數據庫管理員對中間層服務器進行授權,然后由中間層服務器進行認證。
7.1.2創建用戶創建用戶有兩種方式:使用企業管理器或手工創建。1.使用企業管理器創建用戶⑴啟動企業管理器后,展開“安全性”節點,如圖7.1所示。
圖7.1展開“安全性”節點
⑵右擊“用戶”,在快捷菜單中選擇“創建”,打開如圖7.2所示的“創建用戶”對話框。
圖7.2“創建用戶”對話框(“一般信息”選項卡)
該對話框包括一般信息、角色、系統權限、對象權限、限額等8個選項卡。其中,“一般信息”選項卡用來創建和維護用戶的基本信息,可以進行如下信息的設置:n
名稱:在名稱文本框中輸入要創建的用戶名,用戶名一般采用Oracle9i字符集中的字符,最長30個字符。本例為TESTUSRE。n
概要文件:概要文件下拉列表框顯示分配給用戶的配置文件,此配置文件用于限制用戶對系統資源的使用和執行密碼管理的規則。配置文件一般要事先創建好,然后再指派給用戶。n
驗證:驗證下拉列表框中包括口令、外部和全局三個選項。當需要輸入和驗證口令時,選擇“口令”選項;當使用操作系統登錄名時,選擇“外部”選項;當用戶在多個數據庫中被全局標識時,選擇“全局選項”。u
輸入口令:當選擇“口令”驗證方式時,在“輸入口令”文本框中輸入該用戶的口令。u
確認口令:再次輸入口令,兩次輸入一致才能通過確認。
u
口令即刻失效:指定用戶的密碼已經到期、失效,強制用戶更改密碼。n
表空間:表空間下接列表框可以選擇默認表空間或臨時表空間。n
狀態:分鎖定用戶賬號和解鎖用戶賬號兩種狀態。2.手工創建用戶創建用戶主要是通過CREATEUSER命令,語法如下:
CREATEUSER用戶名
IDENTIFIEDBY密碼|EXTERNALLY|GLOBALLYAS‘外部名’[DEFAULTTABLESPACE默認表空間名稱|TEMPORARYTABLESPACE臨時表空間名稱|QUOTA數目[K|M]|UNLIMITEDON表空間名稱|PROFILE用戶配置文件|PASSWORDEXPIRE|ACCOUNTLOCK|UNLOCK];上面語法中各參數描述如下:n
IDENTIFIEDBY密碼|EXTERNALLY|GLOBALLYAS‘外部名’:定義了認證方式。這里有3種認證方式供選擇,分別是數據庫認證、外部認證和全局認證。n
DEFAULTTABLESPACE:只有在允許用戶創建數據庫對象(例如表或索引)時才需要它。否則,不需要默認的表空間。如果沒有指定一個默認的表空間,那么新用戶將繼承創建它的用戶的默認表空間。n
TEMPORARYTABLESPACE:Orcale9i有時需要臨時表空間對查詢結果排序、執行一個連接或其它任務。如果省略了這個選項,則使用在CREATEDATABASE命令或者隨后的ALTERDATABASE命令所指定的默認臨時表空間(若未指定,則使用SYSTEM表空間)。n
QUOTA:配額,即在表空間中可以分配給用戶的最大存儲空間。利用QUOTA選項可以限制允許用戶使用的表空間的數量。限制各用戶的總存儲空間可以防止數據庫不受控制地增長,限制臨時存儲空間可以防止一個用戶使用了太多的臨時空間,導致其他用戶的操作很慢或者停止。
n
PROFILE:用戶配置文件,是一個參數集合,用于限制用戶對系統資源的使用和執行密碼管理的規則,所有用戶都必須有一個配置文件。如果在創建用戶時這一選項沒有指定,那么Oracle9i為用戶指定默認的配置文件DEFAULT(在創建數據庫之后創建的一個預定義配置文件)。n
PASSWORDEXPIRE:將密碼設置為自動過期,過期的密碼使數據庫在用戶下一次登錄時強制用戶更改其密碼。n
ACCOUNT:即使一個用戶提供了正確的密碼或通過了操作系統的驗證,這個選項將最終決定一個用戶是否可以登錄數據庫。使用ACCOUNTLOCK選項鎖定一個用戶,可以有效地防止這個用戶訪問數據庫。默認設置是ACCOUNTUNLOCK,這允許用戶使用新的用戶名和密碼登錄。ACCOUNTLOCK更常見的用法是與ALTERUSER語句一起使用,以防止現有的用戶訪問數據庫。
例7.1創建一個數據庫認證的用戶testuser1。以下腳本運行結果如圖7.3所示。
CREATEUSERtestuser1IDENTIFIEDBYtest#1DEFAULTTABLESPACEusersTEMPORARYTABLESPACEtemp
QUOTA10MONUSERSQUOTA5MONTEMP
PROFILEDEFAULTACCOUNTUNLOCK;
本例創建的用戶testuser1采用數據庫認證方式,密碼為test#1,默認表空間為users表空間,臨時表空間為temp表空間,對users表空間和temp表空間的限額分別為10M和5M,使用默認的配置文件,帳戶不鎖定。
圖7.3例7.1的運行結果
例7.2創建一個外部認證用戶win_user(該用戶應該已是操作系統上的一個合法用戶)。以下腳本運行結果如圖7.4所示。
CREATEUSERwin_userIDENTIFIEDEXTERNALLYDEFAULTTABLESPACEusersTEMPORARYTABLESPACEtemp
QUOTA10MONusers;
創建完用戶win_user之后,就可以首先用這個賬號先登錄操作系統,通過了操作系統的認證之后,在連接Oracle數據庫時,不必再次輸入用戶名和密碼,就可以直接進入數據庫了。
圖7.4例7.2的運行結果
7.1.3查看用戶使用企業管理器查看數據庫用戶信息的方法與創建用戶的界面相同。另外,Oracle9i在數據字典中提供了如表7.1所示的視圖可以查看數據庫用戶的信息。表7.1Oracle9i提供的用戶信息視圖
例7.3查看當前數據庫所有用戶的賬號信息、配置文件及狀態。以下腳本運行結果如圖7.5所示。
SELECTUSERNAME,PROFILE,ACCOUNT_STATUSFROMDBA_USERS;
圖7.5例7.3的運行結果
7.1.4修改用戶修改用戶有兩種方式:使用企業管理器或手工方式修改。1.
使用企業管理器修改用戶啟動企業管理器后,展開“安全性”→“用戶”節點,右擊欲修改的用戶,在快捷菜單中選擇“查看/編輯詳細資料”,則彈出“編輯用戶”的對話框,可以對用戶信息進行修改。2.使用手工方式修改用戶具有ALTERUSER系統權限的用戶可以使用ALTERUSER命令來修改用戶信息,語法如下:
ALTERUSER用戶名
IDENTIFIEDBY密碼|EXTERNALLY|GLOBALLYAS‘外部名’[DEFAULTTABLESPACE默認表空間名稱|TEMPORARYTABLESPACE臨時表空間名稱|QUOTA數目[K|M]|UNLIMITEDON表空間名稱|PROFILE用戶配置文件|PASSWORDEXPIRE|ACCOUNTLOCK|UNLOCK|DEFAULTROLE默認角色];例7.4修改用戶TESTUSER1的密碼為TRUE#1。以下腳本運行結果如圖7.6所示。
ALTERUSERTESTUSER1IDENTIFIEDBYTRUE#1;圖7.6例7.4的運行結果
例7.5修改用戶WIN_USER的認證方式,從外部認證改為數據庫認證,密碼為DB_VERIFY。以下腳本運行結果如圖7.7所示。
ALTERUSERWIN_USERIDENTIFIEDBYDB_VERIFY;圖7.7例7.5的運行結果
7.1.5刪除用戶刪除用戶有兩種方式:使用企業管理器或手工刪除。1.使用企業管理器刪除用戶右擊要刪除的用戶,在快捷菜單中選擇“移去”,在彈出的確認刪除用戶的對話框中單擊“是”按鈕即可進行刪除操作。2.手工刪除用戶擁有DROPUSER系統權限的用戶(如SYSTEM)可以刪除其他數據庫用戶,語法如下:
DROPUSER用戶名[CASCADE];
使用CASCADE表示在刪除用戶的同時,還刪除該用戶所擁有的數據庫對象(如表、索引、視圖等)。7.2權限管理創建數據庫用戶后,還須指定其訪問數據庫的能力,即向他授予一定的權限。登錄數據庫后,如果進行創建數據庫對象等操作,則當前用戶必須擁有該數據庫對象上相應的操作權限。7.2.1權限的分類
Oracle9i數據庫的權限分為系統權限(SystemPrivileges)和對象權限(ObjectPrivileges)兩種。1.系統權限系統權限能使用戶進行某種或某類特定的數據庫操作,表7.2是Oracle9i中常見的系統權限。
GRANTANYPRIVILEGE允許用戶(可能是DBA)為其他用戶分配任何系統權限。
表7.2是Oracle9i中常見的系統權限。
2.對象權限對象權限屬于某個數據庫對象(如表、序列、過程、函數等),表7.3是Oracle9i中常見的對象權限。
7.2.2管理系統權限管理系統權限有兩種方式:使用企業管理器或手工方式管理。1.
使用企業管理器管理系統權限啟動企業管理器后,展開“安全性”→“用戶”節點,右擊某數據庫用戶(如TESTUSER),在快捷菜單中選擇“查看/編輯詳細資料”,則彈出“編輯用戶”對話框,選擇“系統”選項卡(如圖7.8所示),則可以查看、授予或撤銷該用戶的系統權限。
圖7.8“編輯用戶”的對話框(“系統”選項卡)
2.使用手工方式管理系統權限⑴授予系統權限授予系統權限使用GRANT命令,語法如下:
GRANT系統權限1[系統權限2,…]|ALL[PRIVILEGES]TO用戶名1[用戶名2,…]|PUBLIC[WITHADMINOPTION];
其中,WITHADMINOPTION選項表示被授權用戶能夠將相同的系統權限授予其他用戶。例7.6授予用戶TESTUSER創建表的系統權限,并允許TESTUSER管理創建表的系統權限。以下腳本運行結果如圖7.9所示。
GRANTCREATETABLETOTESTUSERWITHADMINOPTION;
圖7.9例7.6的運行結果⑵撤銷系統權限撤銷系統權限使用REVOKE命令,語法如下:REVOKE系統權限1[,系統權限2,…]|ALL[PRIVILEGES]FROM用戶名1[,用戶名2,…]|PUBLIC;7.2.3管理對象權限管理對象權限也有兩種方式:使用企業管理器或手工方式管理。1.
使用企業管理器管理對象權限啟動企業管理器后,展開“安全性”→“用戶”節點,右擊某數據庫用戶(如TESTUSER),在快捷菜單中選擇“查看/編輯詳細資料”,則彈出“編輯用戶”對話框,選擇“對象”選項卡(如圖7.10所示),則可以查看、授予或撤銷該用戶的對象權限。
圖7.10“編輯用戶”的對話框(“對象”選項卡)2.使用手工方式管理對象權限⑴授予對象權限授予對象權限使用GRANT命令,語法如下:
GRANT對象權限1[,對象權限2,…]|ALL[PRIVILEGES]ON[模式名.]數據庫對象[(列名1[,列名2,…])]
[WITHGRANTOPTION];
⑵撤銷對象權限撤銷對象權限使用REVOKE命令,語法如下:
REVOKE對象權限1[,對象權限2,…]|ALL[PRIVILEGES]ON[模式名.]數據庫對象[(列名1[,列名2,…])]
FROM用戶名1[,用戶名2,…]|PUBLIC[CASCADECONSTRAINTS][FORCE];
其中,CASCADECONSTRAINTS選項將會導致用REFERENCES權限定義的完整性約束被刪除,FORCE選項強制使用戶定義的對象類型的EXECUTE權限被廢除。注意:撤銷對象權限的操作是向下擴展的,而撤銷系統權限則不然。7.3角色管理角色是權限的一種集合,使用角色可以簡化安全性。通過把共享同樣授權的用戶分組并分別為每組創建一個角色,然后向角色授予相應的權限,最后再將角色授予每組中的各個用戶,這樣就可以讓每個用戶獲得了與同組中其他用戶相同的權限。7.3.1預定義角色
Oracle9i提供的主要預定義角色如表7.4所示。表7.4Oracle9i提供的主要預定義角色7.3.2創建角色創建角色有兩種方式:使用企業管理器或手工方式創建。1.使用企業管理器創建角色啟動企業管理器后,展開“安全性”節點,右擊“角色”,在快捷菜單中選擇“創建”,則彈出如圖7.11所示的“創建角色”對話框,該對話框包含一般信息、角色、系統權限、對象權限等6個選項卡。其中“一般信息”選項卡用于設定角色名稱和驗證方式等,設置完畢后單擊“創建”按鈕,即可完成創建角色的操作。
圖7.11“創建角色”的對話框(“一般信息”選項卡)
2.使用手工方式創建角色具有CREATEROLE系統權限的用戶可以使用CREATEROLE命令創建角色,語法如下:
CREATEROLE角色名[NOTIDENTIFIED|IDENTIFIEDBY密碼];7.3.3查看角色查看角色有兩種方式:使用企業管理器或手工方式查看。1.
使用企業管理器查看角色啟動企業管理器后,展開“安全性”→“用戶”節點,右擊某角色(如R1),在快捷菜單中選擇“查看/編輯詳細資料”,則彈出“編輯角色”對話框,選擇“角色”選項卡(如圖7.12所示),即可查看角色。圖7.12使用企業管理器查看角色
2.使用手工方式查看角色使用表7.5所示的視圖可以查看角色信息。表7.5Oracle9i提供的角色視圖
7.3.4為角色授予或撤銷權限為角色授予或撤銷權限有兩種方式:使用企業管理器或手工方式管理。1.使用企業管理器為角色授予或撤銷權限啟動企業管理器后,展開“安全性”節點,右擊“角色”,在快捷菜單中選擇“查看/編輯詳細資料”,則彈出“編輯角色”對話框,選擇“系統”選
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 在校學生實習表現證明及成果匯報(6篇)
- 棉被購銷協議年
- 我和書的友誼寫人作文9篇
- 讀少年中國說后的啟示議論文9篇
- 2025年茶藝師初級職業資格考試試卷
- 2025年安全工程師考試模擬試卷:安全生產標準化評審案例分析
- 2025年會計職稱考試《初級會計實務》復盤強化錯題精講試題
- 2025年摩托車維修工(中級)考試試卷:摩托車維修行業政策解讀與行業發展趨勢分析
- 在成長的路上話題作文(7篇)
- 2025年場(廠)內專用機動車輛作業特種操作證考試實戰技巧試題試卷
- 人教英語九年級單詞表
- 北師大版五年級下冊數學計算題每日一練帶答案(共30天)
- 河南省建筑安全員《A證》考試題庫
- 二零二五年度校方責任險賠償協議書:校園食品安全事故責任賠償合同
- 捷科醫藥物流管理系統(SCM)手冊資料講解
- 病理科生物安全培訓
- 2025年立普妥行業深度研究分析報告-20241226-185650
- 家庭教育中的創客教育與孩子創新思維
- 《金融與科技創新協同發展探究的文獻綜述》3300字
- 新生兒科安全教育宣教
- 扶梯設備安全操作培訓
評論
0/150
提交評論