《數(shù)據(jù)庫原理之?dāng)?shù)據(jù)庫權(quán)限管理.ppt》由會員分享,可在線閱讀,更多相關(guān)《數(shù)據(jù)庫原理之?dāng)?shù)據(jù)庫權(quán)限管理.ppt(15頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、Oracle 安全管理,,用戶與模式,用戶是指在數(shù)據(jù)庫中定義的、用來訪問數(shù)據(jù)庫的名稱,模式是指一系列數(shù)據(jù)庫對象(如表、視圖、索引等)的集合,模式對象是數(shù)據(jù)庫數(shù)據(jù)的邏輯結(jié)構(gòu)。 用戶的作用是連接數(shù)據(jù)庫并訪問模式中的對象,而模式的作用是創(chuàng)建和管理數(shù)據(jù)庫的對象。 在Oracle數(shù)據(jù)庫中,模式與用戶是一一對應(yīng)的,一個模式只能被一個用戶所擁有并且名字必須與用戶的名稱相同,而一個用戶也只能擁有一個模式。,用戶與模式,當(dāng)用戶訪問自己模式中的對象時,不需要指定模式名。 經(jīng)過授權(quán)的用戶還可以訪問其他模式的對象,訪問時要在對象名的前面加上模式名。,一、創(chuàng)建用戶,語法格式如下: CREATE USER user_na
2、me IDENTIFIED BY password | EXTERNALLY | GLOBALLY DEFAULT TABLESPACE default_tablespace TEMPORARY TABLESPACE temp_tablespace QUOTA size|UNLIMITED ON tablesapce_name PROFILE profile PASSWORD EXPIRE ACCOUNT LOCK | UNLOCK ;,一、創(chuàng)建用戶,(1)user_name是要創(chuàng)建的數(shù)據(jù)庫用戶的名稱。 (2)IDENTIFIED 子句用于指定數(shù)據(jù)庫用戶的認(rèn)證方式,password
3、是指要創(chuàng)建的數(shù)據(jù)庫用戶的密碼,也就是使用密碼認(rèn)證方式,EXTERNALLY表示要使用外部認(rèn)證方式,GLOBALLY表示要使用全局認(rèn)證方式。 (3)DEFAULT TABLESPACE用于指定創(chuàng)建用戶的默認(rèn)表空間。,一、創(chuàng)建用戶,(4)TEMPORARY TABLESPACE用于指定用戶的臨時表空間。 (5)QUOTA(配額)在Oracle數(shù)據(jù)庫中用于對資源的使用進(jìn)行限制。 (6)PASSWORD EXPIRE用于指定用戶密碼初始狀態(tài)為過期。 (7)ACCOUNT用于指定用戶的鎖定狀態(tài)。 (8)創(chuàng)建用戶后,Oracle數(shù)據(jù)庫就會自動創(chuàng)建一個與該用戶名稱相同的模式,該用戶創(chuàng)建的所有對象都會保存在這
4、個模式中。,二、系統(tǒng)權(quán)限管理,1常用的系統(tǒng)權(quán)限 Oracle數(shù)據(jù)庫的系統(tǒng)權(quán)限非常多,共有200多種,總體上可以分為操作數(shù)據(jù)庫的權(quán)限和操作對象的權(quán)限,可以通過查詢視圖system_privilege_map了解Oracle數(shù)據(jù)庫中的系統(tǒng)權(quán)限。 特殊的系統(tǒng)權(quán)限就是sysdba(數(shù)據(jù)庫管理員)和sysoper(數(shù)據(jù)庫操作員)。,二、系統(tǒng)權(quán)限管理,2為用戶授予系統(tǒng)權(quán)限 語法格式如下: GRANT sys_priv, sys_priv, TO user, user , | role, role , | PUBLIC WITH ADMIN OPTION,二、系統(tǒng)權(quán)限管理,3回收授予的系統(tǒng)權(quán)限 語法格式如下
5、: REVOKE sys_priv , sys_priv, FROM user, user , | role, role , | PUBLIC,二、系統(tǒng)權(quán)限管理,4查看用戶的系統(tǒng)權(quán)限 可以通過以下的數(shù)據(jù)字典視圖了解與用戶系統(tǒng)權(quán)限相關(guān)的信息: (1)user_sys_privs:顯示授予給當(dāng)前用戶的系統(tǒng)權(quán)限信息,包括用戶名稱、系統(tǒng)權(quán)限和是否能轉(zhuǎn)授權(quán)限的標(biāo)志信息等信息。 (2)dba_sys_privs:顯示數(shù)據(jù)庫中所有授予給用戶和角色的系統(tǒng)權(quán)限信息,包括接受者、系統(tǒng)權(quán)限和是否可以轉(zhuǎn)授等信息。 (3)session_privs:顯示當(dāng)前用戶所擁有的全部系統(tǒng)權(quán)限的信息。,三、對象權(quán)限管理,1常用的對
6、象權(quán)限 Oracle數(shù)據(jù)庫中有8種對象權(quán)限,它們分別是: (1)SELECT權(quán)限:執(zhí)行查詢操作,能夠執(zhí)行的對象是表、視圖和序列。 (2)INSERT權(quán)限:執(zhí)行插入數(shù)據(jù)的操作,能夠執(zhí)行的對象是表和視圖。 (3)UPDATE權(quán)限:執(zhí)行更新數(shù)據(jù)的操作,能夠執(zhí)行的對象是表和視圖。 (4)DETELE權(quán)限:執(zhí)行刪除數(shù)據(jù)的操作,能夠執(zhí)行的對象是表和視圖。,三、對象權(quán)限管理,(5)ALTER權(quán)限:執(zhí)行修改對象的操作,能夠執(zhí)行的對象是表和序列。 (6)INDEX權(quán)限:執(zhí)行創(chuàng)建索引的操作,能夠執(zhí)行的對象是表。 (7)REFERENCES權(quán)限:執(zhí)行外鍵引用的操作,能夠執(zhí)行的對象是表。 (8)EXECUTE權(quán)限:執(zhí)
7、行對象的操作,能夠執(zhí)行的對象是函數(shù)、過程和包。,三、對象權(quán)限管理,2為用戶授予對象權(quán)限 GRANT obj_priv(column_name, ...) , obj_priv(column_name, ...), ON obj_name TO user, user , | role, role , | PUBLIC WITH GRANT OPTION,三、對象權(quán)限管理,3回收授予的對象權(quán)限 REVOKE obj_priv(column_name, ...) , obj_priv(column_name, ...), ON obj_name FROM user, user , | role, r
8、ole , | PUBLIC,三、對象權(quán)限管理,4查看用戶的對象權(quán)限 可以通過以下的數(shù)據(jù)字典視圖了解與用戶系統(tǒng)權(quán)限相關(guān)的信息:user_tab_privs、all_tab_privs、dba_tab_privs、user_col_privs、all_col_privs、dba_col_privs、user_tab_privs_made、all_tab_privs_made、dba_tab_privs_made、user_col_privs_mad、all_col_privs_made、user_tab_privs_recd、all_tab_privs_recd、user_col_privs_recd、all_col_privs_recd、,