在 Oracle GoldenGate 中使用 OCI KMS 线索文件加密
了解在 Oracle GoldenGate 中配置 OCI KMS 加密概要信息的先决条件、要求和步骤,以允许使用 OCI KMS 和提取、复制或分发路径流程进行线索文件加密。
Oracle GoldenGate 与 OCI KMS 工作流
下图说明了 Oracle GoldenGate 如何与 OCI KMS 协同工作,实现线索文件加密。

在 Oracle GoldenGate 中设置 OCI KMS 加密概要信息并将加密概要信息附加到提取。包括 ENCRYPTTRAIL 参数以指定提取参数文件中的加密算法。
此图显示了包含与 OCI KMS 加密配置文件关联的提取的源部署 EAST 。要在 Oracle GoldenGate 中创建加密概要信息,OCI 用户需要访问 OCI 租户并从 OCI Vault 获取一些值,并为 OCI 用户生成主密钥和 API 密钥。
OCI Vault 包含有关用于下载数字 CA 证书的租户 OCID 、用户 OCID 和加密端点 URL 的信息。与 Vault 关联的主密钥也从 OCI Vault 生成。API 密钥对也是必需的,您可以从 OCI 租户生成密钥对或上载现有密钥对。有关详细信息,请参阅配置 OCI KMS 以与 Oracle GoldenGate 连接。
从 OCI 租户保存所有值后,您可以在 Oracle GoldenGate 管理服务中创建加密概要信息。然后,此加密配置文件与提取关联,并且提取参数文件使用 ENCRYPTTRAIL 参数应用您决定应用的加密算法(AES 128、AES 192、AES 256)。加密的线索文件由 DISTPATH 传输到目标部署 (WEST)。目标部署 (WEST) 上的 Replicat 参数文件包含 DECRYPTTRAIL 参数,该参数允许解密线索文件。请参阅配置 Oracle GoldenGate 流程以启用 OCI KMS 线索文件加密。
将 Oracle GoldenGate 与 OCI KMS 连接的先决条件
在 Oracle GoldenGate 中开始配置 OCI KMS 加密概要信息之前,请执行本节中的任务。
OCI KMS 需要注册私钥/公钥(API 签名密钥),才能访问部署 Oracle GoldenGate 的服务器上的 REST API。请参阅注册和管理 OCI KMS 密钥。
下表提供了从 Oracle GoldenGate 管理服务配置 OCI KMS 加密概要信息所需的值列表。在开始使用 OCI KMS 创建加密概要信息之前,请确保您具有这些值。
| OCI KMS 配置选项 | 用于设置 OCI KMS 的选项。 |
| 加密端点 URL | 您可以从 OCI KMS Vault 向导访问此项。请参见 [OCI Command Line Reference](https://docs.oracle.com/en-us/iaas/tools/oci-cli/ |
| 2.21.4/oci_cli_docs/cmdref/kms/crypto.html) 和 OCI 文档中的管理密钥以了解更多信息。 | |
| 租户 OCID | 当您注册 Oracle Cloud Infrastructure 时,Oracle 会为您的公司创建一个租户,您可以在其中创建、组织和管理您的云资源,这是 Oracle Cloud Infrastructure 中的一个安全隔离分区。要了解详细信息,请参阅 OCI 文档中的关键概念。 |
| 密钥 OCID | 有关详细信息,请参阅 OCI 文档。 |
| 用户 OCID | 有关详细信息,请参阅 OCI 文档。 |
| API 密钥 | 用于保护对 Oracle Cloud Infrastructure REST API 的请求的身份证明。 |
| API 密钥指纹 | 有关详细信息,请参阅 OCI 文档中的必需密钥和 OCID 。 |
使用加密端点下载 CA 证书
要执行本主题中的步骤,您需要在 OCI 租户中具有提及加密端点 URL 的 Vault。下载数字 CA 证书需要此 URL,以便建立从 Oracle GoldenGate 到 OCI 租户的可信连接。如果您没有现有 Vault,请参阅创建或访问 OCI Vault ,并返回到此主题以了解使用加密端点下载 CA 证书的步骤。
如果您的 OCI 租户中有现有 Vault,请按照本主题中提供的步骤,使用加密端点下载 CA 证书。
-
从左侧导航窗格导航到身份和安全页,然后选择 Vault 以打开“Vault 信息”页。
-
从“Vault 信息”页中,复制加密端点值和 OCID。
-
打开 Web 浏览器并将加密端点值粘贴到浏览器 URL 栏中。浏览器不显示任何页面。但是,您可以单击连接是安全的来查看 CA 证书。

