數(shù)據(jù)庫課件:第12章 安全管理_第1頁
數(shù)據(jù)庫課件:第12章 安全管理_第2頁
數(shù)據(jù)庫課件:第12章 安全管理_第3頁
數(shù)據(jù)庫課件:第12章 安全管理_第4頁
數(shù)據(jù)庫課件:第12章 安全管理_第5頁
已閱讀5頁,還剩82頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第12章安全管理主要內(nèi)容用戶管理權(quán)限管理角色管理概要文件管理審計(jì)案例數(shù)據(jù)庫安全控制的實(shí)現(xiàn)12.1用戶管理用戶管理概述創(chuàng)建用戶修改用戶用戶的鎖定與解鎖刪除用戶查詢用戶信息12.1.1用戶管理概述SYS:是數(shù)據(jù)庫中具有最高權(quán)限的數(shù)據(jù)庫管理員,可以啟動、修改和關(guān)閉數(shù)據(jù)庫,擁有數(shù)據(jù)字典;SYSTEM:是一個(gè)輔助的數(shù)據(jù)庫管理員,不能啟動和關(guān)閉數(shù)據(jù)庫,但可以進(jìn)行其他一些管理工作,如創(chuàng)建用戶、刪除用戶等。SYSMAN:是OEM的管理員用戶,可以對OEM進(jìn)行配置和管理。DBSNMP:是OEM代理用來監(jiān)視和管理數(shù)據(jù)庫的用戶。PUBLIC:實(shí)質(zhì)上是一個(gè)用戶組,數(shù)據(jù)庫中任何一個(gè)用戶都屬于該組成員。要為數(shù)據(jù)庫中每個(gè)用戶都授予某個(gè)權(quán)限,只需把權(quán)限授予PUBLIC就可以了。12.1.2.創(chuàng)建用戶基本語法CREATEUSERuser_nameIDENTIFIED[BYpassword|EXTERNALLY|GLOBALLYAS'external_name'][DEFAULTTABLESPACEtablespace_name][TEMPORARYTABLESPACEtemp_tablesapce_name][QUOTAnK|M|UNLIMITEDONtablespace_name][PROFILEprofile_name][PASSWORDEXPIRE][ACCOUNTLOCK|UNLOCK];參數(shù)說明user_name:用于設(shè)置新建用戶名,在數(shù)據(jù)庫中用戶名必須是唯一的;IDENTIFIED:用于指明用戶身份認(rèn)證方式;BYpassword:用于設(shè)置用戶的數(shù)據(jù)庫身份認(rèn)證,其中password為用戶口令;EXTERNALLY:用于設(shè)置用戶的外部身份認(rèn)證;GLOBALLYAS'external_name':用于設(shè)置用戶的全局身份認(rèn)證,其中external_name為Oracle的安全管理服務(wù)器相關(guān)信息;DEFAULTTABLESPACE:用于設(shè)置用戶的默認(rèn)表空間,如果沒有指定,Oracle將數(shù)據(jù)庫默認(rèn)表空間作為用戶的默認(rèn)表空間;TEMPORARYTABLESPACE:用于設(shè)置用戶的臨時(shí)表空間;QUOTA:用于指定用戶在特定表空間上的配額,即用戶在該表空間中可以分配的最大空間;PROFILE:用于為用戶指定概要文件,默認(rèn)值為DEFAULT,采用系統(tǒng)默認(rèn)的概要文件;PASSWORDEXPIRE:用于設(shè)置用戶口令的初始狀態(tài)為過期,用戶在首次登錄數(shù)據(jù)庫時(shí)必須修改口令;ACCOUNTLOCK:用于設(shè)置用戶初始狀態(tài)為鎖定,默認(rèn)為不鎖定;ACCOUNTUNLOCK:用于設(shè)置用戶初始狀態(tài)為不鎖定或解除用戶的鎖定狀態(tài)注意在創(chuàng)建新用戶后,必須為用戶授予適當(dāng)?shù)臋?quán)限,用戶才可以進(jìn)行相應(yīng)的數(shù)據(jù)庫操作。例如,授予用戶CREATESESSION權(quán)限后,用戶才可以連接到數(shù)據(jù)庫。創(chuàng)建一個(gè)用戶user1,口令為user1,默認(rèn)表空間為USERS,在該表空間的配額為10MB,初始狀態(tài)為鎖定。CREATEUSERuser1IDENTIFIEDBYuser1DEFAULTTABLESPACEUSERSQUOTA10MONUSERSACCOUNTLOCK;創(chuàng)建一個(gè)用戶user2,口令為user2,默認(rèn)表空間為USERS,在該表空間的配額為10MB??诹钤O(shè)置為過期狀態(tài),即首次連接數(shù)據(jù)庫時(shí)需要修改口令。概要文件為example_profile(假設(shè)該概要文件已經(jīng)創(chuàng)建)。CREATEUSERuser2IDENTIFIEDBYuser2DEFAULTTABLESPACEUSERSQUOTA10MONUSERSPROFILEexample_profilePASSWORDEXPIRE;基本語法ALTERUSERuser_name[IDENTIFIED][BYpassword|EXTERNALLY|GLOBALLYAS'external_name'][DEFAULTTABLESPACEtablespace_name][TEMPORARYTABLESPACEtemp_tablesapce_name][QUOTAnK|M|UNLIMITEDONtablespace_name][PROFILEprofile_name][DEFAULTROLErole_list|ALL[EXCEPTrole_list]|NONE][PASSWORDEXPIRE][ACCOUNTLOCK|UNLOCK];12.1.3修改用戶參數(shù)說明role_list:角色列表;ALL:表示所有角色;EXCEPTrole_list:表示除了role_list列表中的角色之外的其他角色;NONE:表示沒有默認(rèn)角色。注意,指定的角色必須是使用GRANT命令直接授予該用戶的角色。將用戶user1的口令修改為newuser1,同時(shí)將該用戶解鎖。ALTERUSERuser1IDENTIFIEDBYnewuser1ACCOUNTUNLOCK;修改用戶user2的默認(rèn)表空間為ORCLTBS1,在該表空間的配額為20MB,在USERS表空間的配額為10MB。ALTERUSERuser4DEFAULTTABLESPACEORCLTBS1QUOTA20MONORCLTBS1QUOTA10MONUSERS;12.1.4用戶的鎖定與解鎖用戶的鎖定與解鎖某個(gè)用戶暫時(shí)離開工作某個(gè)用戶永久離開工作應(yīng)用程序開發(fā)過程中使用的一些數(shù)據(jù)庫用戶賬戶DBA創(chuàng)建的特殊用戶帳戶示例ALTERUSERoeACCOUNTLOCK;ALTERUSERscottACCOUNTUNLOCK;12.1.5刪除用戶基本語法DROPUSERuser_name[CASCADE];步驟先刪除用戶所擁有的對象再刪除用戶將參照該用戶對象的其他數(shù)據(jù)庫對象標(biāo)志為INVALID12.1.6查詢用戶信息ALL_USERS:包含數(shù)據(jù)庫所有用戶的用戶名、用戶ID和用戶創(chuàng)建時(shí)間。DBA_USERS:包含數(shù)據(jù)庫所有用戶的詳細(xì)信息。USER_USERS:包含當(dāng)前用戶的詳細(xì)信息。DBA_TS_QUOTAS:包含所有用戶的表空間配額信息。USER_TS_QUOTAS:包含當(dāng)前用戶的表空間配額信息。V$SESSION:包含用戶會話信息。V$OPEN_CURSOR:包含用戶執(zhí)行的SQL語句信息。查看數(shù)據(jù)庫所有用戶名及其默認(rèn)表空間。SELECTSERNAME,DEFAULT_TABLESPACEFROMDBA_USERS;查看數(shù)據(jù)庫中各用戶的登錄時(shí)間、會話號。SELECTSID,SERIAL#,LOGON_TIME,USERNAMEFROMV$SESSION;12.2權(quán)限管理權(quán)限管理概述系統(tǒng)權(quán)限的授予與回收對象權(quán)限的授予與回收查詢權(quán)限信息12.2.1權(quán)限管理概述概念所謂權(quán)限就是執(zhí)行特定類型SQL命令或訪問其他用戶的對象的權(quán)利。用戶在數(shù)據(jù)庫中可以執(zhí)行什么樣的操作,以及可以對哪些對象進(jìn)行操作,完全取決于該用戶所擁有的權(quán)限。分類系統(tǒng)權(quán)限:系統(tǒng)權(quán)限是指在數(shù)據(jù)庫級別執(zhí)行某種操作的權(quán)限,或針對某一類對象執(zhí)行某種操作的權(quán)限。例如,CREATESESSION權(quán)限、CREATEANYTABLE權(quán)限。對象權(quán)限:對象權(quán)限是指對某個(gè)特定的數(shù)據(jù)庫對象執(zhí)行某種操作的權(quán)限。例如,對特定表的插入、刪除、修改、查詢的權(quán)限。授權(quán)方法直接授權(quán):利用GRANT命令直接為用戶授權(quán)。間接授權(quán):先將權(quán)限授予角色,然后再將角色授予用戶。12.2.2系統(tǒng)權(quán)限的授予與回收系統(tǒng)權(quán)限分類系統(tǒng)權(quán)限的授權(quán)系統(tǒng)權(quán)限的回收(1)系統(tǒng)權(quán)限分類一類是對數(shù)據(jù)庫某一類對象的操作能力,通常帶有ANY關(guān)鍵字。例如,CREATEANYINDEX,ALTERANYINDEX,DROPANYINDEX。另一類系統(tǒng)權(quán)限是數(shù)據(jù)庫級別的某種操作能力。例如,CREATESESSION。(2)系統(tǒng)權(quán)限的授權(quán)語法為GRANTsys_priv_listTOuser_list|role_list|PUBLIC[WITHADMINOPTION];參數(shù)說明:sys_priv_list:表示系統(tǒng)權(quán)限列表,以逗號分隔;user_list:表示用戶列表,以逗號分隔;role_list:表示角色列表,以逗號分隔;PUBLIC:表示對系統(tǒng)中所有用戶授權(quán);WITHADMINOPTION:表示允許系統(tǒng)權(quán)限接收者再把此權(quán)限授予其他用戶。系統(tǒng)權(quán)限授予時(shí)需要注意的幾點(diǎn):只有DBA才應(yīng)當(dāng)擁有ALTERDATABASE系統(tǒng)權(quán)限。應(yīng)用程序開發(fā)者一般需要擁有CREATETABLE、CREATEVIEW和CREATEINDEX等系統(tǒng)權(quán)限。普通用戶一般只具有CREATESESSION系統(tǒng)權(quán)限。只有授權(quán)時(shí)帶有WITHADMINOPTION子句時(shí),用戶才可以將獲得的系統(tǒng)權(quán)限再授予其他用戶,即系統(tǒng)權(quán)限的傳遞性。為PUBLIC用戶組授予CREATESESSION系統(tǒng)權(quán)限。GRANTCREATESESSIONTOPUBLIC;為用戶user1授予CREATESESSION,CREATETABLE,CREATEINDEX系統(tǒng)權(quán)限。GRANTCREATESESSION,CREATETABLE,CREATEVIEWTOuser1;為用戶user2授予CREATESESSION,CREATETABLE,CREATEINDEX系統(tǒng)權(quán)限。user2獲得權(quán)限后,為用戶user3授予CREATETABLE權(quán)限。GRANTCREATESESSION,CREATETABLE,CREATEVIEWTOuser2WITHADMINOPTION;CONNECTuser2/user2@HUMAN_RESOURCEGRANTCREATETABLETOuser3;語法為REVOKEsys_priv_listFROMuser_list|role_list|PUBLIC;;注意事項(xiàng)多個(gè)管理員授予用戶同一個(gè)系統(tǒng)權(quán)限后,其中一個(gè)管理員回收其授予該用戶的系統(tǒng)權(quán)限時(shí),該用戶將不再擁有相應(yīng)的系統(tǒng)權(quán)限。為了回收用戶系統(tǒng)權(quán)限的傳遞性(授權(quán)時(shí)使用了WITHADMINOPTION子句),必須先回收其系統(tǒng)權(quán)限,然后再授予其相應(yīng)的系統(tǒng)權(quán)限。如果一個(gè)用戶獲得的系統(tǒng)權(quán)限具有傳遞性,并且給其他用戶授權(quán),那么該用戶系統(tǒng)權(quán)限被回收后,其他用戶的系統(tǒng)權(quán)限并不受影響。(3)系統(tǒng)權(quán)限的回收

