要使用 KMIP 配置加密,请上载密钥和证书,然后指定 KMIP 服务器。
开始之前
在群集控制器上设置 KMIP 密钥库之前,请执行以下过程:
对于每个群集节点,配置一个能够访问 KMIP 服务器的专用网络资源。这个专用网络接口确保每个群集节点可以在数据服务网络接口发生故障转移时与 KMIP 服务器通信。有关专用资源的信息,请参见群集资源管理。
为专用网络链路相应地配置一个指向 KMIP 服务器的路由。有关路由配置的信息,请参见配置网络路由。
![]() | 注意 - 如果无法满足这些先决条件,则会在接管和故障恢复操作期间导致服务中断。 |
对于 Oracle Key Vault,密钥和证书包含在您从 Oracle Key Vault 管理员收到的 jar 文件中。私钥文件是 key.pem 文件。
hostname:configuration settings certificates system> import ("." to end)> -----BEGIN RSA PRIVATE KEY----- ... ("." to end)> -----END RSA PRIVATE KEY----- ("." to end)> .
系统证书表中有一个新行,该行中 "Type"(类型)的值为 key。
hostname:configuration settings certificates system> list CERT TYPE SUBJECT COMMON NAME ISSUER COMMON NAME NOT AFTER cert-001 key RSA-2048
系统证书是包含此系统的客户机证书的 PEM 格式文件。对于 Oracle Key Vault,这是 cert.pem 文件。
复制证书文件的内容,输入 import 命令,然后粘贴证书。
hostname:configuration settings certificates system> import ("." to end)> -----BEGIN CERTIFICATE----- ... ("." to end)> -----END CERTIFICATE----- ("." to end)> .
CA 证书是客户机证书的颁发者。对于 Oracle Key Vault,这是 CA.pem 文件。
可信证书表有一个新行。
hostname:configuration settings certificates trusted> list CERT TYPE SUBJECT COMMON NAME ISSUER COMMON NAME NOT AFTER cert-001 cert CA CA 2022-8-11
hostname:configuration settings certificates trusted> select cert-001 hostname:configuration settings certificates cert-001> get services services = hostname:configuration settings certificates cert-001> set services=kmip services = kmip (uncommitted) hostname:configuration settings certificates cert-001> commit hostname:configuration settings certificates cert-001> done
hostname:shares encryption kmip> get server_list = client_cert = host_match = true destroy_key_on_remove = true
默认情况下,list 命令会列出 KMIP 服务器。使用 list certs 命令列出可用证书。
hostname:shares encryption kmip> list certs CERT TYPE SUBJECT COMMON NAME ISSUER COMMON NAME NOT AFTER cert-001 cert iogo7PmhIY CA 2023-1-25
通过使用 set 命令或 client_cert 命令设置 client_cert 的值。
hostname:shares encryption kmip> set client_cert=cert-001 hostname:shares encryption kmip> client_cert cert-001
对于脚本编写,您需要证书的持久性标识符。结合使用 client_cert 命令和 Tab 补齐功能来列出证书的属性。
hostname:shares encryption kmip> client_cert tab cert-001 notafter cert-002 notbefore comment sha1fingerprint dns sha256fingerprint ip subject_commonname issuer_commonname subject_countryname issuer_countryname subject_localityname issuer_localityname subject_organizationalunitname issuer_organizationalunitname subject_organizationname issuer_organizationname subject_stateorprovincename issuer_stateorprovincename type key_bits uri key_type uuid
每个证书都有一个唯一的 subject_commonname,因此您可以使用该属性的值来设置 client_cert 属性。
hostname:shares encryption kmip> client_cert subject_commonname=tab ip-addr iogo7PmhIY hostname:shares encryption kmip> client_cert subject_commonname=iogo7PmhIY hostname:shares encryption kmip> get client_cert client_cert = cert-001 (uncommitted)
此属性的建议值为 KMIP 服务器的主机名。请参见密钥管理互操作性协议 (Key Management Interoperability Protocol, KMIP) 密钥库中有关主机名验证的讨论。
如果您指定 IP 地址,请与 KMIP 服务器管理员核实是否需要包括端口号。
hostname:shares encryption kmip> set server_list=kmip-server-hostname-or-IP-address server_list = kmip-server-hostname-or-IP-address (uncommitted) hostname:shares encryption kmip> commit
如果收到一条说明服务器未能通过证书验证的警告,请检查是否在 server_list 中指定了正确的服务器主机名。如果您为 server_list 指定 IP 地址,并且 CA 签名证书的主体公用名仅具有域名,则证书的主机验证将失败。
如果将 host_match 的值设置为 false,则不会执行主机验证,并且安全性较弱。
默认情况下,这两个选项均为 true。有关这些选项的作用的信息,请参见密钥管理互操作性协议 (Key Management Interoperability Protocol, KMIP) 密钥库。
创建密钥并设置 keyname 属性。
hostname:shares encryption kmip> keys hostname:shares encryption keys> list NAME CREATED CIPHER KEYNAME hostname:shares encryption keys> create hostname:shares encryption kmip key-000 (uncommitted)> set keyname=atz-1-27-2021 keyname = atz-1-27-2021 (uncommitted) hostname:shares encryption kmip key-000 (uncommitted)> commit hostname:shares encryption keys> list NAME CREATED CIPHER KEYNAME key-000 2021-1-27 07:14:31 AES atz-1-27-2021
要标识将使用此密钥加密的池、项目和共享资源,请启动该密钥的删除过程,但是在查看将受到影响的数据列表之后,取消该密钥的删除操作。启动该密钥的删除操作时,会显示一条警告,说明使用此密钥加密的所有数据将变得不可访问。该警告显示使用此密钥加密的所有池、项目和共享资源的列表。输入 n 可取消密钥删除操作。
hostname:shares encryption keys> destroy key-000 This key has the following dependents: pool-0/local/default/fs-enc Destroying this key will render the data inaccessible. Are you sure? (Y/N) n