Oracle ---- DV和统合监察

好多天没有更新了,今天给大家分享一个ORACLE数据库Security的知识点。

1.Database Vault(简称“DV”)

“DV”这个东西是一个不太常用但对于安全性要求高的系统非常重要的功能。
简单来讲它是把传统的数据库权限架构由管理用户SYSDBA和OBJECT所有者的“二者架构”变为数据库管理者,权限管理者和OBJECT所有者的“三者架构”的方式。

2.统合监察(Unified Audit)

统合监察是12c以后,为了管理方便,把很多种监察数据统一管理的方式。

下面给大家介绍一个把 DV 的违反记录 INSERT 到统合监察里的方法。

◆テストケース及び結果

1.TEST_REALM レルムを定義します。

SQL> CONNECT C##S01/Passw0rd@localhost:1521/pdb
接続されました。

BEGIN
DBMS_MACADM.CREATE_REALM(
realm_name => 'TEST_REALM',
description => 'TEST_REALM',
enabled => DBMS_MACUTL.G_YES,
audit_options => DBMS_MACUTL.G_REALM_AUDIT_FAIL
);
END;
/

2.TEST_REALM レルムで保護される スキーマ・オブジェクトを定義します。

BEGIN
DBMS_MACADM.ADD_OBJECT_TO_REALM(
realm_name => 'TEST_REALM',
object_owner => 'TEST',
object_name => '%',
object_type => 'TABLE'
);
END;
/

3.TEST ユーザーを TEST_REALM レルムの所有者としてレルム認可を付与します。

BEGIN
DBMS_MACADM.ADD_AUTH_TO_REALM(
realm_name => 'TEST_REALM',
grantee => 'TEST',
auth_options => DBMS_MACUTL.G_REALM_AUTH_OWNER
);
END;
/

4.統合監査ポリシー TEST_REALM_AUDIT_POLICY を作成します。

CREATE AUDIT POLICY TEST_REALM_AUDIT_POLICY
ACTIONS COMPONENT=DV Realm Violation ON TEST_REALM
container = CURRENT;

5.統合監査ポリシー TEST_REALM_AUDIT_POLICY を有効にします。

audit policy TEST_REALM_AUDIT_POLICY whenever not successful;

6.ユーザ SYS を使って、スキーマ TEST のテーブルを作成します。

SQL> create table test.tab1(col1 number);
create table test.tab1(col1 number)
*
行1でエラーが発生しました。:
ORA-47401: CREATE TABLE(TEST.TAB1に対する)のレルム違反です

7.作成された統合監査レコードを確認します。

SQL> col AUDIT_TYPE for a20
SQL> col ACTION_NAME for a20
SQL> col SQL_TEXT for a50
SQL> col UNIFIED_AUDIT_POLICIES for a20
SQL> col DV_GRANTEE for a10
SQL> col DV_ACTION_OBJECT_NAME for a20
SQL> col DV_RULE_SET_NAME for a20
SQL> col DV_COMMENT for a20
SQL> col DV_FACTOR_CONTEXT for a20
SQL> col EVENT_TIMESTAMP for a30
SQL> set lin 200 pages 99
SQL> @nls
SQL> select AUDIT_TYPE,ACTION_NAME,SQL_TEXT,UNIFIED_AUDIT_POLICIES,
DV_ACTION_CODE,DV_ACTION_NAME,DV_EXTENDED_ACTION_CODE,DV_GRANTEE,
DV_RETURN_CODE,DV_ACTION_OBJECT_NAME,DV_RULE_SET_NAME,DV_COMMENT,
DV_FACTOR_CONTEXT,DV_OBJECT_STATUS,EVENT_TIMESTAMP
from unified_audit_trail
where DV_ACTION_NAME = 'Realm Violation Audit';

AUDIT_TYPE ACTION_NAME SQL_TEXT UNIFIED_AUDIT_POLICI DV_ACTION_CODE DV_ACTION_NAME DV_EXTENDED_ACTION_CODE DV_GRANTEE DV_RETURN_CODE DV_ACTION_OBJECT_NAM DV_RULE_SET_NAME DV_COMMENT DV_FACTOR_CONTEXT D EVENT_TIMESTAMP
-------------------- -------------------- -------------------------------------------------- -------------------- -------------- ------------------------------ ----------------------- ---------- -------------- -------------------- -------------------- -------------------- -------------------- - ------------------------------
Database Vault CREATE TABLE create table test.tab1(col1 number) 10003 Realm Violation Audit 0 47401 TEST_REALM TABLE  21-03-12 15:24:31.975570

相信各位能看得懂简单的日本语,我就不改成中文了。

你可能感兴趣的:(数据库oracle)