使用ENCKEYS方法加密数据

要使用这种数据加密方法,您须要配置Oracle GoldenGate以生成加密密钥并将密钥存储在本地ENCKEYS文件中。此方法使用的永久密钥只能经过根据使用加密密钥填充ENCKEYS文件中的说明从新生成算法来更改。 ENCKEYS文件必须经过在操做系统中分配文件权限的常规方法进行保护。算法

此过程生成AES加密密钥并提供将其存储在ENCKEYS文件中的说明。数据库

  • 使用ENCKEYS方法加密数据
  • 使用ENCKEYS方法解密数据
  • 使用ENCKEYS方法进行数据加密的示例

11.3.1 用ENCKEYS方法加密数据

一、生成加密密钥并将其存储在ENCKEYS文件中。请参阅使用加密密钥填充ENCKEYS文件。确保将完成的ENCKEYS文件复制到任何中间系统和全部目标系统上的Oracle GoldenGate安装目录。oracle

二、在如下参数文件中,添加如下内容:this

  • 加密trail数据:在主要提取组和数据泵的参数文件中,在指定要加密的路径或文件的任何参数前添加ENCRYPTTRAIL参数。指定路径或文件的参数是EXTTRAIL,RMTTRAIL,EXTFILE和RMTFILE。语法是如下之一:
    ENCRYPTTRAIL {AES128 | AES192 | AES256 | BLOWFISH}
    ENCRYPTTRAIL AES192, KEYNAME keyname

     

  • 经过TCP / IP对数据进行加密:在数据泵的参数文件(或主要提取程序,若是没有使用泵)的RMTHOSTOPTIONS参数中,使用KEYWORD子句添加ENCRYPT选项。语法是如下之一:
    RMTHOSTOPTIONS host, MGRPORT port, ENCRYPT {AES128 | AES192 | AES256 | BLOWFISH} KEYNAME keyname
    RMTHOSTOPTIONS ENCRYPT {AES128 | AES192 | AES256 | BLOWFISH} KEYNAME keyname

Where:加密

  • RMTHOSTOPTIONS用于提取。有关被动提取的更多信息,请参阅使用目标系统链接启动。
  • 没有选项的ENCRYPTTRAIL使用AES128做为全部数据库类型的默认值,除了iSeries,z / OS和NonStop平台,其中默认状况下是BLOWFISH。
  • AES128采用AES-128加密算法进行加密。不支持iSeries,z / OS和NonStop平台。
  • AES192采用AES-192加密算法进行加密。不支持iSeries,z / OS和NonStop平台。
  • AES256采用AES-256加密算法进行加密。不支持iSeries,z / OS和NonStop平台。
  • BLOWFISH使用Blowfish加密,具备64位块大小和32位到128位的可变长度密钥大小。若是平台支持,请使用AES。使用BLOWFISH与之前的Oracle GoldenGate版本进行后向兼容,以及在NonStop上使用z / OS,DB2 for i和SQL / MX上的DB2。这些平台不支持AES。
  • KEYNAME keyname指定ENCKEYS文件中加密密钥的逻辑查找名称。不是ENCRYPTTRAIL的选项

除非解压缩处于被动配置,不然将使用RMTHOST。有关更多信息,请参阅使用目标系统链接启动。spa

三、若是使用经过TCP / IP加密的数据的静态收集器,请将如下参数附加到收集器启动字符串中:操作系统

-KEYNAME keyname
-ENCRYPT algorithm

指定的密钥名称和算法必须与RMTHOST的KEYNAME和ENCRYPT选项指定的名称和算法相匹配code

 

11.3.2用ENCKEYS方法解密数据

除非指定了trail加密,不然经过TCP / IP链接加密的数据在写入trail以前会在目标处自动解密。htm

在trail中加密的数据保持加密状态,除非使用DECRYPTTRAIL参数。在Replicat能够将加密数据应用于目标以前,DECRYPTTRAIL是必需的。除非使用DECRYPTTRAIL和ENCRYPTTRAIL参数,不然数据泵会将加密数据传递到输出trail。若是数据泵必须对数据执行操做,则按如下方式对数据进行解密和加密。blog

解密数据以便经过数据泵进行处理

