2026年1月29日 星期四

10. PDB Lockdown Profile

PDB lockdown profile 主要是用來限制 PDB 的某些操作,當一個使用者在多個 PDB 共用時

(例如 common user) ,使用者的權限就有被放大的風險,透過設定 PDB lockdown profile 可

以用來避免 common user 利用特定 PDB 所允許的功能進而對其它 PDB 造成影響。


PDB lockdown profile 可以限制三個層級 :

  • Statement : 限制命令的操作,例如於 CDB 層級建立 PDB lockdown profile 限制 alter system 操作 :

SQL> create lockdown profile lkp1;

SQL> alter lockdown profile lkp1 disable statement=('alter system');


於 PDB 設定參數 pdb_lockdown 套用 lockdown profile :

SQL> alter session set container=pdb1;

SQL> alter system set pdb_lockdown=lkp1;


套用之後此 PDB 就不能使用 alter system 命令 :

A black screen with white text

AI-generated content may be incorrect.

更進一步的設定可以只限制某個 alter system 操作,例如只限制 set 操作 :

SQL> alter lockdown profile lkp1 enable statement=('alter system');

SQL> alter lockdown profile lkp1 disable statement=('alter system') clause=('set');


這樣子設定可以執行 alter system 但 set 操作則是不允許 :

A black screen with white text

AI-generated content may be incorrect.

  • Feature : 限制 PDB 使用某些功能如 NETWORK_ACCESS (UTL_HTTP 、 UTL_TCP …等) 、 

    COMMON_SCHEMA_ACCESS (存取 common schema 共用物件) 、 OS_ACCESS (UTL_FILE …等) 、 

    JAVA與 JAVA_RUNTIME ,例如限制 PDB 不能使用 UTL_HTTP :

SQL> create lockdown profile lkp2;

SQL> alter lockdown profile lkp2 disable feature=('UTL_HTTP');


套用之後 PDB 使用 UTL_HTTP 就會出現 ORA-01031: insufficient privileges :

SQL> alter session set container=pdb1;

SQL> alter system set pdb_lockdown=lkp2;

A screen shot of a computer

AI-generated content may be incorrect.

  • Option : 限制 PDB 不能使用某些資料庫功能如 Partitioning 、 Advanced Queuing 、 

    Data Guard …等,例如限制 PDB 不能使用 Partition :

SQL> create lockdown profile lkp3;

SQL> alter lockdown profile lkp3 disable option=('PARTITIONING');

 

 套用之後於 PDB 建立 partition table 就會出現 ORA-00439: feature not enabled :

SQL> alter session set container=pdb1;

SQL> alter system set pdb_lockdown=lkp3;

A screen shot of a computer code

AI-generated content may be incorrect.

透過 dba_lockdown_profiles 可以查詢目前所有 lockdown profile 的設定 :

SQL> select PROFILE_NAME,RULE_TYPE,RULE,status from dba_lockdown_profiles;

A screen shot of a computer

AI-generated content may be incorrect.


PDB Lockdown Profile 提供了一種以 PDB 為邊界的安全控管機制,可有效限制系統操作、

功能與授權選項的使用範圍。

沒有留言:

張貼留言