اوراکل 21c – اعمال فوری تغییرات در Unified Audit Policy

تا قبل از اوراکل نسخه 21c، هرگونه تغییر در یک Unified Audit Policy، برای sessionهای متصل به دیتابیس اعمال نمی شد و برای اثرپذیری فوری تغییرات audit policy، باید کاربران متصل به دیتابیس را مجبور به log out کرد تا بعد از اتصال مجدد به دیتابیس، مطابق با قوانین جدید audit شوند. این محدودیت را در سناریوی زیر توضیح دادیم.

Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 – Production

–session 1:

SQL> create user vahid identified by a;

User created.

SQL> grant create session to vahid;

Grant succeeded.

SQL> grant select on usef.tbl1 to vahid;

Grant succeeded.

SQL> create audit policy audpolselect actions select on usef.tbl1;

Audit policy created.

–session 2:

SQL> conn vahid/a@192.168.56.22:1521/pdb1

Connected.

–session 1:

SQL> audit policy audpolselect by vahid;

Audit succeeded

–session 2:

SQL> show user

USER is “VAHID”

SQL> select count(*) from usef.tbl1;

  COUNT(*)

———-

         3

فعال شدن audit policy قبل از اجرای دستور select، منجر به audit کاربر vahid نخواهد شد:

SQL> select dbusername,action_name,unified_audit_policies from unified_audit_trail where unified_audit_policies like ‘%AUDPOLSELECT%’;

no rows selected

البته اگر کاربر vahid مجددا لاگین کند، از طریق این audit policy، آدیت خواهد شد:

SQL> conn vahid/a@192.168.56.22:1521/pdb1

Connected.

SQL> select count(*) from usef.tbl1;

  COUNT(*)

———-

         3

–session 1:

SQL> show user

USER is “SYS”

SQL> select dbusername,action_name,unified_audit_policies from unified_audit_trail where unified_audit_policies like ‘%AUDPOLSELECT%’;

DBUSERNAME ACTION_NAME     UNIFIED_AUDIT_POLICIES

———- ————— ————————-

VAHID      SELECT          AUDPOLSELECT

 

رفتار اوراکل 21c در این زمینه متفاوت است و تغییرات در audit policy، بلافاصله برای همه، حتی برای sessionهای متصل به دیتابیس هم اعمال خواهد شد:

SQL*Plus: Release 21.0.0.0.0 – Production on Thu Aug 26 23:41:35 2021

–session 1:

SQL> create user vahid identified by a;

User created.

SQL> grant create session to vahid;

Grant succeeded.

SQL> grant select on usef.tbl1 to vahid;

Grant succeeded.

SQL> create audit policy audpolselect actions select on usef.tbl1;

Done

–session 2:

SQL> conn vahid/a@192.168.56.20:1521/pdb1

Connected.

–session 1:

SQL> audit policy audpolselect by vahid;

Audit succeeded

–session 2:

SQL> show user

USER is “VAHID

SQL> select count(*) from usef.tbl1;

  COUNT(*)

———-

         4

با توجه به ویژگی جدید اوراکل 21c، انتظار داریم که رویت اطلاعات جدول tbl1 توسط کاربر وحید audit شود:

SQL> select dbusername,action_name,unified_audit_policies from unified_audit_trail where unified_audit_policies like ‘%AUDPOLSELECT%’;

DBUSERNAME ACTION_NAME     UNIFIED_AUDIT_POLICIES

———- ————— ————————-

VAHID      SELECT          AUDPOLSELECT

 

ارتباط با نویسنده مطلب:vahidusefzadeh@ کانال تخصصی اوراکل و لینوکس: OracleDB@

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.