附註:

使用 Oracle Key Vault 管理 Oracle GoldenGate Microservices 中的加密

簡介

本教學課程提供在 Oracle GoldenGate 微服務中使用 Oracle Key Vault 21.7 管理加密的逐步程序。

金鑰管理服務

Oracle 提供兩種金鑰管理服務:Oracle Key Vault 與 Oracle Cloud Infrastructure Key Management Service (OCI KMS);Oracle GoldenGate 支援兩種金鑰管理服務。這些服務提供管理加密金鑰和證明資料的擴展性,確保金鑰不會由 Oracle GoldenGate 儲存或管理。

Oracle GoldenGate 中的加密

Oracle GoldenGate 會使用封裝加密方法來保護歷程檔。對於每個歷程檔,它會產生一個唯一的資料加密金鑰 (DEK),稱為本機金鑰,用來加密歷程檔的內容。然後,此 DEK 會使用主要金鑰加密,加密的 DEK 會內嵌在歷程檔標頭中。

此方法可確保為每個歷程檔自動產生新的加密金鑰,以增強資料安全性。使用另一個金鑰 (主要金鑰) 加密一個金鑰 (DEK) 的程序稱為金鑰包裝 (American National Standards Institute (ANSI) 的 ANSI X9.102 標準技術)。

為什麼要使用 OCI KMS 來儲存 Oracle GoldenGate 加密金鑰?

金鑰管理包含加密金鑰的產生、分送、儲存、使用狀況和輪替。OCI KMS 包含金鑰伺服器、使用者定義的程序以及安全協定。有效的關鍵管理對於維護企業的整體安全性狀態至關重要。

將 OCI KMS 與 Oracle GoldenGate 搭配使用有下列優點:

歷程檔加密

Oracle GoldenGate 針對歷程檔加密提供下列「進階加密標準 (AES)」型方法:

工作 1:設定 Oracle Key Vault for Oracle GoldenGate

下列步驟屬於執行 Oracle GoldenGate 執行處理之機器上的 Oracle Key Vault 組態。

  1. 從 Oracle Key Vault 伺服器下載 okvrestservices.jar,確保將 Oracle GoldenGate 部署在與部署相同的系統使用者之下。

  2. 從 Oracle Key Vault 伺服器下載並安裝端點檔案 okvclient.jar,以確保 Oracle GoldenGate 部署在與部署相同的系統使用者之下。例如,java -jar okvclient.jar -d /u01/app/oracle/OKV

    圖像

  3. 執行以下範例指令以建立金鑰。公事包的名稱是由 Oracle Key Vault 管理員提供,或者之後可以從 Oracle Key Vault 主控台建立公事包關聯。

    	java -jar okvrestservices.jar kmip  --config /u01/app/oracle/OKV/conf/okvclient.ora  --service create_key --algorithm AES --length 256 --mask "ENCRYPT,DECRYPT,TRANSLATE_ENCRYPT,TRANSLATE_DECRYPT,TRANSLATE_WRAP,TRANSLATE_UNWRAP"
    
    

    圖像

  4. 我們可以在 Oracle Key Vault 主控台中驗證金鑰,並比對步驟 3 中建立的唯一 ID。

    圖像

  5. 將從 Oracle Key Vault 主控台建立的公事包與加密金鑰建立關聯,並提供端點的存取權。

    圖像

  6. 新增公事包詳細資訊以提供端點的存取權。

    圖像

  7. 按一下「儲存」以儲存變更。

    圖像

    圖像

  8. 設定 OKV_HOME 環境變數。

    OS> export OKV_HOME /u01/app/oracle/OKV 
    

    子目錄結構包含 Oracle Key Vault 環境所需的程式庫、二進位檔案以及組態檔。如需 OKV 伺服器內組態的詳細資訊,請參閱「Oracle Key Vault Administration Guide 」中的「Oracle Key Vault Installation and Configuration」。

  9. 啟用金鑰,如下列範例所示。

    java -jar okvrestservices.jar kmip  --config /u01/app/oracle/OKV/conf/okvclient.ora  --service activate -uid A087DAC3-ED0F-4F06-BF6C-3F3CD3FC528B
    

    圖像

  10. 將 Oracle GoldenGate 相關索引鍵屬性 (KeyNameKeyVersion) 新增至組態。金鑰名稱必須與在 Oracle GoldenGate 內建立之 OCI KMS 加密設定檔中的主要金鑰名稱相符。索引鍵值必須與主要索引鍵的版本編號相符。

    java -jar okvrestservices.jar kmip  --config /u01/app/oracle/OKV/conf/okvclient.ora  --service add_custom_attr --uid  D98640C4-A4B4-4FA5-BF8B-8D90610CD68A --attribute x-OGG-Keyname --type TEXT --value OGG_Masterkey
    Success
    
    
    java -jar okvrestservices.jar kmip  --config /u01/app/oracle/OKV/conf/okvclient.ora  --service add_custom_attr --uid  D98640C4-A4B4-4FA5-BF8B-8D90610CD68A --attribute x-OGG-KeyVersion --type TEXT --value 1
    Success
    
    

    圖像

    圖像

  11. 使用 okvutil 公用程式列出組態設定,並檢查端點狀態,如下列範例所示。

    -bash-4.2$ export OKV_HOME=/u01/app/oracle/OKV
    -bash-4.2$ $OKV_HOME/bin/okvutil list -v 4
    

    圖像

