Oracle 学习资料库
本教程旨在 演示如何使用细粒度审计检测对表中“honey token”的访问。
大约 30 分钟
本教程包括下列主题:
| |
概述 | |
| |
||
| |
创建并应用 VPD 策略 | |
| |
测试策略实施 | |
| |
检查审计违规 | |
| |
清理 | |
| |
总结 | |
将光标置于此图标上以加载和查看本教程的所有屏幕截图。(警告:此操作会同时加载所有屏幕截图,网速较慢时,响应时间可能会比较长。)
注意:此外,还可以在下列步骤中将光标放在每个单独的图标上,从而仅加载和查看与该步骤相关的屏幕截图。
细粒度审计使用的策略可以基于内容监视数据访问。 可以使用策略指定审计要记录的列和条件。 条件可以包括将审计限制为与指定列结合使用的特定类型的 DML 语句。 还可以提供在发生审计事件时要调用的例程名。 该例程可以通知或警告管理员或处理错误和异常。
本教程演示了如何使用细粒度审计检测对表中“honey token”的访问。 本教程创建了一个根据信用卡供应商来限制对行的访问的 VPD 策略。 honey token 是一个始终不可选中的信用卡号码。 它无法通过常规的验证,并且信用卡号码无法与任何供应商关联,因此无权对该行进行访问。
VPD 策略不针对该表的所有者 OE。 OE 有完全访问权限,因此当 OE(或获得了此身份的黑客)执行以下命令时
select * from oe.cust_payment_info
honey token 将被选中,并且 FGA 策略将记录该事件。 此外,您还可以调用事件处理程序(未包含在本教程中)向 audit_admin 发送一封有关此特殊行的访问权限的电子邮件。
本教程在以下将职责划分至以下角色:
| HR_sec | 创建数据库用户(使用 hr.employees 表的员工列表)和数据库角色。 | |
| sec_admin |
根据公司的访问控制和审计策略创建并应用 VPD 和 FGA 策略。 |
|
| audit_admin | 在数据库中查询审计记录 (dba_fga_audit_trail)。 | |
在本教程中,您将创建一组用户和角色来演示 FGA 如何工作。要创建用户和角色,请执行以下步骤:
| 1. |
您将创建一个客户付款信息表并使用信用卡号码填充该表。 由于信用卡号码不可能与“Honey Token”关联,因此授权用户将无法选择该行。 只有不受访问策略约束的管理用户或成为“内部”管理员的入侵者才能选择它。 这可以对该表进行高度集中的审计。打开一个终端窗口,执行以下命令:
cd /home/oracle/wkdir
sqlplus /nolog
@01_fga_poptabl
conn oe/oe
|
|
|
2 . |
SYSTEM 将创建 3 个管理用户: HR_sec、sec_admin 和 audit_admin。 HR_sec 创建角色“emp_role”,然后将系统权限和对象权限授予 emp_role。 在终端窗口中运行以下脚本:
@02_fga_cradminusers
connect system/oracle;
|
|
|
3 . |
HR_sec 创建数据库用户并将 emp_role 授予他们。 在终端窗口中运行以下脚本:
@03_fga_crdbusers
connect HR_sec/welcome1;
|
|
在本部分中,您将使用 VPD 策略定义并限制行的访问权限。 您将检查登录到数据库的用户是否是员工,然后根据信用卡号码来限制对 cust_payment_info 表的访问。
Card_A 从“34”或“37”开始:
Card_V 从“4”开始
Card_M 从“5”开始
执行以下操作:
| 1. |
您首先需要创建一个策略函数来创建 where 子句。执行以下脚本:
@04_fga_crpolicy_function
conn sec_admin/welcome1;
|
|
| 2. |
您现在将把该策略添加到“oe.cust_payment_info”表。在 SQL*Plus 会话中,执行以下脚本:
@05_fga_applypolicy
begin
|
|
| 3. |
sec_admin 用户将把 FGA 策略添加到捕获“Albert Einstein”的访问权限的机密表。从 SQL*Plus 中,执行以下脚本:
@05_fga_applypolicy_waudit
begin
|
|
建立表策略后,现在可以通过执行以下步骤对其进行测试:
| 1. |
执行以下脚本,测试 JKING 用户的访问权限。
@06_fga_test_policy_king
conn JKING/welcome1;
|
|
| 2. |
现在,可以通过执行以下脚本针对 LDORAN 用户测试该策略:
@06_fga_test_policy_doran
conn LDORAN/welcome1;
|
|
| 3. |
现在,可以通过执行以下脚本测试 LSMITH 访问权限:
@06_fga_test_policy_smith
conn LSMITH/welcome1;
|
|
| 4. |
现在,可以通过执行以下脚本测试 SYS 访问权限:
@06_fga_test_policy_sys
conn / as sysdba;
|
|
| 5. |
最后,可以通过执行以下脚本测试 OE 用户访问权限:
@06_fga_test_policy_oe
conn OE/oe;
|
|
Audit_Admin 用户可以通过执行以下步骤检查任何访问违规:
| 1. |
执行以下脚本,检查 CUST_PAYMENT_INFO 表的 dba_fga_audit_trail。
@07_fga_chk_audit_violations
conn audit_admin/welcome1;
|
|
现在,您已经测试了策略,接下来您可以通过执行以下步骤删除用户和策略:
| 1. |
执行以下脚本:
@08_fga_cleanup
conn sec_admin/welcome1;
|
|
在本教程中,您学习了如何执行下列任务:
| 创建并应用 VPD 策略 | |
|
测试策略 |
|
| 检查审计违规 |
将光标置于该图标上可以隐藏所有屏幕截图。
热门下载 | ||
更多融合中间件下载 | ||