分类: Oracle
2010-05-20 11:19:06
本教程将向您介绍 Oracle Database Vault 如何防止具有 DBA 角色的高级用户访问 HR 部门的专用数据。
大约 15 分钟
本教程包括下列主题:
将鼠标置于此图标上以加载和查看本教程的所有屏幕截图。 (警告:因为此操作会同时加载所有屏幕截图,所以网速较慢时,响应时间可能会比较长。)
注意:此外,您还可以在下列步骤中将鼠标放在每个单独的图标上,从而仅加载和查看与该步骤相关的屏幕截图。
Oracle Database Vault 可帮助用户解决现有的极为棘手的安全问题,即防止内部的威胁,满足合规性要求以及实现职责划分。Oracle Database Vault 能防止 DBA 查看应用程序数据,解决了必须保护涉及合作伙伴、员工和顾客的敏感业务信息或隐私数据的客户最为担心的问题。Oracle Database Vault 可防止高权限的应用程序 DBA 访问其他的应用程序、执行其权限之外的任务。Oracle Database Vault 可以轻松快捷地保护现有应用程序,且不影响应用程序的功能。
开始本教程之前,您应该:
1. |
安装 Oracle 数据库 10g 版本 10.2.0.2。 |
2. |
下载并解压缩 Oracle SQL Developer。 |
3. |
安装 Oracle Database Vault Option(即将推出) |
您将希望以 SYSTEM 身份创建数据库连接以查看您是否可以访问某些敏感的员工信息。执行以下步骤:
1. |
打开 Oracle SQL Developer。右键单击 Connections 并选择 New Database Connection。 |
2. |
输入下面的信息并单击 Test。 Connection Name:system@database vault |
3. |
如果状态为成功,单击 Connect。 |
4. |
连接建立。 |
在本主题中,您将以 SYSTEM 用户身份登录访问员工信息。执行以下步骤:
1. |
在 SQL Worksheet 区域输入以下 SELECT 语句,选择执行语句图标 或按 F9 键。 SELECT last_name name, ssn FROM hr.employees WHERE employee_id < 110; |
2. |
SYSTEM 用户可以访问专用的员工信息。SYSTEM 用户应该不能够访问该数据。Oracle Database Vault 可以使用下一主题讨论的域轻松解决此问题。 |
在本主题中,您将围绕 HR 模式创建一个域,禁止所有用户修改 HR 模式。但是,HR 用户不受任何限制。执行以下步骤:
1. |
打开浏览器,输入以下 URL: 为 User Name 输入 dvowner,为 Password 输入 <您的密码>。然后,单击 Login。 |
2. |
单击 Realms 链接。 |
3. |
要创建新域,单击 Create。 |
4. |
输入名称,确保为 Status 选择 Enabled,为 Audit Options 选择 Audit On Failure。然后单击 OK。 |
5. |
选择新域,并单击 Edit。 |
6. |
在 Realm Secured Objects 下,单击 Create。 |
7. |
从 Object Owners 列表,选择 HR。由于 HR 模式中的所有对象都应受保护,因此请确保为 Object Type 和 Object Name 都选择了 %。然后单击 OK。 |
8. |
单击 OK 创建该域。 |
9. |
此时您的域就创建好了。 |
由于您围绕 HR 模式中所有对象添加了一个域,因此您可以重新执行先前在 Oracle SQL Developer 中运行的 SQL 语句。此时,您将看到员工信息无法访问,并收到“域违规”消息。执行以下步骤:
1. |
切换到 Oracle SQL Developer。单击执行语句图标 或按 F9 键再次执行先前运行的 SQL。 |
2. |
出现域违规。此时当 SYSTEM 尝试访问专用员工信息时,将出现违规。 |
创建域之后,审计选项被设为 Audit on Failure。执行下面的步骤验证审计:
1. |
切换到 Oracle Database Vault。单击 Data Vault Reports 选项卡。 |
2. |
在 Data Vault Reporting 类别下,选择 Realm Audit 并单击 Run Report。 |
3. |
随即显示报表。注意,您创建的域被调用。 |
在本教程中,您学习了如何限制特权用户访问 HR 模式中的专用数据。