12.2.3對象權(quán)限的授予與回收對象權(quán)限分類對象權(quán)限的授權(quán)對象權(quán)限的回收(1)對象權(quán)限分類在Oracle數(shù)據(jù)庫中共有9種類型的對象權(quán)限,不同類型的模式對象有不同的對象權(quán)限,而有的對象并沒有對象權(quán)限,只能通過系統(tǒng)權(quán)限進(jìn)行控制,如簇、索引、觸發(fā)器、數(shù)據(jù)庫鏈接等。對象權(quán)限適合對象對象權(quán)限功能說明SELECT表、視圖、序列查詢數(shù)據(jù)操作UPDATE表、視圖更新數(shù)據(jù)操作DELETE表、視圖刪除數(shù)據(jù)操作INSERT表、視圖插入數(shù)據(jù)操作REFERENCES表在其他表中創(chuàng)建外鍵時(shí)可以引用該表EXECUTE存儲過程、函數(shù)、包執(zhí)行PL/SQL存儲過程、函數(shù)和包READ目錄讀取目錄ALTER表、序列修改表或序列結(jié)構(gòu)INDEX表為表創(chuàng)建索引ALL具有對象權(quán)限的所有模式對象某個(gè)對象所有對象權(quán)限操作集合(2)對象權(quán)限的授權(quán)

