版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第第8章章 平安管理平安管理 內(nèi)容提要n本章從數(shù)據(jù)庫用戶管理、權(quán)限管理及資本章從數(shù)據(jù)庫用戶管理、權(quán)限管理及資源限制管理幾個(gè)方面介紹源限制管理幾個(gè)方面介紹Oracle數(shù)據(jù)庫數(shù)據(jù)庫的平安性策略。的平安性策略。n數(shù)據(jù)庫的平安性平安性是指保護(hù)數(shù)據(jù)庫以防止不合法的使用所造成的數(shù)據(jù)泄露、更改或破壞。Oracle作為一種大型的數(shù)據(jù)庫系統(tǒng),其平安問題更為突出。為此,Oracle數(shù)據(jù)庫一面要檢查用戶的合法性,只有合法的用戶才能登錄到數(shù)據(jù)庫系統(tǒng);另一方面數(shù)據(jù)庫系的各個(gè)用戶有著不同的管理和操作權(quán)限,登錄后只能在自己所擁有權(quán)限范圍內(nèi)執(zhí)行相應(yīng)的操作。8.1 用戶管理n 用戶是定義在數(shù)據(jù)庫中的一個(gè)名稱,它是Oracle數(shù)
2、據(jù)庫的根本訪問控制機(jī)制。當(dāng)用戶 要連接到Oracle數(shù)據(jù)庫以進(jìn)展數(shù)據(jù)訪問時(shí),必需要提供合法的用戶名及其口令,如CONNECT scotttiger。 Oracle數(shù)據(jù)庫是可以為多個(gè)用戶共享使用的,一個(gè)數(shù)據(jù)庫中通常會(huì)包含多個(gè)用戶。數(shù) 據(jù)庫在新建后通常會(huì)自動(dòng)建好一些用戶,其中最重要的有sys和system兩個(gè)管理員用戶及 scott等一些普通用戶。n數(shù)據(jù)庫每個(gè)用戶都可以擁有自己的對(duì)象,一個(gè)用戶所擁有對(duì)象的集合稱為一個(gè)形式,用戶與形式具有一一對(duì)應(yīng)的關(guān)系,并且兩者名稱一樣。不同形式中可以具有一樣的數(shù)據(jù)庫對(duì)象名,即不同用戶下的對(duì)象名稱可以一樣。對(duì)象的訪問格式為形式名.對(duì)象名,只有訪問自己形式對(duì)象時(shí),形式
3、名才可以省略。n 例如,用戶userl和用戶user2都建立有名稱為t的表。用戶userl的表t屬于userl形式,user2的表t屬于user2形式。用戶userl假如要訪問自己形式的表t,訪問格式t或userlt都是可以的,但是假如訪問user2形式對(duì)象t,那么必須使用user2t格式。n 數(shù)據(jù)庫管理員可以定義和創(chuàng)立新的數(shù)據(jù)庫用戶,可以為用戶更改口令,可以鎖定某用戶制止其登錄數(shù)據(jù)庫,總之,用戶管理工作是數(shù)據(jù)庫管理員的職責(zé)之一。n 創(chuàng)立用戶必須具有CREATE USER系統(tǒng)權(quán)限。通常情況下只有數(shù)據(jù)庫管理員或平安管理員才擁有CREATE USER權(quán)限。n 創(chuàng)立用戶時(shí)除了指定用戶名外,還要指出驗(yàn)
4、證方式、默認(rèn)使用表空間、空間使用限額、 用戶是否被鎖定、用于資源限制的概要文件等選項(xiàng)。驗(yàn)證方式包括數(shù)據(jù)庫口令驗(yàn)證、操作 系統(tǒng)驗(yàn)證。數(shù)據(jù)庫口令驗(yàn)證要求用戶登錄時(shí)必需要提供口令。 例如,創(chuàng)立新用戶jwcuser:n SQLCREATE USERWCUSern IDENTIFIED BY welcomel35n DEFAULT TABLESPACE edun TEMPORARY TABLESPACE tempn QUOTA 10M ON edun QUOTA 2M ON usersn PASSWORD EXPIRE;n 該命令創(chuàng)立的用戶為jwcuser,采用數(shù)據(jù)庫口令驗(yàn)證,口令為welcomel35
5、;存儲(chǔ)對(duì)象默認(rèn)使用edu表空間,臨時(shí)表空間為temp QUOTA選項(xiàng)指定該用戶在某個(gè)表空間的最大使用空間默認(rèn)情況下,用戶在任何表空間上都沒有限額,此處意即在edu表空間上最多n可使用10MB空間、在users表空間上使用限額為2MB;PASSWORD EXPIRE選項(xiàng)指示口令過期,這要求用戶第一次登錄時(shí)就要更改口令。又如,創(chuàng)立用戶rscuser:n SQLCREATE USER rscuser IDENT工F工ED EXTERNALLY DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp QUOTA UNLIMITED ON users; 創(chuàng)立
6、的用戶rscuser采用操作系統(tǒng)驗(yàn)證,存儲(chǔ)對(duì)象默認(rèn)使用users表空間,且在該表空間上所能使用的存儲(chǔ)空間不受限制,臨時(shí)表空間為temp。 下面命令所創(chuàng)立的用戶為testuser,口令以數(shù)字開頭此時(shí)需要雙引號(hào),所建用戶處于鎖定狀態(tài)被制止登錄數(shù)據(jù)庫。n SQLCREATE USER testuser IDENTIF工ED BY 123456 ACCOUNT LOCK; 由于沒有指明默認(rèn)表空間,因此將采用SYSTEM作為用戶默認(rèn)的表空間,考慮到系統(tǒng) 性能問題,建議指明一個(gè)非系統(tǒng)表空間。8.1.2 特權(quán)用戶n 特權(quán)用戶是指具有特殊權(quán)限SYSDBA或SYSOPER的數(shù)據(jù)庫用戶,這類用戶主要用于執(zhí)行數(shù)據(jù)庫
7、的維護(hù)操作,例如,啟動(dòng)和關(guān)閉數(shù)據(jù)庫、建立數(shù)據(jù)庫、備份和恢復(fù)等任務(wù)。n 從Oracle9i開場(chǎng),當(dāng)建立實(shí)例效勞時(shí)會(huì)建立名稱為sys的特權(quán)用戶。另外,當(dāng)將初始化參數(shù)REMOTE-LOGIN_PASSWORDFILE設(shè)置為EXCLUSIVE時(shí),還可以將SYSDBA和SYSOPER特權(quán)授予其他用戶。n 需要注意的是,從Oracle9i開場(chǎng),sys用戶或其他欲以特權(quán)身份登錄的用戶登錄必須帶有As SYSDBA或AS SYSOPER子句,而且特權(quán)用戶都對(duì)應(yīng)sys用戶,圖81驗(yàn)證了這一點(diǎn)。 以SYSDBA和SYSOPER登錄都可以執(zhí)行啟動(dòng)和關(guān)閉數(shù)據(jù)庫的操作,但是SYSDBA更高,不僅具有SYSOPER的所有
8、權(quán)限,并且還具有建立數(shù)據(jù)庫以及執(zhí)行不完全恢限。8-1 SYSDBA和SYSOPER權(quán)限類別例如SYSOPERSTARTUPSHUTDOWNAIJER DAIlABASE OPEN l MOUNTALTER DATABASE BACKUP CoNTRoLFILERECOVER DATABASEAIJTER DATABASE ARCHIVELoGRESTRICTED SESSIONSYSDBASYSOPER PRIVILEGES WITH ADMIN OPTIONCREATE DATABASEALTER TABLESPACE BEGIN/END BACKUPRECOVER DATABASE UNT
9、IL8.1.3 修改用戶 1更改口令 使用ALTER USER命令可以修改用戶的信息,但是需要由DBA或者具有ALTER USER系統(tǒng)權(quán)限的用戶來完成。用戶經(jīng)常更改登錄口令是一個(gè)不錯(cuò)的習(xí)慣。每個(gè)用戶都可以使用如下命令修改其自身口令:n SQLALTER USER testuser IDENTIFIED BY ertghj 當(dāng)用戶遺忘了口令無法登錄時(shí),可以由DBA使用上述命令為其重設(shè)一個(gè)新口令。 n2更改某個(gè)表空間的使用配額 用戶在某個(gè)表空間的使用配額可能會(huì)根據(jù)實(shí)際情況有所調(diào)整。 例如,當(dāng)用戶在一個(gè)表上執(zhí)行INSERT、UPDATE操作時(shí)總是出現(xiàn)錯(cuò)誤0RA一01536: space quota
10、exceeded for tablespaceedu,但SELECT和DELETE操作卻沒有問題。此時(shí)可能是由于用戶在該表所在的表空問上已經(jīng)占滿了空間配額所致,DBA需要修改以增大表空間配額,使用命令為:n SQLALTER USER jwcuser QUOTA 15M ON edu;n 有時(shí)候不希望用戶再使用某表空間,可以將其在該表空間上的空間配額改成: n SQLALTER USER jwcuser QUOTA 0 ON users;n 需要注意的是,假如用戶jwcuser在users表空間上擁有表t,那么該對(duì)象仍然保存,只是不會(huì)再為該表分配新的空間。n 3更改用戶的狀態(tài) 不希望某用戶使用
11、數(shù)據(jù)庫數(shù)據(jù)時(shí),可以將此用戶進(jìn)展鎖定:nSQLALTER USER testuser ACCOUNT LOCK; 而解除對(duì)testuser用戶賬戶的鎖定,使用如下命令:nSQLALTER USER testuser ACCOUNT UNLOCK; 刪除用戶之后,Oracle會(huì)從數(shù)據(jù)字典中刪除用戶及該用戶擁有對(duì)象的信息。 例如:n SQLDROP USER testuser; 以上命令會(huì)刪除用戶testuser,但是,假如該用戶擁有數(shù)據(jù)庫對(duì)象,那么刪除時(shí)必須帶有CASCADE選項(xiàng),否那么會(huì)顯示如下錯(cuò)誤信息: ORA一01922:CASCADE must be specified to dropTE
12、STUSER 應(yīng)該使用如下格式刪除命令:n SQLDROP USER testuser CASCADE; 需要注意的是,當(dāng)前正在連接的用戶是不能刪除的。 通過數(shù)據(jù)字典dba_users、dba ts quotas、user_users、user_ts_quotas等可以查詢出用戶相關(guān)信息。n 例如,查詢jwcuser用戶的默認(rèn)表空間、臨時(shí)表空間、賬號(hào)狀態(tài)信息。n SQLSELECT default_tablespace,n temporary_tablespace,n account_statusn FROM dba usersn WHERE username=JWCUSER;n 又如,iwc
13、user用戶想理解自己能使用的表空間、已使用空間及能使用的最大空間情況, 可執(zhí)行如下SQL語句: nSELECT tablespacename 表空間, blocks n已占用塊總數(shù)n, maxblocks-可占用的最大塊數(shù) FROM user一tsquotas;n 表空間 已占用塊總數(shù) 可占用的最大塊數(shù) SYSTEM 224 0 USERS 344 O TT 40 一1n其中,max二blocks表示用戶數(shù)據(jù)對(duì)象可占用的最大塊數(shù),一1表示無限制。n特權(quán)用戶具有啟動(dòng)、關(guān)閉數(shù)據(jù)庫等特權(quán),通過查詢動(dòng)態(tài)性能視圖v$pwfile_users,可以確定有哪些特權(quán)用戶及他們有哪些特權(quán)。82權(quán)限管理n 權(quán)限
14、用于限制用戶可執(zhí)行的操作,即限制用戶在數(shù)據(jù)庫中或?qū)ο笊峡梢宰鍪裁?,不可以做什么。新建立用戶沒有任何權(quán)限,不能執(zhí)行任何操作,只有給用戶授予了特定權(quán)限或角色之后,該用戶才能連接到數(shù)據(jù)庫,進(jìn)而執(zhí)行相應(yīng)的SQL語句或進(jìn)展對(duì)象訪問操作。8.2.1 權(quán)限類型 Oracle中權(quán)限分為系統(tǒng)權(quán)限和對(duì)象權(quán)限兩種類型。n1系統(tǒng)權(quán)限 系統(tǒng)權(quán)限是在數(shù)據(jù)庫中執(zhí)行某種操作,或者針對(duì)某一類的對(duì)象執(zhí)行某種操作的權(quán)利。 系統(tǒng)權(quán)限并不針對(duì)某一個(gè)特定的對(duì)象,而是針對(duì)整個(gè)數(shù)據(jù)庫范圍。比方,在數(shù)據(jù)庫中創(chuàng)立 空間的權(quán)利對(duì)應(yīng)的系統(tǒng)權(quán)限名稱為CREATE TABLESPACE,或者為其他形式創(chuàng)立表 權(quán)利對(duì)應(yīng)的系統(tǒng)權(quán)限名稱為CREATEANY
15、TABLE。表82系統(tǒng)權(quán)限舉例系統(tǒng)權(quán)限含義注意CREATE TABLESPACECREATE USERCREATE TABLECREATE PROCEDURECREATE TRIGGERCREATE ANY TABLESELECT ANY TABLEUPDATE ANY TABLECREATE DATABASE LINK CREATE PUBLIC DATABASE LINK CREATE SYNONYM CREATE PUBLIC SYNONYM連接數(shù)據(jù)庫創(chuàng)立表空間創(chuàng)立用戶創(chuàng)立表創(chuàng)立存儲(chǔ)過程、函數(shù)和包創(chuàng)立觸發(fā)器任何形式下創(chuàng)立表檢索任何形式下表更新任何形式下表數(shù)據(jù)創(chuàng)立數(shù)據(jù)庫鏈接創(chuàng)立公共數(shù)據(jù)庫鏈
16、接創(chuàng)立同義詞創(chuàng)立公共同義詞沒有CREATE INDEX系統(tǒng)權(quán)限:當(dāng)用戶具有CREATETABLE系統(tǒng)權(quán)限時(shí),自動(dòng)在相應(yīng)表上具有CREATE INDEX系統(tǒng)權(quán)限 當(dāng)用戶具有CREATE TABLE、CREATE PROCEDURE等系統(tǒng)權(quán)限時(shí),自動(dòng)具有修改和刪除其形式對(duì)象的權(quán)利2.對(duì)象權(quán)限n對(duì)象權(quán)限是一種對(duì)于特定的表、視圖、序列、過程、函數(shù)或程序包執(zhí)行特定操作的一種權(quán)限或權(quán)利。表83列出了Oracle所提供的對(duì)象權(quán)限。Oracle所提供的對(duì)象權(quán)限對(duì)象權(quán)限 表視 圖 序 列 過 程ALTER DELETE EXECUTE INDEX INSERT REFERENCES SELECT UPDATE
17、n 注意,UPDATE與INSERT權(quán)限可以詳細(xì)限制到某些列上,而SELECT權(quán)限只能限制在整個(gè)表。8.2.2 授予權(quán)限n授予權(quán)限是通過GRANT命令實(shí)現(xiàn)的,但是根據(jù)授予的是系統(tǒng)權(quán)限還是對(duì)象權(quán)限GRANT命令語法是有區(qū)別的。 1授予系統(tǒng)權(quán)限nCREATE SESSl0N是一個(gè)用戶訪問數(shù)據(jù)庫必須至少具有的系統(tǒng)權(quán)限,下面的命令將該系統(tǒng)權(quán)限授予用戶jwcuser:nSQLGRAINT CREATE SESSION TOwcuser;n 又如,將CREATE SESSION與CREATE TABLE兩種系統(tǒng)權(quán)限同時(shí)授予testuser用戶:n SQLGRANT CREATE SESSION,CREAT
18、E TABLE TO testuser;n 再如,將CREATE SESSION系統(tǒng)權(quán)限授予所有用戶:n SQLGRANT CREATE SESSION TO PUBLIC;n這里的PUBLIC實(shí)際上是Oracle自動(dòng)創(chuàng)立的用戶組,每個(gè)數(shù)據(jù)庫用戶都會(huì)自動(dòng)成為PUBLIC組中的成員。利用PUBLIC用戶組可以方便地為數(shù)據(jù)庫中所有的用戶授予某些必需的對(duì)象權(quán)限和系統(tǒng)權(quán)限。默認(rèn)情況下,作為PUBLIC組中的成員,用戶可以查詢所有以USER_和ALL開頭的數(shù)據(jù)字典視圖。n系統(tǒng)權(quán)限受權(quán)工作通常由DBA完成,但是受權(quán)時(shí)可以帶有WITHADMIN OPTION選項(xiàng),使得被授予者可以進(jìn)一步將此權(quán)限授予其他用戶。
19、圖83操作中,首先由DBA用戶將CREATE SESSION與CREATE VIEW系統(tǒng)權(quán)限授予省級(jí)管理員用戶gly_hebei,再由省級(jí)管理員授予2個(gè)地市級(jí)管理員glysjz、gly_bdn 圖83系統(tǒng)權(quán)限的傳遞2授予對(duì)象權(quán)限n一個(gè)對(duì)象的擁有者具有該對(duì)象的所有權(quán)限,他可以將該對(duì)象上的權(quán)限授予數(shù)據(jù)庫的其他用戶。假如他允許被授予者可以再轉(zhuǎn)授此權(quán)限給另外的用戶,受權(quán)時(shí)需要帶有WITH GRANT OPTION選項(xiàng)。n 例如,iwcuser將自己表stud上的查詢權(quán)限授予用戶testuser:n SQLGRANT SELECT ON stud TO testuser;n jwcuser將自己表stu
20、d上的插入數(shù)據(jù)權(quán)限、構(gòu)造更改權(quán)限授予用戶testuser:n SQLGRANT INSERT,ALTER ON stud TO testusel;njwcuser將自己表course上的所有權(quán)限授予用戶userl與user2:n SQLGRANT ALL ON course TO userl,user2;n 將表temp的列coll和列c012上的更新、插入權(quán)限授予用戶userl:n SQLGRANT UPDATEC011,C012,INSERTc011,C0120N temp T0 userl; 再如,將包DBMSOUTPUT上的執(zhí)行權(quán)限授予用戶userl,userl還可以轉(zhuǎn)授此權(quán)限給其他用
21、戶:nSQLCONNAS SYSDBAnSQLGRANT EXECUTE ON DBMS OUTPUT TO user WITH GRANT OPTION; 這里屬于對(duì)象權(quán)限的傳遞,用WITH GRANT OPTION選項(xiàng)表示。8.2.3 回收權(quán)限 回收權(quán)限的命令是REVOKE,執(zhí)行回收權(quán)限操作的用戶同時(shí)必須具有授予一樣權(quán)限的才能與GRANT命令相類似,回收權(quán)限時(shí)也會(huì)根據(jù)是系統(tǒng)權(quán)限還是對(duì)象權(quán)限,語法會(huì)有些不同。1系統(tǒng)權(quán)限 例如,將CREATE TABLE系統(tǒng)權(quán)限從testuser用戶收回:SQLREVOKE CREATE TABLE FROM testusef;又如,將CREATE、,JEw系
22、統(tǒng)權(quán)限從省級(jí)管理員用戶gly_hebei中收回:n SQLREVOKE CREATE VIEW FROM gly_hebei; 在圖83所示的例子中,system用戶授予了gly_hebei用戶CREATE VIEW系統(tǒng)權(quán)限及WITH ADMIN OPTION選項(xiàng),并且gly_hebei用戶又將CREATE VIEW系統(tǒng)權(quán)限授予了glysjz用戶,那么當(dāng)回收了glyhebei用戶的CREATE VIEW系統(tǒng)權(quán)限之后,glysjz用戶的CREATE VIEW系統(tǒng)權(quán)限不會(huì)被回收,即系統(tǒng)權(quán)限不會(huì)級(jí)聯(lián)收回。圖84示意性地給出了受權(quán)與回收過程。 2對(duì)象權(quán)限n收回對(duì)象權(quán)限也是通過REVOKE命令完成的。例
23、如,jwcuser要收回另一用戶testuser對(duì)自己對(duì)象stud表上的構(gòu)造更改權(quán)限,可以使用如下命令:n SQLREVOKE ALTER ON stud FROM testuser;n 但不像收回系統(tǒng)權(quán)限,收回對(duì)象權(quán)限時(shí)會(huì)被級(jí)聯(lián)收回。假設(shè)DBA將表test上的UPDATE權(quán)限授給了gly_hebei,并且?guī)в蠾ITH GRANT OPTION選項(xiàng),而后glyhebei又將此權(quán)限轉(zhuǎn)授給glysjz,如圖85a所示。而當(dāng)DBA將表test上的UPDATE權(quán)限從gly_hebei用戶收回時(shí),同時(shí)也會(huì)收回glysjz用戶在test表上的 UPDATE權(quán)限,如圖8.2.4 查看權(quán)限n1.顯示用戶所具有
24、的系統(tǒng)權(quán)限 nDBA通過查詢數(shù)據(jù)字典dba_sys_privs,可以理解指定用戶所具有的系統(tǒng)權(quán)限以及 WITH ADMIN OPTION選項(xiàng),如下所示: SQLSELECT * FROM dbasys_privs WHERE grantee=TESTUSER;n此例查詢的僅是用戶testuser所具有的系統(tǒng)權(quán)限情況,GRANTEE表示權(quán)限擁有者,VILEGE表示系統(tǒng)權(quán)限名,ADMINOPTION表示轉(zhuǎn)授系統(tǒng)權(quán)限選項(xiàng),其中YES意指可以轉(zhuǎn)授,而NO表示不能轉(zhuǎn)授。 有時(shí)用戶也需要理解自己擁有哪些權(quán)限,此時(shí)查詢usersysprivs數(shù)據(jù)字典即可。2顯示用戶所具有的對(duì)象權(quán)限n通過查詢dba_tabp
25、rivs、user_tab_privs兩個(gè)數(shù)據(jù)字典視圖,可以獲得用戶在哪個(gè)對(duì)象有哪些對(duì)象權(quán)限信息。n例如,DBA需要理解testuser用戶所擁有權(quán)限的詳細(xì)信息,比方在哪些表上有哪些權(quán)限,這些表屬于哪個(gè)用戶,被哪個(gè)用戶授予,這些權(quán)限能否轉(zhuǎn)授等信息,相應(yīng)的命nSQLSELECT tabie_name,privilege f owner r grantor|grantablen FROM dba_tab_privsn WHERE grantee:TESTUSER;n假如想理解更詳細(xì)的信息,例如,哪些列上具有UPDATE權(quán)限或SELECT權(quán)限,那么可使用如圖8-6所示的命令,查詢dba_col_pr
26、ivs獲得。n結(jié)果顯示:testuser用戶所擁有的UPDATE權(quán)限是在stud表的SIlO列和sname列上。似地,數(shù)據(jù)字典usercolprivs供用戶查詢自己在哪個(gè)對(duì)象的哪個(gè)列上有怎樣的對(duì)象權(quán)限。83角色管理 角色就是一組權(quán)限的集合。角色可以被授予用戶或其他的角色,把角色分配給用戶,就是把角色所擁有的權(quán)限分配給了用戶。n 使用角色可以更容易地進(jìn)展權(quán)限管理,主要表達(dá)在如下三個(gè)方面。n 1減少了受權(quán)工作:用戶可以先將權(quán)限授予一個(gè)角色,然后再將角色授予每一個(gè)用戶,而不是將一組一樣的權(quán)限授予多個(gè)用戶。n2動(dòng)態(tài)權(quán)限管理:當(dāng)一組權(quán)限需要改變時(shí),只需要更改角色的權(quán)限,那么所有被授予了此角色的用戶自動(dòng)地
27、立即獲得了修改后的權(quán)限。n 3方便地控制角色的可用性:角色可以臨時(shí)禁用和啟用,從而使權(quán)限變得可用和不可用。n 1創(chuàng)立角色n 角色不屬于任何用戶,也不在任何形式下。但是創(chuàng)立角色的用戶需要有CREATEROIE系統(tǒng)權(quán)限。n 例如,創(chuàng)立角色fdy,命令如下:n SQIjCREATE ROLE fdy:n 角色建立之后,它不具有任何權(quán)限,為了使角色發(fā)揮作用,要給它授予相應(yīng)權(quán)限,權(quán)限可以是系統(tǒng)權(quán)限也可以是對(duì)象權(quán)限。給角色受權(quán)與給用戶受權(quán)的方法完全一樣。下面的n語句給角色fdy授予連接到數(shù)據(jù)庫、建立視圖、查詢表stud的權(quán)限:n SQL一GRANT CREATE SESS工0N,CREATE V工EW T
28、O FDY:n SQL一GRANT SELECT ON stud TO fd3:n 同樣地,也可以將權(quán)限從角色收回,如下語句是將建立視圖的系統(tǒng)權(quán)限從角色:fdy中收回:nsqlREVOKE CREATE VI EW FROM fdy 又如,創(chuàng)立平安性更高的帶有口令驗(yàn)證的角色bzr,命令為:n SQLCREATE ROLE bzr IDENTIFIED BY teachers; 2分配角色 分配角色就是指將角色分配給某用戶。在建立了角色并為其授予了權(quán)限之后,只有將該角色分配給用戶,該角色才能起作用。分配角色與授予系統(tǒng)權(quán)限的命令完全一樣。例如如下:n SQLGRANT fdy TO testuse
29、r;n SQLGRANT fdy TO jwcuser;n 同樣地,回收角色采用REVOKE命令,例如如下:n SQLREVOKE fdy FROM testuser; 3控制角色的可用性n默認(rèn)情況下,用戶登錄時(shí)自動(dòng)啟用分配給該用戶的所有角色。但是,有時(shí)可能需要臨時(shí)關(guān)閉一些權(quán)限,或者希望登錄時(shí)只自動(dòng)啟用一部分角色,要靈敏地控制一個(gè)用戶在一個(gè)時(shí)刻所擁有的權(quán)限,那么可以使用默認(rèn)角色、禁用角色、啟用角色等相關(guān)操作。 1默認(rèn)角色。默認(rèn)角色是用戶登錄時(shí)自動(dòng)啟用的角色的子集。使用ALTER USER命令給用戶指定默認(rèn)角色。 例如,將fdy與bzr兩個(gè)角色作為用戶testuser的默認(rèn)角色: SQLALTE
30、R USER testuser DEFAULT ROLE fdy,bzr; 又如,指定除了fdy角色以外的所有角色都成為testuser用戶的默認(rèn)角色: sQLALTER USER testuser DEFAULT ROLE ALL EXCEPT fdy; 再如,testuser用戶沒有任何默認(rèn)角色: SQLALTER USER testuser DEFAULT ROLE none; 需要注意的是,只有授予給用戶的角色才能被指定為用戶的默認(rèn)角色,即必須先將此角色授予用戶,此角色才能成為用戶的默認(rèn)角色。n2禁用和啟用角色。禁用角色會(huì)使用戶不能使用與該角色相關(guān)的權(quán)限,相反,啟用角色用戶那么會(huì)具有該
31、角色的權(quán)限。SET ROLE命令用于角色的禁用和啟用。n 例如,啟用沒有口令驗(yàn)證的角色fdy:n SQLSET ROLE fdy;n 而要啟用帶口令驗(yàn)證的角色bzr:n SQLSET ROLE bzr IDENTIFIED BY teachers jn 又如,使除了fdy以外的所有不帶口令的角色變得可用:n SQLSET ROLE ALL EXCEPT fdy;n 再如,禁用所有角色:n SQLSET ROLE NONE:4刪除角色使用DROP ROLE命令可以刪除角色。即使一個(gè)角色已經(jīng)被授予一個(gè)用戶或其他角色,Oracle也允許用戶刪除該角色。當(dāng)一個(gè)角色被刪除時(shí),立即從用戶的角色列表中去掉該
32、角色。 例如,刪除fdy角色,可以使用DROPROLE命令:n SQLDROP ROLE fdy;8.3.2使用預(yù)定義的角色n當(dāng)建立數(shù)據(jù)庫時(shí),Oracle自動(dòng)定義了多個(gè)角色。系統(tǒng)預(yù)定義的角色包括如下幾個(gè)。n 1CONNECT、RESOURCE、DBA:提供這些角色的目的是為了向后與Oracle效勞器的早期版本兼容。n 2EXPULLDATABASE、IMP_FULLDATABASE:導(dǎo)出、導(dǎo)入數(shù)據(jù)庫的權(quán)限。n 3DELETECATALOG_ROLE:對(duì)于數(shù)據(jù)字典表的DELETE權(quán)限。n 4EXECUTE_CATALOG_ROLE:對(duì)于數(shù)據(jù)字典程序包的EXECUTE權(quán)限。n 5SELECT-CA
33、TALOG_ROLE:對(duì)于數(shù)據(jù)字典表的SELECT權(quán)限。n許多數(shù)據(jù)字典視圖包含了授予用戶和角色的權(quán)限信息,查詢這些視圖可以理解當(dāng)前數(shù)據(jù)庫中已經(jīng)建立的角色,以及這些角色所擁有的系統(tǒng)權(quán)限和對(duì)象權(quán)限。n 例如,查詢dba roles視圖可以理解當(dāng)前數(shù)據(jù)庫的所有角色,其中password_required列指出了該角色是否需要口令:nSQLSELECT role,passwordrequired FROM dba_roles;n如下命令可以查得用戶jwcuser所具有的角色信息:nSQLSELECT granteLrole FROM dba_role privsn WHERE grantee=。JWC
34、USER。;n又如,查詢fdy角色所擁有的系統(tǒng)權(quán)限、對(duì)象權(quán)限,分別使用如下兩個(gè)命令:nSQLSELECT。 FROM role_sys_privs WHERE role=。FDY ;nSQLSELECT * FROM role_tab_privs WHERE role=FDY:n再如,查詢session_roles視圖以獲得當(dāng)前會(huì)話啟用的角色:nSQLSELECTFROM Session r01es:84 PROFILE管理n PROFILE也稱配置文件或概要文件,是口令限制和資源限制的命名集合。例如,使用PROFILE可以指定口令有效期、進(jìn)展口令復(fù)雜性校驗(yàn)、指定用戶連接時(shí)問以及最大空閑時(shí)間等
35、。數(shù)據(jù)庫每個(gè)用戶都會(huì)對(duì)應(yīng)一個(gè)配置文件,PROFILE具有以下一些作用。n 1限制用戶執(zhí)行某些需要消耗大量資源的SQL操作。n 2確保在用戶會(huì)話空閑一段時(shí)間后,將用戶從數(shù)據(jù)庫注銷。n 3在大而復(fù)雜的多用戶數(shù)據(jù)庫系統(tǒng)中合理分配資源。n 4控制用戶口令的使用。 當(dāng)建立數(shù)據(jù)庫時(shí),系統(tǒng)會(huì)自動(dòng)建立DEFAULT配置文件,該文件的所有口令及資源限制選項(xiàng)初始值均為UNLIMITED,即未進(jìn)展任何口令和資源限制。當(dāng)建立用戶時(shí),假如不指定PROFILE子句,那么Oracle會(huì)將DEFAULT分配給該用戶。根據(jù)用戶所承擔(dān)任務(wù)的不 同,DBA應(yīng)該建立不同的PROFILE,并將PROFILE分配給相應(yīng)的用戶。8.4.2
36、 使用PROFILEn使用PROFILE可以管理口令和進(jìn)展資源限制。n 管理口令有鎖定賬戶、終止口令、口令歷史以及口令校驗(yàn)等四種平安保護(hù)方式,共包含了7個(gè)口令管理選項(xiàng),假如僅指定某個(gè)或某幾個(gè)選項(xiàng),那么其他選項(xiàng)將自動(dòng)使用DEFAULT的相應(yīng)選項(xiàng)值。n 在大而復(fù)雜的多用戶數(shù)據(jù)庫管理環(huán)境中,用戶眾多,不僅需要管理這些用戶的口令,還要對(duì)每個(gè)用戶或會(huì)話使用的CPU、內(nèi)存等系統(tǒng)資源予以限制,以有效地利用系統(tǒng)資源確保系統(tǒng)性能。使用PROFILE進(jìn)展資源限制,既可以限制整個(gè)會(huì)話的資源占用,也可以限制調(diào)用級(jí)SQL語句的資源占用。n需要注意的是,與管理口令不同,假如使用PROFILE管理資源,那么必需要激活資源限
37、制,即需要將初始化參數(shù)RESOURCE-LIMIT設(shè)置為TRUE。n 例如,為了加強(qiáng)用戶jwcuser的口令平安,要求其登錄失敗次數(shù)限制為3次,假如其連續(xù)失敗3次,那么其賬戶自動(dòng)鎖定, 鎖定7天后解除鎖定,而且要求其每10天更改一次口令,一個(gè)口令再次使用必須間隔300天;最多允許5名人員同時(shí)以jwcuser用戶登錄,每個(gè)會(huì)話連接時(shí)問不能超過60min,會(huì)話空閑時(shí)間不能超過5min。n 第一步,需要根據(jù)要求建立一個(gè)PROFILE,命令如下:nSQLCREATE PROFILE profile_jwcuser LIMITn FAILED_LOGIDLATTEMPTS 3n PASSWORD_LOC
38、K_TIME 7n PASSWORD LIFE TIME 1 0n PASSWORD_REUSE_TIME 3 0 0n SESS工0NS PER USER 5n CONNECT TIME 60n IDLE TIME 5;n第二步,因?yàn)橛匈Y源限制選項(xiàng),需要設(shè)置資源限制參數(shù),命令為:n SQLALTER SYSTEM SET RESOURCE-LIMIT=true;n 第三步,將新建立的配置文件profilejwcuser分配給用戶jwcuser。為用戶分配PROFILE。既可以在建立用戶時(shí)使用PROFILE子句,也可以在建立用戶之后使用ALTER USER語句修改:nSQLALTER USER Jwcuser PROFILE profilejwcuser;8.4.3 修改與刪除PROFILE 當(dāng)口令和資源限制無法滿足目前的實(shí)際需求時(shí),就需要修改口令及資源限制。修改口令及資源限制由ALTER PROFILE命令完成,使用該命令要求用戶必須具有ALTER PROFILE系統(tǒng)權(quán)限。修改PROFILE的例如如下: SQLALTER PROFILE profile_jWCUSer LIMIT SESSIONS_PERUSER 3 FAILED_LOGIN
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 202510年勞動(dòng)合同范本
- 2025年濱州道路貨物運(yùn)輸駕駛員考試
- 2025年西安貨運(yùn)從業(yè)資格證考試模擬題
- 2025簡(jiǎn)單借款合同
- 2025年鐵嶺貨運(yùn)資格證題庫下載安裝
- 中國(guó)擺管淋雨試驗(yàn)箱項(xiàng)目投資可行性研究報(bào)告
- 陶瓷地磚內(nèi)墻磚行業(yè)深度研究報(bào)告
- 上?,F(xiàn)代化工職業(yè)學(xué)院《常微分方程引論》2023-2024學(xué)年第一學(xué)期期末試卷
- 上海體育大學(xué)《企業(yè)技術(shù)項(xiàng)目實(shí)訓(xùn)5》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025小學(xué)駕駛員安全責(zé)任管理合同
- 幼兒園大班春季周計(jì)劃表(整學(xué)期)
- 零基礎(chǔ)的住宅和城市設(shè)計(jì)知到章節(jié)答案智慧樹2023年同濟(jì)大學(xué)
- 《走遍法國(guó)》Reflets課文
- 土地增值稅清算管理規(guī)程
- 大學(xué)生心理健康教育-大學(xué)生心理健康導(dǎo)論
- 糖尿病病人的麻醉
- GB/T 29309-2012電工電子產(chǎn)品加速應(yīng)力試驗(yàn)規(guī)程高加速壽命試驗(yàn)導(dǎo)則
- GB 29216-2012食品安全國(guó)家標(biāo)準(zhǔn)食品添加劑丙二醇
- 柔弱的人課文課件
- 動(dòng)物寄生蟲病學(xué)課件
- 電梯曳引系統(tǒng)設(shè)計(jì)-畢業(yè)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論