You are on page 1of 13

北京时代朝阳数据库技术中心 Trail 实验室 www.zhaoyang-db.

com

时代朝阳会员专区:Oracle 安全
Oracle Vault(Red Hat Linux 平台)
Oracle database vault 10.2.0.4 安全应用
程序角色

达成的目标/方案
1 通过配置安全应用程序角色保护用户数据
2 版本 1.0.0

软硬件系统配置
配置说明:

硬件环境 1G 内存
操作系统 Red Hat Linux 4 2.6.9-42.ELsmp
数据库版本 Oracle10g Release 10.2.0.4.0
主机名 Linuxserv7
ip 地址 192.168.3.87

配置图:

时代朝阳会员专区 第 1 页
www.zhaoyang-db.com/huiyuan
北京时代朝阳数据库技术中心 Trail 实验室 www.zhaoyang-db.com

详细操作过程描述

准备实验帐户

1 以帐户管理员 dbvactmgr 登录 sqlplus:

[oracle@linuxserv7 ~]$ sqlplus dbvactmgr/dbvactmgr_1@sdzy


2 创建用户 sdzy2 和 sdzy3:

SQL> create user sdzy2 identified by oracle;

User created.

SQL> create user sdzy3 identified by oracle;

User created.

SQL>
3 以 sys 用户登录,为 sdzy2 和 sdzy3 授权:

SQL> conn / as sysdba


Connected.
SQL> grant create session to sdzy2,sdzy3;

Grant succeeded.

SQL>
4 以帐户管理员角色登录为用户 oe 解锁:

SQL> conn dbvactmgr/dbvactmgr_1@sdzy


Connected.
SQL> alter user oe identified by oracle account unlock;

User altered.

SQL>

创建规则集

1 登录到 dbv 管理页面点击规则集:

时代朝阳会员专区 第 2 页
www.zhaoyang-db.com/huiyuan
北京时代朝阳数据库技术中心 Trail 实验室 www.zhaoyang-db.com

2 点击创建:

时代朝阳会员专区 第 3 页
www.zhaoyang-db.com/huiyuan
北京时代朝阳数据库技术中心 Trail 实验室 www.zhaoyang-db.com

3 名称—Can Modify Orders,其他默认,点击确定:

4 选择规则集 can modify orders 点击编辑:

时代朝阳会员专区 第 4 页
www.zhaoyang-db.com/huiyuan
北京时代朝阳数据库技术中心 Trail 实验室 www.zhaoyang-db.com

5 在要与规则集关联的规则处点击创建:

6 规则名—Check IP Address,规则表达式—DVF.F$CLIENT_IP = '192.168.3.87',点击确定:

时代朝阳会员专区 第 5 页
www.zhaoyang-db.com/huiyuan
北京时代朝阳数据库技术中心 Trail 实验室 www.zhaoyang-db.com

7 再次创建一个规则,名称—Check Session User,表达式—DVF.F$SESSION_USER IN


('SDZY', 'SDZY3'):

8 点击确定:

创建安全应用程序角色

1 回到 dbv 管理页面点击安全应用程序角色:

时代朝阳会员专区 第 6 页
www.zhaoyang-db.com/huiyuan
北京时代朝阳数据库技术中心 Trail 实验室 www.zhaoyang-db.com

2 点击创建:

3 角色—ORDERS_MGMT,规则集选择 can modify orders,点击确定:

时代朝阳会员专区 第 7 页
www.zhaoyang-db.com/huiyuan
北京时代朝阳数据库技术中心 Trail 实验室 www.zhaoyang-db.com

4 以 oe 用户登录 sqlplus 对角色 orders_mgmt 授予查询表 orders 的权限:

SQL> connect oe/oracle


Connected.
SQL> grant select on orders to orders_mgmt;

验证

1 在 ip 地址为 192.168.3.87 的客户端以 sdzy2 用户登录到 sqlplus:

时代朝阳会员专区 第 8 页
www.zhaoyang-db.com/huiyuan
北京时代朝阳数据库技术中心 Trail 实验室 www.zhaoyang-db.com

2 获得角色 orders_mgmt:

SQL> exec dvsys.dbms_macsec_roles.set_role('orders_mgmt');

3 查看表 oe.orders:

SQL> select count(*) from oe.orders;

4 以不带连接符的方式登录 sdzy2 用户:

时代朝阳会员专区 第 9 页
www.zhaoyang-db.com/huiyuan
北京时代朝阳数据库技术中心 Trail 实验室 www.zhaoyang-db.com

5 尝试获得角色 orders_mgmt:

SQL> exec dvsys.dbms_macsec_roles.set_role('orders_mgmt');

6 查看表 oe.orders:

SQL> select count(*) from oe.orders;

时代朝阳会员专区 第 10 页
www.zhaoyang-db.com/huiyuan
北京时代朝阳数据库技术中心 Trail 实验室 www.zhaoyang-db.com

7 在 ip 地址为 192.168.3.94 的客户端登录 sdzy3 用户:

8 获得角色 orders_mgmt:

SQL> exec dvsys.dbms_macsec_roles.set_role('orders_mgmt');

时代朝阳会员专区 第 11 页
www.zhaoyang-db.com/huiyuan
北京时代朝阳数据库技术中心 Trail 实验室 www.zhaoyang-db.com

9 查看表 oe.orders:

SQL> select count(*) from oe.orders;

体会与总结
1 规则集表达式—DVF.F$SESSION_USER IN ('SDZY', 'SDZY3')用户名必须大写
2 本例使用了 2 个 dbv 内建因素 Client_IP 和 Session_User

时代朝阳会员专区 第 12 页
www.zhaoyang-db.com/huiyuan

You might also like