語法GRANTobj_priv_list|ALLON[schema.]objectTOuser_list|role_list[WITHGRANTOPTION];參數(shù)說明obj_priv_list:表示對象權(quán)限列表,以逗號分隔;[schema.]object:表示指定的模式對象,默認(rèn)為當(dāng)前模式中的對象;user_list:表示用戶列表,以逗號分隔;role_list:表示角色列表,以逗號分隔;WITHGRANTOPTION:表示允許對象權(quán)限接收者把此對象權(quán)限授予其他用戶。將ehr模式下的employees表的SELECT、UPDATE、INSERT權(quán)限授予user1用戶。GRANTSELECT,INSERT,UPDATEONehr.employeesTOuser1;將ehr模式下的employees表的SELECT、UPDATE、INSERT權(quán)限授予user2用戶。user2用戶再將employees表的SELECT、UPDATE權(quán)限授予user3用戶。CONNECTsystem/tiger@HUMAN_RESOURCEGRANTSELECT,INSERT,UPDATEONehr.employeesTOuser2WITHGRANTOPTION;CONNECTuser2/user2@HUMAN_RESOURCEGRANTSELECT,UPDATEONehr.employeesTOuser3;語法REVOKEobj_priv_list|ALLON[schema.]objectFROMuser_list|role_list;注意事項(xiàng)多個(gè)管理員授予用戶同一個(gè)對象權(quán)限后,其中一個(gè)管理員回收其授予該用戶的對象權(quán)限時(shí),該用戶不再擁有相應(yīng)的對象權(quán)限。為了回收用戶對象權(quán)限的傳遞性(授權(quán)時(shí)使用了WITHGRANTOPTION子句),必須先回收其對象權(quán)限,然后再授予其相應(yīng)的對象權(quán)限。如果一個(gè)用戶獲得的對象權(quán)限具有傳遞性(授權(quán)時(shí)使用了WITHGRANTOPTION子句),并且給其他用戶授權(quán),那么該用戶的對象權(quán)限被回收后,其他用戶的對象權(quán)限也被回收。(3)對象權(quán)限的回收

