去年12月,Oracle推出了Oracle Data Safe云服务,并支持ADW及Oracle Database Cloud Service。Oracle Data Safe的推出,大大简化了DBA的数据库安全方面的工作,可以轻松地对数据库进行风险评估,找出当前数据库存在的风险,并能够按照国际标准对数据库中的数据进行敏感性检查,在报告中可以提供该数据库是否满足特定的安全要求,这一点对云端数据库特别有用,比如有些规定要求不能将客户的隐私数据运行在公网上,通过Oracle Data Safe可以轻松地识别这些数据,并且可以通过Data Safe内建的功能丰富的数据遮蔽工具,将这些数据进行脱敏。这么好用的数据安全工具如果只能针对ADW或者Oracle Database Cloud Service使用,真的有些可惜,如果能使用在本地数据库,或者用户在Oracle Cloud infrastructure(OCI)计算服务上创建的数据库就好了。Oracle经过对Data Safe的升级,目前已经支持对于本地运行的Oracle数据库以及OCI compute上运行的Oracle Database进行管理。

今天我们就为大家介绍如何使用Data Safe对本地的数据库进行管理。

我们今天使用的环境如下:

  • Oracle Data Safe

  • 本地数据库:Oracle Database 19c(19.3) on Linux X86

Oracle Data Safe开始支持本地数据库_Java

1、为了能让Data Safe能够访问运行在您本地的数据库,首先我们要确认VCN能够与您本地的网络进行通讯。首先,我们登录Oracle Cloud并来到下图所示的网络配置。

Oracle Data Safe开始支持本地数据库_Java_02

找到我们已经创建好的VCN,如下图所示,我们找到一个叫做wx的VCN,接下来我们点击下图中红色的链接查看这个VCN的配置情况。

Oracle Data Safe开始支持本地数据库_Java_03

我们看到这个VCN有两个subnet,我们今天要配置的是private subnet,如下图所示,我们点击下图中红色框所示的链接,对private subnet进行配置。

Oracle Data Safe开始支持本地数据库_Java_04


我们要对这个subnet的安全列表进行配置,点击下图中红色框所示的链接进行配置。确保ingress和Egress中开放了TCP端口,如果您要监控的本地数据库端口为1521,那么只开放1521端口即可,在下面的例子当中,将所有端口都开放了,在生产环境中,请不要这样做。

Oracle Data Safe开始支持本地数据库_Java_05


Oracle Data Safe开始支持本地数据库_Java_06

Oracle Data Safe开始支持本地数据库_Java_07


接下来回到VCN的页面,我们要创建一个网络安全组。在今天的例子当中,给这个安全组起一个名字叫做nsg。

Oracle Data Safe开始支持本地数据库_Java_08

通过点击“Add rule”按钮,为这个安全组添加两条安全规则,如下图所示。确保您的本地网络可以通过TCP协议与Oracle Cloud进行通讯,在今天的例子当中,我们开放了所有的端口,您可以根据自己的需要只开放1521端口。

Oracle Data Safe开始支持本地数据库_Java_09

Oracle Data Safe开始支持本地数据库_Java

2、为了让Oracle Data Safe能够访问您本地的数据库,我们需要在Data Safe当中创建一个private endpoints。首先通过左上角的主菜单,来到Data Safe,您可以在下图中,红色框所示的位置,找到创建private endpoints的链接。

Oracle Data Safe开始支持本地数据库_Java_11

Oracle Data Safe开始支持本地数据库_Java_12

在创建private endpoints的时候,选择上一步已经检查过的VCN,比如我们今天使用的VCN叫做wx,然后选择subnet,我们在上一步对private subnet做了设定,这里我们选择之前配置过的private subnet,然后选择network security group,我们在之前创建的network security group的名字叫做nsg,最后点击创建按钮即可。

Oracle Data Safe开始支持本地数据库_Java_13

Oracle Data Safe开始支持本地数据库_Java

3、将本地数据库注册到Oracle Data Safe当中


Oracle Data Safe开始支持本地数据库_Java_15

Oracle Data Safe开始支持本地数据库_Java_16Oracle Data Safe开始支持本地数据库_Java_17


通过观察,大家发现在Target Type当中多了Oracle On-Premises Database和Oracle Database on Compute选项,目前选择这两个项目,下方的连接信息是一样的。今天我们要连接运行在我本地的数据库,所以选择Oracle On-Premises Database

Oracle Data Safe开始支持本地数据库_Java_18

为了能让Oracle Data Safe操作本地数据库,大家在上面的图中,看到Download Privilege Script链接,大家将将这个脚本下载下来,在本地数据库中,使用管理员身份执行,比如今天我们创建了一个普通用户叫做henry,然后在执行脚本的时候,按照提示对这个用户进行授权。

Oracle Data Safe开始支持本地数据库_Java_19

需要注意的是,当被问到用户名的时候,该用户名是来自DBA_USERS的,请将用户名用大写表示,否则会遇到“用户不存在”的报错讯息。

Oracle Data Safe开始支持本地数据库_Java_20

按照要求填写表格即可,请再次注意:用户名要大写。

Oracle Data Safe开始支持本地数据库_Java_21

注册成功之后,您将看到如下界面。

Oracle Data Safe开始支持本地数据库_Java_22

接下来您就可以按照我们在今年2月份发布的文章Oracle Database 20c与DATA SAFE中的介绍,对您的数据库进行安全评估等操作了。


Oracle Data Safe开始支持本地数据库_Java_23Oracle Data Safe开始支持本地数据库_Java_24