工作 2:使用 Oracle Key Vault 在 Oracle GoldenGate Microservices 中設定加密設定檔

什麼是加密設定檔?

加密設定檔定義從 OCI KMS 安全存取主要金鑰所需的組態。它包含連線至 OCI KMS、認證要求以及識別用於加密和解密作業之特定主要金鑰的所有必要詳細資訊。這包括伺服器連線參數、認證證明資料以及金鑰識別屬性。

如何在 Oracle GoldenGate Microservices Architecture 中設定加密設定檔?

加密設定檔可以使用管理伺服器或 AdminClient 來設定。

AdminClient 提供像 ADD ENCRYPTIONPROFILEALTER ENCRYPTIONPROFILEDELETE ENCRYPTIONPROFILEINFO ENCRYPTIONPROFILE 等指令來管理這些設定檔。此外,已增強 Extract、Replicat 和 Distribution Path 的 ADDALTER 命令,以包含 ENCRYPTIONPROFILE encryption-profile-name 參數。

Oracle GoldenGate 管理伺服器提供設定受管理 Extract 和 Replicat 處理作業之加密設定檔的選項。

  1. 若要設定加密設定檔,請按一下導覽窗格中的設定檔,然後選取金鑰管理系統 (KMS)

  2. 依預設,會建立本機公事包設定檔。如果需要將 Oracle Key Vault 設定為 Oracle GoldenGate 的 OCI KMS 服務,請按一下設定檔旁的 + 符號,透過指定下列詳細資訊來建立 Oracle Key Vault 的加密設定檔:

    • 名稱:輸入 Oracle Key Vault 加密設定檔的名稱。
    • 類型:將 OCI KMS 類型指定為 Oracle Key Vault。
    • 本位目錄路徑:指定安裝 Oracle Key Vault 的目錄位置。在管理從屬端中,這是 Oracle Key Vault 路徑。在 Web 介面中,這是 OCI KMS 程式庫路徑。
    • 金鑰名稱屬性:使用此自訂屬性指定加密金鑰的名稱。這個值必須與 Oracle GoldenGate 中 OCI KMS 參數中的索引鍵名稱相符,而且複製啟動後便無法變更。
    • 金鑰版本屬性:使用此自訂屬性指定加密金鑰的版本。這個值必須是數值。
    • MasterKey 名稱:指定主要金鑰的名稱。
    • MasterKey 版本:指定 Oracle Key Vault 的版本。預設值為 LATEST,或者您可以指定版本號碼,例如 18.1
    • 存留時間:從 OCI KMS 擷取之金鑰的存留時間 (TTL)。將下一個歷程檔加密時,Extract 會檢查 TTL 是否已過期。如果是,它會擷取主要金鑰的最新版本。預設值為 24 小時。

    注意:請勿上傳具有金鑰名稱金鑰版本重複值的金鑰。在啟動、重新啟動或變換時,Oracle GoldenGate 處理作業會擷取最高的「金鑰版本」值。

    圖像

工作 3:新增資料庫詳細資訊和測試連線

  1. 開啟「Oracle GoldenGate 管理服務主控台」並登入。

  2. 按一下左邊導覽窗格中的資料庫連線

  3. 按一下資料庫連線 (DB Connections) 旁邊的加號 (+)。將會顯示證明資料

  4. 送出資料庫詳細資訊,然後按一下送出

  5. 按一下連線資料庫圖示以連線至資料庫。

圖像

任務 4:提供加密設定檔來新增擷取

若要新增 Extract,請輸入下列影像中所示的必要資訊。

圖像

圖像

圖像

我們可以驗證歷程檔現在是否已使用字串命令加密,如下圖所示。

圖像

我們也可以檢查 Oracle GoldenGate 錯誤日誌,確認歷程檔是否經過加密。

圖像

確認

其他學習資源

docs.oracle.com/learn 上探索其他實驗室,或在 Oracle Learning YouTube 頻道上存取更多免費學習內容。此外,請造訪 education.oracle.com/learning-explorer 以成為 Oracle Learning Explorer。

如需產品文件,請造訪 Oracle Help Center