去年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
1、为了能让Data Safe能够访问运行在您本地的数据库,首先我们要确认VCN能够与您本地的网络进行通讯。首先,我们登录Oracle Cloud并来到下图所示的网络配置。
找到我们已经创建好的VCN,如下图所示,我们找到一个叫做wx的VCN,接下来我们点击下图中红色的链接查看这个VCN的配置情况。
我们看到这个VCN有两个subnet,我们今天要配置的是private subnet,如下图所示,我们点击下图中红色框所示的链接,对private subnet进行配置。
我们要对这个subnet的安全列表进行配置,点击下图中红色框所示的链接进行配置。确保ingress和Egress中开放了TCP端口,如果您要监控的本地数据库端口为1521,那么只开放1521端口即可,在下面的例子当中,将所有端口都开放了,在生产环境中,请不要这样做。
接下来回到VCN的页面,我们要创建一个网络安全组。在今天的例子当中,给这个安全组起一个名字叫做nsg。
通过点击“Add rule”按钮,为这个安全组添加两条安全规则,如下图所示。确保您的本地网络可以通过TCP协议与Oracle Cloud进行通讯,在今天的例子当中,我们开放了所有的端口,您可以根据自己的需要只开放1521端口。
2、为了让Oracle
Data Safe能够访问您本地的数据库,我们需要在Data Safe当中创建一个private
endpoints。首先通过左上角的主菜单,来到Data Safe,您可以在下图中,红色框所示的位置,找到创建private
endpoints的链接。
在创建private
endpoints的时候,选择上一步已经检查过的VCN,比如我们今天使用的VCN叫做wx,然后选择subnet,我们在上一步对private
subnet做了设定,这里我们选择之前配置过的private subnet,然后选择network security
group,我们在之前创建的network security group的名字叫做nsg,最后点击创建按钮即可。
3、将本地数据库注册到Oracle Data Safe当中
通过观察,大家发现在Target Type当中多了Oracle On-Premises Database和Oracle Database on Compute选项,目前选择这两个项目,下方的连接信息是一样的。今天我们要连接运行在我本地的数据库,所以选择Oracle On-Premises Database。
为了能让Oracle
Data Safe操作本地数据库,大家在上面的图中,看到Download Privilege
Script链接,大家将将这个脚本下载下来,在本地数据库中,使用管理员身份执行,比如今天我们创建了一个普通用户叫做henry,然后在执行脚本的时候,按照提示对这个用户进行授权。
需要注意的是,当被问到用户名的时候,该用户名是来自DBA_USERS的,请将用户名用大写表示,否则会遇到“用户不存在”的报错讯息。
按照要求填写表格即可,请再次注意:用户名要大写。
注册成功之后,您将看到如下界面。
接下来您就可以按照我们在今年2月份发布的文章Oracle Database 20c与DATA SAFE中的介绍,对您的数据库进行安全评估等操作了。