GoldenGate的安全配置(2)

OGG账号成功连接数据库了,说明加过密的口令是能正常工作。接下来就是要修改ExtractReplicat的配置文件了。修改也很简单,就是将USERID这一行的内容修改下就可以了:

...

SETENV (Oracle_HOME=/u01/app/oracle/product/11.2.0/db_1)

SETENV (ORACLE_SID=ggtest)

--USERID OGG, PASSWORD OGG123

USERID OGG, PASSWORD AADAAAAAAAAAAAGASBQGIAYGCFRCWELGFJMHBHHDOHWDWGRBBCKCYFSGGJTEJFFJUBQFKESGNAVBRDTF, ENCRYPTKEY PASSWDKEY

EXTTRAIL /data/ggate/dirext/ggtest/ea

...

 

然后将ExtractReplicat进程起来能正常工作就表示完成口令加密的配置了。

Trail文件加密

    Trail文件加密,就是将Extract进程解析出来的数据以加密的形式存放在trail文件中(注意不是对整个trail文件进行加密)。不加密的时候数据是以明文的形式存放在trail文件中的(这不是废话么,呵呵)。打开trail文件就可以观察到数据:

或者用logdump工具可以更方便的观察到数据:

如果是加过密的,那数据就是一团乱码了:

即使用logdump工具,也是只能观察到乱码的数据:

这样数据的安全性就有了很好的保障。Trail文件加密适合对数据安全性要求比较高的情形。Trail文件加密的使用模式主要有以下两种:

使用模式1

GoldenGate的安全配置

使用模式2

GoldenGate的安全配置

这两者的区别在于,模式1trailExtract进程加密后,Pump进程不做任何处理,直接将加密过的数据传送给目标,目标经过解密后将数据应用到目标库。这种模式适合Pump进程只是做传输,而不需要进行如数据过滤、转换等操作的情形。模式2trailExtract进程加密后,Pump进程先对trail进行解密,然后又重新加密,再将重新加密后的数据传送给目标,目标经过解密后将数据应用到目标库。这种模式适合Pump进程需要先对数据进行如过滤、转换等操作的情形。

    配置Trail文件加密也是非常容易,首先还是生成密钥文件(见口令加密一节中关于密钥文件的内容)。然后修改ExtractReplicat的配置:

# Extract进程配置文件中增加ENCRYPTTRAIL内容

...

SETENV (ORACLE_SID=ggtest)

USERID OGG, PASSWORD AADAAAAAAAAAAAGASBQGIAYGCFRCWELGFJMHBHHDOHWDWGRBBCKCYFSGGJTEJFFJUBQFKESGNAVBRDTF, ENCRYPTKEY PASSWDKEY

ENCRYPTTRAIL AES128 KEYNAME TRAILKEY

EXTTRAIL /data/ggate/dirext/jet2/ea

DISCARDFILE /u01/app/oracle/product/ggate/current/dirrpt/EJET2.dsc, APPEND, MEGABYTES 500

FETCHOPTIONS FETCHPKUPDATECOLS

...

 

需要注意的是ENCRYPTTRAIL的位置必须要在EXTTRAIL之前。如果把ENCRYPTTRAIL配置在EXTTRAIL之后,那么Extract进程也能正常工作,只是没起到加密作用。

# Replicat进程配置文件中增加DECRYPTTRAIL内容

...

SHOWSYNTAX

DYNSQL

DBOPTIONS DEFERREFCONST

DECRYPTTRAIL AES128 KEYNAME TRAILKEY

MAP JET2.*, TARGET JET2.*;

...

 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/bb7c6fd301c2a887fdbff8d28cec7df0.html