lockdown profile 12c之後的許可權控制新特性

隨風映雪發表於2020-08-28

  LOCKDOWN profile

有時候使用者有這樣的需求,我希望不能做這個使用者不能做drop truncate等操作。

在12c之前,需要通過trigger來實現,但是在12c及之後,可以用過 lockdown profile的特性,來實現許可權的細粒化操作。

不僅僅可以限制pdb中local使用者的操作,甚至是sys等common user也能限制。

且不僅僅是針對表,也可以針對資料庫的某些操作,比如 alter system。

整個流程如下,僅供參考,(測試環境為19c-linux7-rac)

 

 1   建立lockdown profile ,並設定檢視

CREATE LOCKDOWN PROFILE profile_name

[FROM static_base_profile | INCLUDING dynamic_base_profile ];

例子:

SQL> CREATE LOCKDOWN PROFILE test_profile;

Lockdown Profile created


限制alter system操作的profile

SQL> ALTER LOCKDOWN PROFILE test_profile DISABLE STATEMENT=('ALTER SYSTEM');

Lockdown Profile altered.


允許flush shared pool

SQL> ALTER LOCKDOWN PROFILE test_profile ENABLE STATEMENT=('ALTER SYSTEM') CLAUSE=('FLUSH SHARED_POOL');

Lockdown Profile altered.


禁止droptable

SQL> ALTER LOCKDOWN PROFILE test_profile DISABLE STATEMENT=('DROP TABLE');


 檢視

SET LINESIZE 150
COL PROFILE_NAME FORMAT a20
COL RULE FORMAT a20
COL CLAUSE FORMAT a25
SELECT PROFILE_NAME, RULE, CLAUSE, STATUS FROM CDB_LOCKDOWN_PROFILES;


2 啟用和檢視pdb lockdown profile

SQL> show pdbs;

    CON_ID CON_NAME      OPEN MODE  RESTRICTED

---------- ------------------------------ ---------- ----------

 2 PDB$SEED   READ ONLY  NO

 3 pdbtest       READ WRITE  YES

 

SQL> alter session set container=pdbtest;

Session altered.

--為LEIPDB的PDB啟用該lockdown profile

 

SQL> alter system set PDB_LOCKDOWN = test_profile;

System altered.

 

SQL> SHOW PARAMETER PDB_LOCKDOWN

NAME          TYPE    VALUE

--------  -------- ----------

pdb_lockdown       string   test_profile;

 

 3.   檢視和測試

 

SELECT * from DBA_LOCKDOWN_PROFILES

–在當前PDB下執行其他ALTER SYSTEM命令

 

SQL> alter system switch logfile;

alter system switch logfile

*

ERROR at line 1:

ORA-01031: insufficient privileges

 

flush shared pool由於enable了。所以可以執行

SQL> alter system FLUSH SHARED_POOL;
System altered.

能建立表,但是無法drop表


4.     修改和刪除

 如果想要解除的,也很簡單。


Lockdown profile支援動態修改,修改完立即生效。

ALTER LOCKDOWN PROFILE test_profile ENABLE STATEMENT=('ALTER SYSTEM');


刪除lockdown profile

DROP LOCKDOWN PROFILE test_profile;


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31404823/viewspace-2715468/,如需轉載,請註明出處,否則將追究法律責任。

相關文章