Product_user_profile(PUP) TABLE FOR security
描述:
SQL*Plus 會使用到 product_user_profile(PUP) TABLE,此table 屬於system 使用者.
此Table 提供產品級別的安全限制。
作用:
DBA們可以使用 PUP TABLE 對某使用者的在SQL*Plus 環境中的SQL 和SQL*Plus 命令使其失效。
只是能在SQL*Plus 環境中不能使用,並不是Database 的許可權失效。DBA們甚至能限制訪問Grant,
revoke和Set role命令來控制使用者改變自己Database許可權。
何時有效:
當使用者登陸到SQL*Plus 環境,可以讀取pup TABLE 的限制資訊,並能維護這些限制。
這些限制只能在下一次登陸後生效。PUP TABLE 只能在當地的Database 有效。如果你透過Database link
連線遠端的Database,PUP TABLE 不能使用。遠端的Database 不能從database link 抽取使用者名稱和密碼 所以不能判斷User 的Profile 和許可權。
適用使用者:
當 system,sys 或使用者具有sysdba,sysoper 許可權連線到SQL*Plus,SQL*Plus 不會讀PUP table。
因此PUP TABLE 的限制資訊對這些使用者沒有作用。
Role 管理:
使用Create,GRANT,SET SQL命令來建立Role和賦予使用者Role 許可權: 1: 使用Create 命令建立Role,可以有也可以沒有密碼。 2:適用Grant 賦予User 許可權。 3:訪問Role使用Set 命令。
PUB table desc
( 重點欄位一般是必須輸入的,其它欄位推薦為null)
SQL> desc product_user_profile 名稱 是否為空? 型別 --------------------------- ---- ------------------------ PRODUCT NOT NULL VARCHAR2 (30) USERID VARCHAR2(30) ATTRIBUTE VARCHAR2(240) SCOPE VARCHAR2(240) NUMERIC_VALUE NUMBER(15,2) CHAR_VALUE VARCHAR2(240) DATE_VALUE DATE LONG_VALUE LONG
Userid (所有的Userid 必須為大寫,也可以使用萬用字元)
SCOTT CLASS1 CLASS% (all users whose names start with CLASS) % (all users)
可以限制的Commands 如下:
SQL*Plus Commands That Can Be Disabled ACCEPTDEFINEPASSWORDSHUTDOWN APPENDDELPAUSESPOOL ARCHIVE LOGDESCRIBEPRINTSTART(@, @@) ATTRIBUTEDISCONNECTPROMPTSTARTUP BREAKEDITRECOVERSTORE BTITLEEXECUTEREMARKTIMING CHANGEEXIT/QUITREPFOOTERTTITLE CLEARGETREPHEADERUNDEFINE COLUMNHELP (?)RUNVARIABLE COMPUTEHOSTSAVEWHENEVER OSERROR CONNECTINPUTSETWHENEVER SQLERROR COPYLIST (;)SHOW SQL Commands That Can Be Disabled ALTERDELETEMERGESET CONSTRAINTS ANALYZEDISASSOCIATENOAUDITSET ROLE ASSOCIATEDROPPURGESET TRANSACTION AUDITEXPLAINRENAMETRUNCATE CALLFLASHBACKREVOKEUPDATE COMMENTGRANTROLLBACKVALIDATE COMMITINSERTSAVEPOINTna CREATELOCKSELECTna 例子演示:
1: 限制使用者BQY 不能執行 SQL *Plus command 'Host',SQL Command 'Delete'.
SQL> desc product_user_profile; 名稱 是否為空? 型別 ----------------------------------------- -------- ---------------------------- PRODUCT NOT NULL VARCHAR2(30) USERID VARCHAR2(30) ATTRIBUTE VARCHAR2(240) SCOPE VARCHAR2(240) NUMERIC_VALUE NUMBER(15,2) CHAR_VALUE VARCHAR2(240) DATE_VALUE DATE LONG_VALUE LONG SQL> INSERT INTO product_user_profile 2 (product,userid,attribute,char_value) 3 VALUES 4 ('SQL*Plus','BQY','DELETE','DISABLED') 5 / 已建立 1 行。 SQL> INSERT INTO product_user_profile 2 (product,userid,attribute,char_value) 3 VALUES 4 ('SQL*Plus','BQY','HOST','DISABLED') 5 / 已建立 1 行。 SQL> commit; 提交完成.
|
User BQY Login in SQL*Plus
D:oracleora9ibin>sqlplus SQL*Plus: Release 9.2.0.1.0 - Production on 星期四 6月 1 15:51:37 2006 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. 連線到: Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production With the Partitioning, OLAP and Oracle Data Mining options JServer Release 9.2.0.1.0 - Production
SQL> host SP2-0544: 無效的命令: hostSQL> insert into demo(name,age) values('lis',99); 已建立 1 行。 SQL> commit; 提交完成。 SQL> delete from demo; SP2-0544: 無效的命令: delete
|
2:Role 管理
User Bqy login in
D:oracleora9ibin>sqlplus bqy/oracle SQL*Plus: Release 9.2.0.1.0 - Production on 星期四 6月 1 16:19:24 2006 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. 連線到: Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production With the Partitioning, OLAP and Oracle Data Mining options JServer Release 9.2.0.1.0 - Production
SQL> set role dba SP2-0544: 無效的命令: set role SQL>
|
資料庫的安全是最重要的,怎麼做都不過分。
LisLi
[@more@]
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/34596/viewspace-839167/,如需轉載,請註明出處,否則將追究法律責任。