本教程将向您介绍 Oracle Database Vault 如何防止具有 DBA 角色的高级用户访问 HR 部门的专用数据。
所需时间
大约 15 分钟
本教程包括下列主题:
创建 SYSTEM 数据库连接
以 SYSTEM 用户身份访问专用数据
将鼠标置于此图标上以加载和查看本教程的所有屏幕截图。(警告:因为此操作会同时加载所有屏幕截图,所以网速较慢时,响应时间可能会比较长。)
注:此外,您还可以在下列步骤中将鼠标放在每个单独的图标上,从而仅加载和查看与该步骤相关的屏幕截图。
Oracle Database Vault 可帮助用户解决现有的极为棘手的安全问题,即防止内部的威胁,满足合规性要求以及实现职责划分。Oracle Database Vault 能防止 DBA 查看应用程序数据,解决了必须保护涉及合作伙伴、员工和顾客的敏感业务信息或隐私数据的客户最为担心的问题。Oracle Database Vault 可防止高权限的应用程序 DBA 访问其他的应用程序、执行其权限之外的任务。Oracle Database Vault 可以轻松快捷地保护现有应用程序,且不影响应用程序的功能。
返回主题列表
开始本教程之前,您应该:
安装 Oracle 数据库 11g 11.1.0.6 版。使用示例模式创建一个数据库(在安装过程中或安装之后)。
下载并解压缩 Oracle SQL Developer。
为您的数据库配置 Oracle Database Vault 选件。默认的 Oracle 数据库安装中并不安装 Oracle Database Vault,但 Oracle Database Vault 是 Oracle 数据库安装介质中可用的产品的一部分。您可以使用 Oracle Universal Installer 将它安装到一个现有数据库中。安装了 Oracle Database Vault 之后,使用 Database Configuration Assistant (dbca) 将 database vault 注册到数据库,然后创建所需的 database vault 帐户(有关更多信息,参阅 Oracle 数据库两日速成 + 安全性指南 11g 第 1 版 (11.1) 在线文档)。
您将希望以 SYSTEM 身份创建数据库连接以查看您是否可以访问某些敏感的员工信息。执行以下步骤:
打开 Oracle SQL Developer。右键单击 Connections,选择 New Connection。
输入下面的信息并单击 Test。
Connection Name:system@database vault Username:system Password:<您的系统口令>Save Password:选中 Hostname:<您的主机名或 ip> Port:<您的数据库端口> SID:<您的数据库 sid>
如果状态为成功,单击 Connect。
连接建立。
在本主题中,您将以 SYSTEM 用户身份登录访问员工信息。执行以下步骤:
在 SQL Worksheet 区域输入以下 SELECT 语句,选择执行语句图标 或按 F9 键。
SELECT last_name, salary FROM hr.employees WHERE employee_id < 110
SYSTEM 用户可以访问专用的员工信息。SYSTEM 用户应该不能够访问该数据。Oracle Database Vault 可以使用下一主题讨论的域轻松解决此问题。
围绕 HR 模式创建一个域
在本主题中,您将围绕 HR 模式创建一个域,禁止所有用户修改 HR 模式。但是,HR 用户不受任何限制。执行以下步骤:
打开浏览器,输入以下 URL:
https://<your_hostname>:1158/dva Enter the following information and click Login.
User Name:<您的 database vault 所有者> Password:<您的 database vault 所有者口令>Host:<您的主机名> Port:<您的数据库端口> SID / Service:<选择 SID 并输入您的数据库 sid>
单击 Realms 链接。
要创建新域,单击 Create。
在 Name 域中输入 HR Application Protection 并提供有意义的描述。确保为 Status 选择 Enabled,为 Audit Options 选择 Audit On Failure。然后单击 OK。
选择新域,并单击 Edit。
在 Realm Secured Objects 下,单击 Create。
从 Object Owners 列表中选择 HR。由于 HR 模式中的所有对象都应受保护,因此请确保为 Object Type 和 Object Name 都选择了 %。然后单击 OK。
注意,HR 模式对象现在出现在 Realm Secured Objects 列表中。单击 OK 完成编辑该域。
您的 HR Application Protection 域已创建。
测试域
由于您围绕 HR 模式中所有对象添加了一个域,因此您可以重新执行先前在 Oracle SQL Developer 中运行的 SQL 语句。此时,您将看到员工信息无法访问,并收到“域违规”消息。执行以下步骤:
切换到 Oracle SQL Developer。单击执行语句图标 或按 F9 键再次执行先前运行的 SQL。
2.
出现域违规。此时当 SYSTEM 尝试访问专用员工信息时,将出现违规。
生成审计报告
创建域之后,审计选项被设为 Audit on Failure。执行下面的步骤验证审计:
切换到 Oracle Database Vault。单击 Database Instance:orcl 链接,您将返回到该数据库的主 Database Vault 页面。
单击 Data Vault Reports 选项卡。
3.
在 Data Vault Reporting 类别下,选择 Realm Audit 并单击 Run Report。
4.
随即显示报表。注意,您创建的域被调用。
总结
在本教程中,您学习了如何限制特权用户访问 HR 模式中的专用数据。