在连接到此 OCI 租户时,Oracle GoldenGate 需要此 CA 证书才能信任此 OCI 租户。
-
转到 Web 浏览器的 Downloads(下载)部分。此处列出了 CA 证书。

-
单击导出以下载根证书。
提示:保存用于下载 API 密钥和根证书的同一目录。{. :infoboxtip}
在 Oracle GoldenGate 中将数字 CA 证书添加为可信 CA 证书
以前使用加密端点 URL 下载的数字 CA 证书需要作为可信 CA 证书添加到 Oracle GoldenGate 源部署。请参阅为安全部署创建证书。
注:在 OCI GoldenGate 服务中,您可以跳过此步骤,因为 CA 证书已添加为服务的一部分。
在 Oracle GoldenGate Service Manager 中,执行以下步骤将数字 CA 证书添加为源部署的可信 CA 证书:
-
登录到 Oracle GoldenGate 服务管理器。
-
从左侧导航窗格中,选择 "Certificate Management"(证书管理)选项。

Oracle GoldenGate Service Manager 中的证书管理页
截至目前,没有添加证书作为可信证书来连接到特定 OCI 租户。您需要添加您在以下步骤中下载的根证书:
-
将根证书作为可信证书添加到 Oracle GoldenGate 部署中的 CA 证书。这使 Oracle GoldenGate 能够信任与特定 OCI 租户的连接。另请参见 Add a CA Certificate 。

配置 OCI KMS 以与 Oracle GoldenGate 连接
在 OCI KMS 租户中,在 Oracle GoldenGate 和 OCI KMS 之间设置连接需要特定值。这些值包括:
-
租户 ID
-
加密端点
-
用户 OCID
-
API 密钥
在配置 Oracle GoldenGate 以连接到 OCI KMS 之前,您需要登录到 OCI 租户来执行以下任务:
-
创建 Vault (如果尚未创建),并获取加密端点和用户 OCID 值。请参阅
-
创建和下载 API 私有密钥对以及与 API 密钥关联的信息,例如指纹和 API 密钥值。
-
使用加密端点下载 CA 证书。此步骤也是配置 Oracle GoldenGate 加密配置文件的先决条件。有关详细信息,请参见 Download the CA Certificate using the Cryptographic Endpoint 。
使用以下步骤查看和保存 OCI KMS 值,在设置用于连接到 OCI KMS 的 Oracle GoldenGate 进程时需要这些值:
创建或访问 OCI Vault
访问 Vault(如果 OCI 租户中已存在该 Vault),以确定以下项的值:
-
加密端点:这是您需要从其中获取可信证书的链接。复制此链接以用于后续步骤。
-
OCID :这是 OCI 环境的唯一 ID。在 Oracle GoldenGate 中设置加密概要信息时,需要执行此操作。
使用以下步骤创建和访问 Vault:
-
登录您的 Oracle Cloud 账户。
-
从 Oracle Cloud 主页的左侧导航窗格中,单击身份和安全选项,然后选择 Vault 。
-
如果尚未创建 Vault,请单击创建 Vault 以创建 Vault。在这种情况下,已创建 Vault ( WSJCVAULT )。

-
单击 Vault 名称(例如下图中显示的 **WSJCVAULT**),以访问有关 Vault OCID、加密端点和主密钥详细信息的信息。在下图中,** 一般信息 ** 部分包含 **ocid** 和 ** 加密端点 ** 详细信息,Compartment_WH** 部分中的 ** 主加密密钥显示主密钥详细信息。 在此页中,您将获得在 Oracle GoldenGate 和 OCI KMS 之间设置可信连接所需的值。
-
将此信息复制到记事本文件以供参考。在后面的步骤中,您将使用此记事本文件添加有关主密钥和 API 密钥的更多详细信息。这些值将用于在 Oracle GoldenGate 部署中添加加密概要信息。
生成主密钥并下载 API 私有密钥
以下步骤假定您已登录到 OCI 租户。
生成主密钥
要创建主密钥,请执行以下操作:
-
导航到 Vault Information 页面。
-
移至主加密密钥选项卡,然后单击创建密钥。