WITHADMINOPTION當(dāng)甲用戶授權(quán)給乙用戶,且激活該選項(xiàng),則被授權(quán)的乙用戶具有管理該權(quán)限的能力:或者能把得到的權(quán)限再授給其他用戶丙,或者能回收授出去的權(quán)限。當(dāng)甲用戶收回乙用戶的權(quán)限后,乙用戶曾經(jīng)授給丙用戶的權(quán)限仍然存在與WITHGRANTOPTION比較當(dāng)甲用戶授權(quán)給乙用戶,且激活該選項(xiàng),則被授權(quán)的乙用戶具有管理該權(quán)限的能力:或者能把得到的權(quán)限再授給其他用戶丙,或者能回收授出去的權(quán)限。當(dāng)甲用戶收回乙用戶的權(quán)限后,乙用戶曾經(jīng)授給丙用戶的權(quán)限也被回收。

WITHADMINOPTIONDBAGRANTREVOKEJeffEmiJeffEmiDBAGRANTREVOKEWITHGRANTOPTIONscottuser2user3EmiJeffBob12.2.4查詢權(quán)限信息DBA_TAB_PRIVS:包含數(shù)據(jù)庫所有對象的授權(quán)信息ALL_TAB_PRIVS:包含數(shù)據(jù)庫所有用戶和PUBLIC用戶組的對象授權(quán)信息USER_TAB_PRIVS:包含當(dāng)前用戶對象的授權(quán)信息DBA_SYS_PRIVS:包含授予用戶或角色的系統(tǒng)權(quán)限信息USER_SYS_PRIVS:包含授予當(dāng)前用戶的系統(tǒng)權(quán)限信。12.3角色管理角色概述系統(tǒng)預(yù)定義角色自定義角色利用角色進(jìn)行權(quán)限管理查詢角色信息12.3.1Oracle數(shù)據(jù)庫角色概述角色的概念所謂角色就是一系列相關(guān)權(quán)限的集合12.3.2預(yù)定義角色預(yù)定義角色概述預(yù)定義角色是指在Oracle數(shù)據(jù)庫創(chuàng)建時(shí)由系統(tǒng)自動創(chuàng)建的一些常用的角色,這些角色已經(jīng)由系統(tǒng)授予了相應(yīng)的權(quán)限。DBA可以直接利用預(yù)定義的角色為用戶授權(quán),也可以修改預(yù)定義角色的權(quán)限。Oracle數(shù)據(jù)庫中有50多個(gè)預(yù)定義角色。可以通過數(shù)據(jù)字典視圖DBA_ROLES查詢當(dāng)前數(shù)據(jù)庫中所有的預(yù)定義角色,通過DBA_SYS_PRIVS查詢各個(gè)預(yù)定義角色所具有的系統(tǒng)權(quán)限。角色角色具有的部分權(quán)限CONNECTCREATESESSION,RESOURCECREATECLUSTER,CREATEOPERATOR,CREATETRIGGER,CREATETYPE,CREATESEQUENCE,CREATEINDEXTYPE,CREATEPROCEDURE,CREATETABLEDBAADMINISTERDATABSETRIGGER,ADMINISTERRESOURCEMANAGE,CREATE…,CREATEANY…,ALTER…,ALTERANY…,DROP…,DROPANY…,EXECUTE…,EXECUTEANY…EXP_FULL_DATABASEADMINISTERRESOURCEMANAGE,BACKUPANYTABLE,EXECUTEANYPROCEDURE,SELECTANYTABLE,EXECUTEANYTYPEIMP_FULL_DATABASEADMINISTERDATABSETRIGGER,ADMINISTERRESOURCEMANAGE,CREATEANY…,ALTERANY…,DROP…,DROPANY…,EXECUTEANY…12.3.3自定義角色創(chuàng)建角色角色權(quán)限的授予與回收修改角色刪除角色(1)創(chuàng)建角色

