在 Oracle GoldenGate 中使用 Oracle Key Vault Trail 文件加密
了解将 Oracle Key Vault (OKV) 与 Oracle GoldenGate 微服务架构结合使用的优势。确定 Oracle GoldenGate 提供的用于为 Oracle GoldenGate 配置 OKV 的系统要求、流程和参数。
下图介绍了 Oracle GoldenGate 环境中的 Oracle Key Vault 设置和工作流。 
如图中所示,在 Oracle GoldenGate 中为部署配置加密配置文件时,可以选择密钥储存库 (Key Vault,OKV) 作为密钥管理系统。提取、复制进程使用此加密配置文件存储和应用主密钥,然后使用分发路径传输线索文件并使用 RECVPATH 进程接收另一端的文件。Web 安全套接字 (wss) 协议用于验证 DISTPATH 和 RECVPATH 之间的连接,以建立安全的通信通道。
Oracle Key Vault 功能
Oracle GoldenGate 26ai 和更高版本支持使用 Oracle Key Vault 21.8 进行线索文件加密。下表提供了 Oracle Key Vault (OKV) 的行为和功能。
有关配置 OKV 的更多信息,请参见 Installing and Configuring Oracle Key Vault 。
以下列表介绍了 Oracle Key Vault 功能:
-
KMS 类型:用于版本控制的 Keyname 和定制属性。
-
支持标签:是
-
支持导入密钥:是
使用 Oracle Key Vault 配置 GoldenGate 加密配置文件的先决条件
了解使用 Oracle GoldenGate 设置 OKV 的先决条件。
在此部分中,已使用命令行执行生成主密钥的步骤。或者,您可以使用 OKV Web 界面为 Oracle GoldenGate 创建主密钥。如果要从 OKV Web 界面生成主密钥,请按照 Oracle Key Vault Administrator’s Guide 中的 Create GoldenGate Master Key 中提供的步骤操作。
在运行 Oracle GoldenGate 实例的计算机上,对 OKV 配置执行以下步骤:
-
从 OKV 服务器下载
okvrestclipackage.zip,其中 Oracle GoldenGate 部署为与部署相同的系统用户。 -
使用《 Oracle Key Vault Administrator’s Guide 》中的启用 RESTful 服务中提供的步骤启用 RESTFUL Services。
-
设置
OKV_HOME环境变量。OS> setenv OKV_HOME /u01/app/oracle/OKV子目录结构包含 OKV 环境所需的库、二进制文件和配置文件。有关 OKV 服务器内配置的详细信息,请参见《Oracle Key Vault Installation and Upgrade Guide 》中的 Oracle Key Vault Installation and Configuration 。
-
从 OKV 服务器下载并安装端点文件
okvclient.jar,在该服务器上将 Oracle GoldenGate 部署为与部署相同的系统用户。例如:OS> java -jar okvclient.jar -d /u01/app/oracle/OKV -
创建密钥。Wallet 的名称由 OKV 管理员提供。以下示例显示了如何创建密钥:
OS> okv managed-object key create [--activation-date activation date] [--algorithm algorithm] [--custom-attribute custom attribute] [--deactivation-date deactivation date] [-- extractable extractable] [--length length] [--mask mask] [--name name] [--wallet wallet] ex - okv managed-object key create --algorithm AES --length 256 --mask "ENCRYPT,DECRYPT,TRANSLATE_ENCRYPT,TRANSLATE_DECRYPT,TRANSLATE_WRAP,TRANSLATE_UNWRAP" --wallet wallet1或者,您可以注册自己的密钥,如以下示例中所示:
OKV> okv managed-object key register [--activation-date activation date] [--algorithm algorithm] [--custom-attribute custom attribute] [--deactivation-date deactivation date] [--extractable extractable] [--length length] [--mask mask] [--name name] --object object [--wallet wallet] ex - bin/okv managed-object key register --length 256 --activation-date "NOW" --object symkey.txt --algorithm AES --mask "ENCRYPT,DECRYPT,TRANSLATE_ENCRYPT,TRANSLATE_DECRYPT,TRANSLATE_WRAP,TRANSLATE_UNWRAP" --wallet wallet1 -
按以下示例中所示激活密钥:
OS> okv managed-object object activate --uuid UUID -
将 Oracle GoldenGate 相关关键属性(KeyName、KeyVersion)添加到配置中。密钥名称必须与在 Oracle GoldenGate 中创建的 KMS 加密概要信息中的主密钥名称匹配。密钥值必须与主密钥的版本号匹配。
OS> okv managed-object custom-attribute add --custom-attribute custom attribute --uuid uuid ex - okv managed-object custom-attribute add --custom-attribute '[ { "name": "x-OGG-KeyName", "value" : "OGG_Masterkey", "type" : "text" },{ "name": "x-OGG-KeyVersion", "value" : "1", "type" : "text"} ] ' -
使用
okvutil列出配置设置并检查端点状态。如以下示例中所示:*OS>okvutil list -v 4*此命令的输出显示配置设置和端点状态:
okvutil version 21.12.0.0.0 Endpoint type: Oracle AI Database Configuration file: u01/app/oracle/OKV/conf/okvclient.ora Server: 100.70.1.1:5696 Standby Servers: Auto-login wallet found, no password needed Trying to connect to 100.70.1.1:5696 ... Connected to 100.70.1.1:5696. Unique ID Type Identifier 8BC11E57-5269-403D-9B69-A66641ADAFC7 Symmetric Key -
后续步骤在 Oracle GoldenGate 中进行管理,并显示为管理客户端的实施。
针对 Oracle Key Vault 的不同密钥状态的客户端行为
下表介绍了写入器 (Extract) 或读取器 (Replicat) 客户机进程的相对行为,具体取决于不同的线索加密密钥状态。
如果主密钥不可提取,则表明 OKV 加密操作正在使用远程加密。这意味着主密钥无法离开或无法从 OKV 检索。在 OKV 中执行在 Oracle GoldenGate 中基于每个线索文件一次进行加密和解密的命令。
密钥可以处于以下状态:
| 密钥状态 | 线索写入器(加密) | 线索读取器(解密) |
|---|---|---|
| 活动 | 线索写入器选择具有活动状态的最高版本号进行加密。 | 线索读取器可以使用此密钥和版本号来解密线索。 |
| 预先激活 | 线索写入器忽略并且不考虑具有这些状态的密钥版本号。 | 不适用 |
| 已停用 | 无 | 如果密钥和版本号已停用或泄露,则线索文件读取器将检索并解密线索。 |
| 已损坏 | 无 | 如果密钥和版本号已停用或泄露,则线索文件读取器将检索并解密线索。 |
| 已毁坏 | 非 | 如果解密所需的密钥和版本号处于销毁或销毁受损状态,则线索文件读取器将生成错误并异常终止。 |
| 已销毁-已损坏 | 无 | 如果解密所需的密钥和版本号处于销毁或销毁受损状态,则线索文件读取器会引发错误并异常终止。 |
应用 OKV 加密配置文件
Oracle GoldenGate 管理服务提供用于为提取和复制进程设置加密概要信息的选项。
使用以下步骤使用 Oracle Key Vault (OKV) 创建加密配置文件:
-
在设置 OKV 之前,需要执行客户机安装。请参阅 Oracle Key Vault Administrator’s Guide 中的 Step 1:Configure the Oracle Key Vault Server Environment 。
-
在“管理服务”左侧导航窗格中,单击加密。"Encryption Profiles"(加密配置文件)页面将断开。
-
单击 OKV 旁边的加号 + 并指定 OKV 配置的以下详细信息:
选项 说明 概要文件名 加密概要文件的名称 说明 描述加密配置文件。 默认配置信息 如果要将此概要设为默认值,则启用此选项。 加密概要信息类型 选择 Oracle Key Vault (OKV) 。 KMS 库路径 指定安装 Oracle Key Vault 的目录位置。在 Web 界面中,这称为 KMS 库路径,但在管理客户端中,这是 Oracle Key Vault 路径。 Oracle Key Vault 版本 主密钥名称 指定主密钥的名称。 生存时间 提取从 Oracle Key Vault 检索的密钥的生存时间 (TTL)。加密下一个线索时,提取将检查 TTL 是否已过期。如果密钥已过期,它将检索主密钥的最新版本。默认为 24 小时。
另请参阅以下教程以获得参考:使用 Oracle Key Vault 管理 Oracle GoldenGate 微服务中的加密