-
指定主密钥的名称和加密算法以及其他详细信息以创建主密钥,如下图中所示。

-
单击创建密钥。这将生成将由 Oracle GoldenGate 使用的主密钥。新的主密钥将列在主加密密钥页面上。

生成 API 密钥
要将用户与 OCI KMS 连接,请使用以下步骤创建 API 密钥:
-
从 Vault 信息页面中,单击右上角的 "User Settings" 图标。

这将显示包含多个选项卡的“用户概要”页面。
-
从 "Details"(详细信息)选项卡的 "User Information"(用户信息)部分复制用户 OCID。将此值粘贴到之前创建的记事本文件中。\\

-
单击令牌和密钥选项卡以打开“API 密钥”部分。

-
单击添加 API 密钥以打开“添加 API 密钥”对话框。
-
选择生成 API 密钥对选项,为 OCI 用户创建密钥对以连接到 OCI KMS。您还可以选择使用选择公钥文件选项上载现有公钥文件,或者使用粘贴公钥选项将公钥值粘贴到文本框中。

-
单击下载私有密钥并将其保留在已知位置。可以将文件重命名为用户友好名称,例如 API_private_key.pem 。
-
单击添加。此时将显示 Configuration File Preview(配置文件预览)对话框,其中包含与 API 密钥关联的所有信息,例如指纹、租户、区域和其他详细信息。

-
将这些值复制并保存到先前创建的同一个记事本文件中。提示:维护相同的记事本文件,以存储有关 API 密钥的指纹、租户值以及有关 OCI Vault 的加密端点和 OCID 值的信息。下图显示了在 Oracle GoldenGate 中配置加密配置文件时所需的示例记事本文件,其中包含 Vault、主密钥和 API 密钥的配置详细信息。
-
单击关闭可返回到列出新 API 密钥的 "API Keys" 部分。

下一步是使用所有这些详细信息设置 Oracle GoldenGate 加密概要信息,然后根据需要将加密概要信息应用于提取、复制流程。有关后续步骤,请参阅配置 Oracle GoldenGate 流程以启用 OCI KMS 线索文件加密。
要了解 OCI KMS 加密和解密端点,请参阅 Oracle Cloud Infrastructure 文档中的 encrypt 和 decrypt 端点文档。
配置 Oracle GoldenGate 流程以启用 OCI KMS 线索文件加密
开始本节中的步骤之前,请确保您已完成将 Oracle GoldenGate 与 OCI KMS 连接的先决条件。
在 Oracle GoldenGate 界面中,配置 Oracle GoldenGate 以设置与 OCI KMS 的可信连接时,请执行以下任务:
-
使用 OCID、加密端点、API 密钥、租户和指纹值创建加密概要信息。
-
将加密配置文件应用于提取、分发路径或复制进程。
使用以下部分中提供的步骤,从 Oracle GoldenGate 微服务架构应用基于 OCI KMS 的线索加密:
在 Oracle GoldenGate 进程中创建加密概要信息
使用以下步骤从 Oracle GoldenGate Microservices Architecture Web 界面应用基于 OCI KMS 的线索文件加密:
-
打开记事本文件,在其中保存了 OCI KMS API 密钥和加密端点详细信息的详细信息。有关 Configure OCI KMS to Connect with Oracle GoldenGate 中的参考信息,请参阅步骤 8 。
该信息将包括以下值:
-
Crypto Endpoint URL:此值显示在 OCI KMS 的 Vault 页中。
-
租户 OCID:可以从记事本文件中复制的 API 值中获取此值。
-
密钥 OCID:要获取此值:
-
转到 OCI Vault 页,然后单击主密钥以打开密钥详细信息页,其中提供了主密钥的 OCID。

-
从“密钥详细信息”页复制主密钥 OCID。

-
-
用户 OCID:从 API 配置详细信息中获取此值。
-
API 私有密钥:在 Configure OCI KMS to Connect with Oracle GoldenGate 中执行任务时,从保存 API 私有密钥的位置上载 API 私有密钥。
-
API 密钥指纹:从 API 配置详细信息中获取此值。
-
-
登录到管理服务,选择加密,然后从左侧导航窗格中选择配置文件。
-
单击 Oracle Cloud Infrastructure 旁边的加号以打开“Create Encryption Profile(创建加密配置文件)”对话框。

