Go to main content

Oracle® ZFS Storage Appliance 管理指南,发行版 OS8.8.x

退出打印视图

更新时间: 2021 年 8 月
 
 

配置 KMIP 密钥库加密 (CLI)

要使用 KMIP 配置加密,请上载密钥和证书,然后指定 KMIP 服务器。

开始之前

在群集控制器上设置 KMIP 密钥库之前,请执行以下过程:

  • 对于每个群集节点,配置一个能够访问 KMIP 服务器的专用网络资源。这个专用网络接口确保每个群集节点可以在数据服务网络接口发生故障转移时与 KMIP 服务器通信。有关专用资源的信息,请参见群集资源管理

  • 为专用网络链路相应地配置一个指向 KMIP 服务器的路由。有关路由配置的信息,请参见配置网络路由


Caution

注意  -  如果无法满足这些先决条件,则会在接管和故障恢复操作期间导致服务中断。


  1. 转到 configuration settings certificates system
  2. 上载私钥。
    1. 复制包含私钥的 PEM 格式文件的内容。

      对于 Oracle Key Vault,密钥和证书包含在您从 Oracle Key Vault 管理员收到的 jar 文件中。私钥文件是 key.pem 文件。

    2. 输入 import 命令。根据提示粘贴密钥。
      hostname:configuration settings certificates system> import
      ("." to end)> -----BEGIN RSA PRIVATE KEY-----
      ...
      ("." to end)> -----END RSA PRIVATE KEY-----
      ("." to end)> .
    3. 输入 list 命令。

      系统证书表中有一个新行,该行中 "Type"(类型)的值为 key

      hostname:configuration settings certificates system> list
      CERT     TYPE SUBJECT COMMON NAME       ISSUER COMMON NAME        NOT AFTER
      cert-001 key  RSA-2048
  3. 上载系统证书。

    系统证书是包含此系统的客户机证书的 PEM 格式文件。对于 Oracle Key Vault,这是 cert.pem 文件。

    复制证书文件的内容,输入 import 命令,然后粘贴证书。

    hostname:configuration settings certificates system> import
    ("." to end)> -----BEGIN CERTIFICATE-----
    ...
    ("." to end)> -----END CERTIFICATE-----
    ("." to end)> .
  4. 上载信任锚证书。

    CA 证书是客户机证书的颁发者。对于 Oracle Key Vault,这是 CA.pem 文件。

    1. 输入 up trusted 命令。
    2. 复制证书颁发机构文件的内容,输入 import 命令,然后粘贴 CA 帐户。

      可信证书表有一个新行。

      hostname:configuration settings certificates trusted> list
      CERT     TYPE SUBJECT COMMON NAME       ISSUER COMMON NAME        NOT AFTER
      cert-001 cert CA                        CA                        2022-8-11
    3. 将证书的 services 属性设置为 kmip
      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
  5. 转到 shares encryption kmip
    hostname:shares encryption kmip> get
                       server_list =
                       client_cert =
                        host_match = true
             destroy_key_on_remove = true
  6. client_cert 设置为刚上载的证书。

    默认情况下,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)
  7. server_list 设置为 KMIP 服务器的主机名或 IP 地址。

    此属性的建议值为 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,则不会执行主机验证,并且安全性较弱。

  8. 检验 host_matchdestroy_key_on_remove 选项。

    默认情况下,这两个选项均为 true。有关这些选项的作用的信息,请参见密钥管理互操作性协议 (Key Management Interoperability Protocol, KMIP) 密钥库

  9. 为密钥提供一个名称。

    创建密钥并设置 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
  10. (u53ef选) 标识使用此密钥加密的池、项目和共享资源。

    要标识将使用此密钥加密的池、项目和共享资源,请启动该密钥的删除过程,但是在查看将受到影响的数据列表之后,取消该密钥的删除操作。启动该密钥的删除操作时,会显示一条警告,说明使用此密钥加密的所有数据将变得不可访问。该警告显示使用此密钥加密的所有池、项目和共享资源的列表。输入 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

相关主题