語法為CREATEROLErole_name[NOTIDENTIFIED][IDENTIFIEDBYpassword];參數(shù)說明role_name:用于指定自定義角色名稱,該名稱不能與任何用戶名或其他角色相同;NOTIDENTIFIED:用于指定該角色由數(shù)據(jù)庫授權(quán),使該角色生效時(shí)不需要口令;IDENTIFIEDBYpassword:用于設(shè)置角色生效時(shí)的認(rèn)證口令。例如,創(chuàng)建不同類型的角色。CREATEROLEhigh_manager_role;CREATEROLEmiddle_manager_roleIDENTIFIEDBYmiddlerole;CREATEROLElow_manager_roleIDENTIFIEDBYlowrole;(2)角色權(quán)限的授予與回收

說明給角色授予適當(dāng)?shù)南到y(tǒng)權(quán)限、對象權(quán)限或已有角色。在數(shù)據(jù)庫運(yùn)行過程中,可以為角色增加權(quán)限,也可以回收其權(quán)限。給角色授權(quán)時(shí)應(yīng)該注意,一個(gè)角色可以被授予另一個(gè)角色,但不能授予其本身,不能產(chǎn)生循環(huán)授權(quán)。示例GRANTCONNECT,CREATETABLE,CREATEVIEWTOlow_manager_role;GRANTCONNECT,CREATETABLE,CREATEVIEWTOmiddle_manager_role;GRANTCONNECT,RESOURCE,DBATOhigh_manager_role;GRANTSELECT,UPDATE,INSERT,DELETEONscott.empTOhigh_manager_role;REVOKECONNECTFROMlow_manager_role;REVOKECREATETABLE,CREATEVIEWFROMmiddle_manager_role;REVOKEUPDATE,DELETE,INSERTONscott.empFROMhigh_manager_role;(3)修改角色概念修改角色是指修改角色生效或失效時(shí)的認(rèn)證方式,也就是說,是否必須經(jīng)過Oracle確認(rèn)才允許對角色進(jìn)行修改。修改角色的語法ALTERROLErole_name[NOTIDENTIFIED]|[IDENTIFIEDBYpassword];示例ALTERROLEhigh_manager_roleIDENTIFIEDBYhighrole;ALTERROLEmiddle_manager_roleNOTIDENTIFIED;(4)刪除角色語法結(jié)構(gòu)DROPROLErole_name;說明如果某個(gè)角色不再需要,則可以使用DROPROLE語句刪除角色。角色被刪除后,用戶通過該角色獲得的權(quán)限被回收。12.3.4利用角色進(jìn)行權(quán)限管理給用戶或角色授予角色從用戶或角色回收角色用戶角色的激活或屏蔽(1)給用戶或角色授予角色語法GRANTrole_listTOuser_list|role_list;例如,將CONNECT,high_manager_role角色授予用戶user1,將RESOURCE,CONNECT角色授予角色middle_manager_role。GRANTCONNECT,high_manager_roleTOuser1;GRANTRESOURCE,CONNECTTOmiddle_manager_role;(2)從用戶或角色回收角色語法為REVOKErole_listFROMuser_list|role_list;例如,回收角色middle_manager_role的RESOURCE,CONNECT角色。REVOKERESOURCE,CONNECTFROMmiddle_manager_role;(3)用戶角色的激活或屏蔽語法為ALTERUSERuser_nameDEFAULTROLE[role_name]|[ALL[EXCEPTrole_name]]|[NONE];示例ALTERUSERuser1DEFAULTROLENONE;ALTERUSERuser1DEFAULTROLECONNECT,DBA;ALTERUSERuser1DEFAULTROLEALL;ALTERUSERuser1DEFAULTROLEALLEXCEPTDBA;13.3.5查詢角色信息DBA_ROLES:包含數(shù)據(jù)庫中所有角色及其描述;DBA_ROLE_PRIVS:包含為數(shù)據(jù)庫中所有用戶和角色授予的角色信息;USER_ROLE_PRIVS:包含為當(dāng)前用戶授予的角色信息;ROLE_ROLE_PRIVS:為角色授予的角色信息;ROLE_SYS_PRIVS:為角色授予的系統(tǒng)權(quán)限信息;ROLE_TAB_PRIVS:為角色授予的對象權(quán)限信息;SESSION_PRIVS:當(dāng)前會話所具有的系統(tǒng)權(quán)限信息;SESSION_ROLES:當(dāng)前會話所具有的角色信息。。查詢角色CONNECT所具有的系統(tǒng)權(quán)限信息。SELECT*FROMROLE_SYS_PRIVSWHEREROLE='CONNECT';查詢DBA角色被授予的角色信息。SELECT*FROMROLE_ROLE_PRIVSWHEREROLE='DBA';12.4概要文件管理概要文件概述概要文件中參數(shù)介紹創(chuàng)建概要文件修改概要文件刪除概要文件查詢概要文件12.4.1概要文件概述概要文件的作用資源限制級別和類型啟用或停用資源限制(1)概要文件的作用概要文件(PROFILE)是數(shù)據(jù)庫和系統(tǒng)資源限制的集合,是Oracle數(shù)據(jù)庫安全策略的重要組成部分。利用概要文件,可以限制用戶對數(shù)據(jù)庫和系統(tǒng)資源的使用,同時(shí)還可以對用戶口令進(jìn)行管理。。在Oracle數(shù)據(jù)庫創(chuàng)建的同時(shí),系統(tǒng)會創(chuàng)建一個(gè)名為DEFAULT的默認(rèn)概要文件。如果沒有為用戶顯式地指定一個(gè)概要文件,系統(tǒng)默認(rèn)將DEFAULT概要文件作為用戶的概要文件。(2)資源限制級別和類型

