使用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

相關文章
相關標籤/搜索