将DECRYPTTRAIL参数添加到数据泵的参数文件中。解密算法和密钥必须与用于加密踪影的密钥匹配(请参阅使用ENCKEYS方法加密数据)

DECRYPTTRAIL {AES128 | AES192 | AES256 | BLOWFISH}

 

在数据泵处理后加密数据

要在数据泵将其写入输出trail或文件以前加密数据,请在指定这些路径或文件的参数前使用ENCRYPTTRAIL参数。指定trail或文件的参数是EXTTRAIL,RMTTRAIL,EXTFILE和RMTFILE。 ENCRYPTTRAIL参数和trail或文件规范必须在DECRYPTTRAIL参数以后进行。请参阅使用ENCKEYS方法加密数据。

使用ENCRYPTTRAIL指定的算法可能因路径而异。例如,您可使用AES 128加密本地路径,使用AES 256加密远程路径。

解密数据以供Replicat处理

若是Replicat读取的trail已加密,请将DECRYPTTRAIL参数语句添加到Replicat参数文件。解密算法和密钥必须与用于加密线索的解密算法和密钥相匹配。请参阅使用ENCKEYS方法加密数据。

 

11.3.3 使用ENCKEYS方法进行数据加密的例子

如下示例显示如何为不一样的trail或文件打开和关闭加密。在这个例子中,Extract写入两个本地路径,其中只有一个必须加密。

在Extract配置中,trail bb是未加密的路径,因此它的EXTTRAIL参数放在加密trail aa的ENCRYPTTRAIL参数以前。或者,能够在指定trail bb的EXTTRAIL参数前使用NOENCRYPTTRAIL参数,而后在EXTTRAIL参数指定trail aa以前使用ENCRYPTTRAIL参数。

在这个例子中,加密数据必须解密,以便数据泵1pump能够对其执行工做。所以,DECRYPTTRAIL参数用于数据泵的参数文件中。要从新加密输出数据,ENCRYPTTRAIL参数必须在DECRYPTTRAIL以后但在输出trail规范以前使用。若是数据泵不须要对数据执行任何操做,则能够省略DECRYPTTRAIL和ENCRYPTTRAIL参数以保留加密到Replicat的全部路径。

Example 11-1 Extract Parameter File

EXTRACT capt
USERIDALIAS ogg
DISCARDFILE /ogg/capt.dsc, PURGE
-- Do not encrypt this trail.
EXTTRAIL /ogg/dirdat/bb
TABLE SALES.*;
-- Encrypt this trail with AES-192.
ENCRYPTTRAIL AES192
EXTTRAIL /ogg/dirdat/aa
TABLE FIN.*;

 

Example 11-2 Data Pump 1 Parameter File

EXTRACT 1pump
USERIDALIAS ogg
DISCARDFILE /ogg/1pmp.dsc, PURGE
-- Decrypt the trail this pump reads. Use encryption key mykey1.
DECRYPTTRAIL AES192
-- Encrypt the trail this pump writes to, using AES-192.
RMTHOSTOPTIONS myhost1, MGRPORT 7809
ENCRYPTTRAIL AES192
RMTTRAIL /ogg/dirdat/cc
TABLE FIN.*;

 

Example 11-3 Data pump 2 Parameter File

EXTRACT 2pump
USERIDALIAS ogg
DISCARDFILE /ogg/2pmp.dsc, PURGE
RMTHOST myhost2, MGRPORT 7809
RMTTRAIL /ogg/dirdat/dd
TABLE SALES.*;

 

Example 11-4 Replicat1 (on myhost1) Parameter File

REPLICAT 1deliv
USERIDALIAS ogg
ASSUMETARGETDEFS
DISCARDFILE /ogg/1deliv.dsc, PURGE
-- Decrypt the trail this Replicat reads. Use encryption key mykey2.
DECRYPTTRAIL AES192
MAP FIN.*, TARGET FIN.*;

 

Example 11-5 Replicat 2 (on myhost2) parameter file

REPLICAT 2deliv
USERIDALIAS ogg
ASSUMETARGETDEFS
DISCARDFILE /ogg/2deliv.dsc, PURGE
MAP SALES.*, TARGET SALES.*;

 

参考资料

https://docs.oracle.com/goldengate/c1221/gg-winux/GWUAD/configuring-oracle-goldengate-security.htm#GWUAD1074

相关文章
相关标签/搜索