資源限制級別會話級資源限制:對用戶在一個(gè)會話過程中所能使用的資源進(jìn)行限制。調(diào)用級資源限制:對一條SQL語句在執(zhí)行過程中所能使用的資源進(jìn)行限制。資源限制類型

CPU使用時(shí)間;邏輯讀;每個(gè)用戶的并發(fā)會話數(shù);用戶連接數(shù)據(jù)庫的空閑時(shí)間;用戶連接數(shù)據(jù)庫的時(shí)間;私有SQL區(qū)和PL/SQL區(qū)的使用。(3)啟用或停用資源限制

在數(shù)據(jù)庫啟動前啟用或停用資源限制將數(shù)據(jù)庫初始化參數(shù)文件中的參數(shù)RESOURCE_LIMIT的值設(shè)置為TRUE或FALSE(默認(rèn)),來啟用或停用系統(tǒng)資源限制。在數(shù)據(jù)庫啟動后啟用或停用資源限制使用ALTERSYSTEM語句修改RESOURCE_LIMIT的參數(shù)值為TRUE或FALSE,來啟動或關(guān)閉系統(tǒng)資源限制。ALTERSYSTEMSETRESOURCE_LIMIT=TRUE;12.4.2概要文件中參數(shù)資源限制參數(shù)口令管理參數(shù)(1)資源限制參數(shù)CPU_PER_SESSION:限制用戶在一次會話期間可以占用的CPU時(shí)間總量,單位為百分之一秒。當(dāng)達(dá)到該時(shí)間限制后,用戶就不能在會話中執(zhí)行任何操作了,必須斷開連接,然后重新建立連接。CPU_PER_CALL:限制每個(gè)調(diào)用可以占用的CPU時(shí)間總量,單位為百分之一秒。當(dāng)一個(gè)SQL語句執(zhí)行時(shí)間達(dá)到該限制后,該語句以錯(cuò)誤信息結(jié)束。CONNECT_TIME:限制每個(gè)會話可持續(xù)的最大時(shí)間值,單位為分鐘。當(dāng)數(shù)據(jù)庫連接持續(xù)時(shí)間超出該設(shè)置時(shí),連接被斷開。IDLE_TIME:限制每個(gè)會話處于連續(xù)空閑狀態(tài)的最大時(shí)間值,單位為分鐘。當(dāng)會話空閑時(shí)間超過該設(shè)置時(shí),連接被斷開。SESSIONS_PER_USER:限制一個(gè)用戶打開數(shù)據(jù)庫會話的最大數(shù)量。LOGICAL_READS_PER_SESSION:允許一個(gè)會話讀取數(shù)據(jù)塊的最大數(shù)量,包括從內(nèi)存中讀取的數(shù)據(jù)塊和從磁盤中讀取的數(shù)據(jù)塊的總和。LOGICAL_READS_PER_CALL:允許一個(gè)調(diào)用讀取的數(shù)據(jù)塊的最大數(shù)量,包括從內(nèi)存中讀取的數(shù)據(jù)塊和從磁盤中讀取的數(shù)據(jù)塊的總和。PRIVATE_SGA:在共享服務(wù)器操作模式中,執(zhí)行SQL語句或PL/SQL程序時(shí),Oracle將在SGA中創(chuàng)建私有SQL區(qū)。該參數(shù)限制在SGA中一個(gè)會話可分配私有SQL區(qū)的最大值。COMPOSITE_LIMIT:稱為“綜合資源限制”,是一個(gè)用戶會話可以消耗的資源總限額。該參數(shù)由CPU_PER_SESSION,LOGICAL_READS_PER_SESSION,PRIVATE_SGA,CONNECT_TIME幾個(gè)參數(shù)綜合決定。(2)口令管理參數(shù)FAILED_LOGIN_ATTEMPTS:限制用戶在登錄Oracle數(shù)據(jù)庫時(shí)允許失敗的次數(shù)。一個(gè)用戶嘗試登錄數(shù)據(jù)庫的次數(shù)達(dá)到該值時(shí),該用戶的賬戶將被鎖定,只有解鎖后才可以繼續(xù)使用。PASSWORD_LOCK_TIME:設(shè)定當(dāng)用戶登錄失敗后,用戶賬戶被鎖定的時(shí)間長度。PASSWORD_LIFE_TIME:設(shè)置用戶口令的有效天數(shù)。達(dá)到限制的天數(shù)后,該口令將過期,需要設(shè)置新口令。PASSWORD_GRACE_TIME:用于設(shè)定提示口令過期的天數(shù)。在這幾天中,用戶將接收到一個(gè)關(guān)于口令過期需要修改口令的警告。當(dāng)達(dá)到規(guī)定的天數(shù)后,原口令過期。PASSWORD_REUSE_TIME:指定一個(gè)用戶口令被修改后,必須經(jīng)過多少天后才可以重新使用該口令。PASSWORD_REUSE_MAX:指定一個(gè)口令被重新使用前,必須經(jīng)過多少次修改。PASSWORD_VERIFY_FUNCTION:設(shè)置口令復(fù)雜性校驗(yàn)函數(shù)。該函數(shù)會對口令進(jìn)行校驗(yàn),以判斷口令是否符合最低復(fù)雜程度或其他校驗(yàn)規(guī)則。12.4.3創(chuàng)建概要文件語法為CREATEPROFILEprofile_nameLIMITresource_parameters|password_parameters;參數(shù)說明如下。profile_name:用于指定要創(chuàng)建的概要文件名稱;resource_parameter:用于設(shè)置資源限制參數(shù),形式為resource_parameter_nameinteger|UNLIMITED|DEFALUTpassword_parameters:用于設(shè)置口令參數(shù),形式為password_parameter_nameinteger|UNLIMITED|DEFALUT創(chuàng)建一個(gè)名為res_profile的概要文件,要求每個(gè)用戶最多可以創(chuàng)建4個(gè)并發(fā)會話;每個(gè)會話持續(xù)時(shí)間最長為60分鐘;如果會話在連續(xù)20分鐘內(nèi)空閑,則結(jié)束會話;每個(gè)會話的私有SQL區(qū)為100KB;每個(gè)SQL語句占用CPU時(shí)間總量不超過10秒。CREATEPROFILEres_profileLIMITSESSIONS_PER_USER4CONNECT_TIME60IDLE_TIME20PRIVATE_SGA100KCPU_PER_CALL100;創(chuàng)建一個(gè)名為pwd_profile的概要文件,如果用戶連續(xù)4次登錄失敗,則鎖定該賬戶,10天后該賬戶自動解鎖。CREATEPROFILEpwd_profileLIMITFAILED_LOGIN_ATTEMPTS4PASSWORD_LOCK_TIME10;將概要文件分配給用戶可以在創(chuàng)建用戶時(shí)為用戶指定概要文件CREATEUSERuser1IDENTIFIEDBYuser1PROFILEres_profile;也可以在修改用戶時(shí)為用戶指定概要文件。ALTERUSERuser2PROFILEpwd_profile;;12.4.4修改概要文件語法為ALTERPROFILEprofile_nameLIMITresource_parameters|password_parameters;注意對概要文件的修改只有在用戶開始一個(gè)新的會話時(shí)才會生效。修改pwd_profile概要文件,將用戶口令有效期設(shè)置為10天。ALTERPROFILEpwd_profileLIMITPASSWORD_LIFE_TIME10;12.4.5刪除概要文件語法DROPPROFILEprofile_name[CASCADE];注意如果要刪除的概要文件已經(jīng)指定給用戶,則必須在DROPPROFILE語句中使用CASCADE子句。如果為用戶指定的概要文件被刪除,則系統(tǒng)自動將DEFAULT概要文件指定給該用戶。刪除概要文件pwd_profile。DROPPROFILEpwd_profileCASCADE;12.4.6查詢概要文件USER_PASSWORD_LIMITS:包含通過概要文件為用戶設(shè)置的口令策略信息。USER_RESOURCE_LIMITS:包含通過概要文件為用戶設(shè)置的資源限制參數(shù)。DBA_PROFILES:包含所有概要文件的基本信息。12.5審計(jì)審計(jì)介紹啟動審計(jì)語句審計(jì)權(quán)限審計(jì)對象審計(jì)網(wǎng)絡(luò)審計(jì)12.5.1審計(jì)概述審計(jì)的概念審計(jì)分類(1)審計(jì)的概念

