《《ora用戶權(quán)限》PPT課件.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《《ora用戶權(quán)限》PPT課件.ppt(24頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、第十四章 用戶權(quán)限 創(chuàng)建用戶創(chuàng)建角色使用GRANT 和 REVOKE 語(yǔ)句賦予和回收權(quán)限本章目標(biāo) 用戶管理 用戶管理Oracle 默認(rèn)用戶q只有用合法的用戶帳號(hào)才能訪問(wèn)Oracle數(shù)據(jù)庫(kù)qOracle 有幾個(gè)默認(rèn)的數(shù)據(jù)庫(kù)用戶 Oracle 默認(rèn)用戶SYS SYSTEM SCOTT數(shù)據(jù)庫(kù)中所有數(shù)據(jù)字典表和視圖都存儲(chǔ)在 SYS 模式中。SYS用戶主要用 來(lái)維護(hù)系統(tǒng)信息和管理實(shí)例。SYSTEM 是默認(rèn)的系統(tǒng)管理員,該用戶擁有Oracle管理工具使用的內(nèi)部表和視圖。通常通過(guò)SYSTEM用戶管理數(shù)據(jù)庫(kù)用戶、權(quán)限和存儲(chǔ)等SCOTT用戶是Oracle 數(shù)據(jù)庫(kù)的一個(gè)示范帳戶,在數(shù)據(jù)庫(kù)安裝時(shí)創(chuàng)建 數(shù)據(jù)庫(kù)安全包括
2、兩個(gè)方面: 系統(tǒng)安全性 數(shù)據(jù)安全性系統(tǒng)權(quán)限: 對(duì)于數(shù)據(jù)庫(kù)的權(quán)限對(duì)象權(quán)限: 操作數(shù)據(jù)庫(kù)對(duì)象的權(quán)限方案: 一組數(shù)據(jù)庫(kù)對(duì)象集合, 例如表, 視圖,和序列數(shù)據(jù)庫(kù)安全性 超過(guò)一百多種 100 有效的權(quán)限數(shù)據(jù)庫(kù)管理員具有高級(jí)權(quán)限以完成管理任務(wù),例如: 創(chuàng)建新用戶 刪除用戶 刪除表 備份表系統(tǒng)權(quán)限 創(chuàng)建新用戶q要連接到Oracle數(shù)據(jù)庫(kù),就需要?jiǎng)?chuàng)建一個(gè)用戶帳戶q每個(gè)用戶都有一個(gè)默認(rèn)表空間和一個(gè)臨時(shí)表空間qCREATE USER命令用于創(chuàng)建新用戶CREATE USER usernameIDENTIFIED BY passwordDEFAULT TABLESPACE tablespaceTEMPORARY TA
3、BLESPACE tablespace;qCREATE USER 命令的語(yǔ)法是:CREATE USER MARTINIDENTIFIED BY martinpwdDEFAULT TABLESPACE USERSTEMPORARY TABLESPACE T MP; 創(chuàng)建一個(gè)名稱為 martin 的用戶,其密碼為 martinpwd 更改和刪除用戶qALTER USER 命令可用于更改口令 ALTER USER MARTIN IDENTIFIED BY martinpass;修改 MARTIN 用戶的密碼qDROP USER 命令用于刪除用戶 DROP USER MARTIN CASCADE; 刪
4、除 MARTIN 用戶模式 授予權(quán)限 q權(quán)限指的是執(zhí)行特定命令或訪問(wèn)數(shù)據(jù)庫(kù)對(duì)象的權(quán)利q權(quán)限有兩種類型,系統(tǒng)權(quán)限和對(duì)象權(quán)限q系統(tǒng)權(quán)限允許用戶執(zhí)行某些數(shù)據(jù)庫(kù)操作,如創(chuàng)建表就是一個(gè)系統(tǒng)權(quán)限q對(duì)象權(quán)限允許用戶對(duì)數(shù)據(jù)庫(kù)對(duì)象(如表、視圖、序列等)執(zhí)行特定操作q角色是一組相關(guān)權(quán)限的組合,可以將權(quán)限授予角色,再把角色授予用戶,以簡(jiǎn)化權(quán)限管理。 用戶的系統(tǒng)權(quán)限 用戶創(chuàng)建之后, DBA 會(huì)賦予用戶一些系統(tǒng)權(quán)限 以應(yīng)用程序開發(fā)者為例, 一般具有下列系統(tǒng)權(quán)限: CREATE SESSION(創(chuàng)建會(huì)話) CREATE TABLE(創(chuàng)建表) CREATE SEQUENCE(創(chuàng)建序列) CREATE VIEW(創(chuàng)建視圖)
5、CREATE PROCEDURE(創(chuàng)建過(guò)程)GRANT privilege , privilege.TO user , user| role, PUBLIC.; DBA 可以賦予用戶特定的權(quán)限GRANT create session, create table, create sequence, create viewTO scott;賦予系統(tǒng)權(quán)限 授予權(quán)限 qGRANT 命令可用于為用戶分配權(quán)限或角色 GRANT CONNECT TO MARTIN; CONNECT角色允許用戶連接至數(shù)據(jù)庫(kù),并創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象GRANT RESOURCE TO MARTIN; RESOURCE角色允許用戶使用數(shù)
6、據(jù)庫(kù)中的存儲(chǔ)空間GRANT CREATE SEQUENCE TO MARTIN; 此系統(tǒng)權(quán)限允許用戶在當(dāng)前模式中創(chuàng)建序列,此權(quán)限包含在CONNECT角色中 授予權(quán)限 q授予用戶 MARTIN 操作TEST表對(duì)象的權(quán)限 GRANT SELECT ON TEST TO MARTIN; 允許用戶查詢 TEST 表的記錄GRANT UPDATE ON TEST TO MARTIN; 允許用戶更新 TEST 表中的記錄GRANT ALL ON TEST TO MARTIN; 允許用戶插入、刪除、更新和查詢 TEST 表中的記錄 創(chuàng)建角色CREATE ROLE manager;為角色賦予權(quán)限GRANT c
7、reate table, create view TO manager; 將角色賦予用戶 GRANT manager TO DEHAAN, KOCHHAR; 創(chuàng)建角色并賦予權(quán)限 創(chuàng)建角色并賦予權(quán)限 角色管理 Create role identified bypassword alter role set role命令 drop role命令 對(duì)象權(quán)限 對(duì)象權(quán)限 不同的對(duì)象具有不同的對(duì)象權(quán)限 對(duì)象的擁有者擁有所有權(quán)限 對(duì)象的擁有者可以向外分配權(quán)限GRANT object_priv (columns)ON objectTO user|role|PUBLICWITH GRANT OPTION; 分配
8、表 EMPLOYEES 的查詢權(quán)限GRANT selectON employeesTO sue, rich; 分配表中各個(gè)列的更新權(quán)限GRANT update (department_name, location_id)ON departmentsTO scott, manager分配對(duì)象權(quán)限 WITH GRANT OPTION 使用戶同樣具有分配權(quán)限的權(quán)利GRANT select, insertON departmentsTO scottWITH GRANT OPTION;向數(shù)據(jù)庫(kù)中所有用戶分配權(quán)限GRANT selectON alice.departmentsTO PUBLIC;WITH
9、GRANT OPTION 和 PUBLIC 關(guān)鍵字 查詢權(quán)限分配情況 數(shù)據(jù)字典 select table_name from user_tables select view_name from user_views; select index_name,table_name from user_indexes select sequence_name,min_value,max_value,increment_by from user_sequences select synonym_name,table_name from user_synonyms select username,user
10、_id from user_users select * from user_sys_privs; select username,granted_role from user_role_privs select * from role_sys_privs; select uid from dual; 使用 REVOKE 語(yǔ)句收回權(quán)限使用 WITH GRANT OPTION 子句所分配的權(quán)限同樣被收回REVOKE privilege , privilege.|ALLON objectFROM user, user.|role|PUBLICCASCADE CONSTRAINTS;收回對(duì)象權(quán)限 使用 DCL 控制數(shù)據(jù)庫(kù)權(quán)限 CREATE USER 創(chuàng)建用戶 (通常由 DBA 完成) GRANT 分配權(quán)限 CREATE ROLE 創(chuàng)建角色 (通常由 DBA 完成) ALTER USER 修改用戶密碼 REVOKE 收回權(quán)限總結(jié)