将值添加到加密配置文件并提交。单击 "Submit"(提交)后,将验证加密配置文件,如果验证成功,则 OCI KMS 加密配置文件将显示在 "Encryption Profiles"(加密配置文件)页面上,如下图所示:

-
您可以通过单击铅笔图标来更改加密配置文件的值,该图标将打开 "Edit Encryption Profile"(编辑加密配置文件)对话框。
将 OCI KMS 加密概要信息应用于提取
使用以下步骤实施用于提取的 OCI KMS 加密概要信息:
-
从管理服务主页中,单击“提取”旁边的加号以打开添加提取对话框。
-
在提供提取的其他详细信息之后,向下滚动并展开 Encryption Profile(加密配置文件)部分,然后选择 OCIKMS 配置文件名称。

-
在提取参数文件中,包括
ENCRYPTTRAIL AES256选项。提取参数文件类似于以下内容:EXTRACT exte USERIDALIAS ggwest DOMAIN OracleGoldenGate ENCRYPTTRAIL AES256 EXTTRAIL ea TABLE WPDB.U1.*; -
单击创建以添加提取,然后启动提取。
-
在目标主机上,从 "Administration Service Overview" 页面中选择 Add Replicat 以添加复制。
-
选择 "Replicat"(复制)类型并填充 "Replicat"(复制)详细信息。
-
滚动到加密概要文件部分,然后选择相同的 OCIKMS 加密概要文件(在本例中为 OCIKMS)。单击下一步。
-
在 Replicat 参数文件中,包括
DECRYPTTRAIL选项。Replicat 参数文件类似于以下内容:REPLICAT renct USERIDALIAS ggeast DOMAIN OracleGoldenGate DECRYPTTRAIL MAP WPDB.U1.*, TARGET U2.*; -
创建并启动复制进程。
-
如果要将加密配置文件应用于分发路径 (DISTPATH),则需要执行以下步骤:
-
在目标主机上创建 OCI KMS 加密概要文件。
-
创建 DISTPATH 并向其应用 OCI KMS 加密概要信息。请参见 Add a Distribution Path 。
-
使用相同的加密配置文件解密目标上的线索。这意味着您在添加复制时使用在目标主机上创建的加密配置文件。
-
下一节介绍在使用加密配置文件时测试已提交事务处理的捕获和应用的步骤
如果要使用管理客户机设置加密配置文件,请参见 ADD ENCRYPTIONPROFILE 和 ALTER ENCRYPTIONPROFILE 。
使用 OCI KMS 使用线索文件加密测试数据复制
使用本主题中提供的步骤,在源端测试线索文件加密,在目标端测试线索文件解密。
在源部署中测试线索文件加密
在配置 Oracle GoldenGate 流程以启用 OCI KMS 线索文件加密中,提取使用 OCI KMS 加密概要信息进行设置。
在此示例中,您将能够通过查看提取报告文件来确认提取正在使用加密概要信息。
要检查 Extract 是否使用 OCI KMS 加密概要信息,请执行以下操作:
-
从管理服务中,单击提取,然后选择应用加密概要信息的提取。您将能够看到 OCI KMS 加密概要信息列在“提取”页的“加密”部分中。
-
出于故障排除目的,可以使用 Logdump 命令检查线索文件是否在源上加密。请参见 Logdump Reference for Oracle GoldenGate 中的 Scanning a Trail File to Check for Trail File Encryption 。
在目标部署上测试线索文件解密
在目标端,以下示例测试 Replicat 应用从源获取的 3000 个事务。要确保 Replicat 正在使用 OCI KMS 加密配置文件解密线索文件,请检查 Replicat 报告文件。
-
从管理服务主页中,单击 Replicat ,然后选择复制名称。
-
单击 Statistics 。在“统计”页面上,将显示应用的事务处理。
-
检查 Replicat 主页以查看加密配置文件是否已由 Replicat 实施和使用。
提示:
要检查是否在目标上以加密格式接收线索数据,可以在不使用
DECRYPTTRAIL参数的情况下运行复制。在这种情况下,Replicat 报告文件显示线索数据已加密,如果没有正确的密钥设置,则无法解密。
通过这些用例,您可以测试“提取”端的线索文件是否使用 OCI KMS 加密概要信息来加密线索数据。在 Replicat 端,OCI KMS 加密配置文件用于解密线索数据并在目标上应用事务处理。