• 使用ENCKEYS方法加密数据


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

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

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

    11.3.1 用ENCKEYS方法加密数据

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

    2、在以下参数文件中,添加以下内容:

    • 加密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。有关更多信息,请参阅使用目标系统连接启动。

    3、如果使用通过TCP / IP加密的数据的静态收集器,请将以下参数附加到收集器启动字符串中:

    -KEYNAME keyname
    -ENCRYPT algorithm

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

    11.3.2用ENCKEYS方法解密数据

    除非指定了trail加密,否则通过TCP / IP连接加密的数据在写入trail之前会在目标处自动解密。

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

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

    将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

  • 相关阅读:
    Linux下安装Apache2.4.43踩坑记录
    网络代理条件下配置git
    docker存储驱动的选择
    Python列表排序
    解决apache无法启动No space left on device
    Flask匹配url使用正则表达式
    Web安全-客户端脚本安全
    springboot中的一些好用注解
    基于cdn方式的vue+element-ui的单页面架构
    干货网站
  • 原文地址:https://www.cnblogs.com/ZeroTiny/p/9203739.html
Copyright © 2020-2023  润新知