審計(jì)是監(jiān)視和記錄用戶對數(shù)據(jù)庫所進(jìn)行的操作,以供DBA進(jìn)行統(tǒng)計(jì)和分析。利用審計(jì)可以完成下列任務(wù):調(diào)查數(shù)據(jù)庫中的可疑活動。監(jiān)視和收集特定數(shù)據(jù)庫活動的數(shù)據(jù)。一條審計(jì)記錄中包含用戶名、會話標(biāo)識、終端標(biāo)識、所訪問的模式對象名稱、執(zhí)行的操作、操作的完整語句代碼、日期和時(shí)間戳、所使用的系統(tǒng)權(quán)限等。(2)審計(jì)分類

語句審計(jì)(StatementAuditing):對特定的SQL語句進(jìn)行審計(jì),不指定具體對象。權(quán)限審計(jì)(PrivilegeAuditing):對特定的系統(tǒng)權(quán)限使用情況進(jìn)行審計(jì)。對象審計(jì)(ObjectAuditing):對特定的模式對象上執(zhí)行的特定語句進(jìn)行審計(jì)。網(wǎng)絡(luò)審計(jì)(NetworkAuditing):對網(wǎng)絡(luò)協(xié)議錯(cuò)誤與網(wǎng)絡(luò)層內(nèi)部錯(cuò)誤進(jìn)行審計(jì)。根據(jù)用戶執(zhí)行的語句是否成功,審計(jì)分為:成功執(zhí)行語句的審計(jì)不成功執(zhí)行語句的審計(jì)無論語句是否執(zhí)行成功都進(jìn)行審計(jì)根據(jù)對同一個(gè)語句審計(jì)次數(shù)的不同,審計(jì)分為:會話級審計(jì):對某一個(gè)用戶或所有用戶的同一個(gè)語句只審計(jì)一次,形成一條審計(jì)記錄;存取方式審計(jì):對某一個(gè)用戶或所有用戶的同一個(gè)語句每執(zhí)行一次便審計(jì)一次,即同一條語句形成多個(gè)審計(jì)記錄。12.5.2啟動審計(jì)通過修改靜態(tài)參數(shù)AUDIT_TRAIL值來啟動或關(guān)閉數(shù)據(jù)庫的審計(jì)功能。AUDIT_TRAIL參數(shù)可以取值:為DB,OS,NONE,TRUE,F(xiàn)ALSE,DB_EXTENDED,XML或EXTENDED。DB表示啟動審計(jì)功能,審計(jì)信息寫入SYS.AUD$數(shù)據(jù)字典中;OS表示啟動審計(jì)功能,審計(jì)信息寫入操作系統(tǒng)文件中;默認(rèn)為NONE,表示不啟動審計(jì)功能;TRUE功能與DB選項(xiàng)一樣;FALSE表示不啟動審計(jì)功能,但Oracle會監(jiān)視特定活動并寫入操作系統(tǒng)文件,如例程的啟動、關(guān)閉以及DBA連接數(shù)據(jù)庫等。通過SQL*Plus環(huán)境啟動數(shù)據(jù)庫的審計(jì)功能。ALTERSYSTEMSETaudit_trail='DB'SCOPE=SPFILE;SHUTDOWNIMMEDIATESTARTUP

12.5.2語句審計(jì)概念語句審計(jì)是指對特定類型的SQL語句進(jìn)行審計(jì),與具體的對象沒有關(guān)系??梢詫徲?jì)某個(gè)用戶或所有用戶的SQL語句;可以是會話級審計(jì)或存取方式審計(jì);可以對成功執(zhí)行的SQL語句、沒有成功執(zhí)行的SQL語句或無論是否成功執(zhí)行的SQL語句進(jìn)行審計(jì)。語句審計(jì)的基本語法為AUDITsql_statement|sql_statement_option[BYuser1,user2…][BYSESSION|ACCESS][WHENEVER[NOT]SUCCESSFUL]參數(shù)說明sql_statement:被審計(jì)的SQL語句sql_statement_option:被審計(jì)的SQL語句選項(xiàng)BYuser:指定審計(jì)的用戶,如果沒有指定,則審計(jì)所有用戶;BYSESSION:語句級審計(jì),同一個(gè)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論