7.2. 在 Key Manager 服务中添加 Trustway HSM 客户端


为密钥管理器服务构建一个新镜像,以集成所需的 Proteccio 软件。更新 RHOSO 时,您必须重复此步骤。创建 ansible playbook 以构建此镜像简化了为您的信任 HSM 配置 RHOSO 的过程。ansible-role-rhoso-Trustway-hsm RPM (属于 RHOSO 存储库的一部分)包含此 playbook 所需的角色。以下 playbook 自动化了配置 Trustway HSM 后端以使用 RHOSO Key Manager 服务所需的任务:

  • 从红帽源存储库下载 barbican-apibarbican-worker 镜像
  • 将 Trustway 客户端软件添加到镜像中
  • 将生成的镜像存储在您的目标存储库中
  • 为密钥管理器服务创建 OpenShift secret

playbook 使用您的 Trustway HSM 的密钥、证书和配置来创建两个 secret。一个名为 login_secret,其中包含您的 HSM 密码或 PIN。其他 secret 称为 proteccio_data_secret,其中包含您的证书、密钥和 proteccio.rc 配置文件。Red Hat OpenShift Container Platform (RHOCP)环境中需要这些 secret,以启用 Key Manager 服务和 HSM 之间的安全通信。您可以使用 Ansible playbook 来识别要复制到的客户端证书。

先决条件

  • Linux 的信任客户端镜像。有关获取此软件的详情,请联系 Eviden。
  • 可用的镜像服务,如内部可用的 Quay 服务,或一个带有 quay.io 的帐户。如需更多信息,请参阅在 OpenShift Container Platform 上部署 Red Hat Quay Operator
  • 信任 HSM 的客户端证书和密钥。
  • Trustway HSM 证书文件。
  • 您在工作站上运行命令,您可以在其中运行 Ansible playbook。

流程

  1. 使用 DNF 安装 ansible-role-rhoso-proteccio-hsm

    $ sudo dnf -y install ansible-role-rhoso-proteccio-hsm
  2. 将 Linux 的 Trustway 客户端镜像以及客户端证书和客户端密钥放在 /opt/proteccio 目录树中。

    $ cp <trustway_client_cert>.crt /opt/proteccio
    $ cp <Trustway_client_key>.key /opt/proteccio
    $ cp  <Proteccio3.06.05.iso> /opt/proteccio
    • <trustway_client_cert > 替换为客户端证书的文件名。
    • <trustway_client_key > 替换为客户端密钥的文件名。
    • <Proteccio3.06.05.iso > 替换为 Linux ISO 的信任客户端的名称。
  3. 从 HSM 设备检索服务器证书,并将其复制到 /opt/proceccio 目录中。有关从您的 Proteccio HSM 检索服务器证书的更多信息,请参阅厂商文档。
  4. 可选:如果您有一个以上的 HSM 用于 HA,请为每个 HSM 获取每个证书,并将它们完全放在 /opt/proteccio 目录中。
  5. 更新您的 proteccio.rc 文件,使其类似于如下:

    [PROTECCIO]
    IPaddr=<Trustway_HSM_IP_address>
    SSL=1
    SrvCert=<HSM_Certificate_Name>.CRT
    
    [CLIENT]
    Mode=0
    LoggingLevel=7
    LogFile=/var/log/barbican/proteccio.log
    StatusFile=/var/log/barbican/HSM_Status.log
    ClntKey=<Client_Certificate_Name>.key
    ClntCert=<Client_Certificate_Name>.crt
    • <Trustway_HSM_IP_Address > 替换为 Trustway HSM 的 IP 地址。
    • <HSM_Certificate_Name > 替换为信任证书的名称。
    • 在上面的文件中,Mode=0 表示只有一个 HSM 设备就位。
    • <Client_Certificate_Name > 替换为您的客户端证书名称。
  6. 可选: 如果要配置 HA,您必须为每个 HSM 的 IP 地址包含附加条目。每个新的 HSM 必须位于 [PROTECCIO] 部分。此外,您会将 [CLIENT] 中的 Mode 参数更改为 12 的值。如需更多信息,请参阅官方 Eviden 文档。

    [PROTECCIO]
    IPaddr=<Trustway_HSM-2_IP_address>
    SSL=1
    SrvCert=<HSM-2_Certificate_Name>.CRT
    
    [CLIENT]
    Mode=2
    • <Trustway_HSM-2_IP_Address > 替换为第二个信任 HSM 的 IP 地址。
    • 创建一个新的 [PROTECCIO] 部分,其中包含您环境中每个后续信任单元的对应参数。
  7. proteccio.rc 配置文件移到 /opt/proteccio

    $ mv proteccio.rc /opt/proteccio
  8. 创建名为 ansible-proteccio.yaml 的 playbook,其内容如下:

      vars:
        Trustway_client_name: <name>
        Trustway_server_cert_src: "/opt/trustway/<server.pem>"
        Trustway_partition_password: "<password>"
        Trustway_data_secret: "Trustway_data_secret"
        login_secret: "login_secret"
        barbican_dest_image_namespace: "<namespace>"
        proteccio_client_src: "file:///opt/proteccio/<iso_file>"
        proteccio_password: "{{ PIN to log into proteccio }}"
        kubeconfig_path: "<kubeconfig_path"
        oc_dir: "<directory>"
      roles:
        - rhoso_proteccio_hsm
    • < name> 替换为您的信任证书的名称。
    • <server.pem > 替换为服务器证书的名称。
    • <password > 替换为您的 HSM 分区密码。
    • <namespace > 替换为 Quay.io 或其他容器 registry 的帐户名称。
    • 将 < iso_file& gt; 的内容替换为 Proteccio 客户端 ISO 文件的名称。
    • 将 &lt ;kubeconfig_path > 的内容替换为 OpenShift 配置文件的完整路径。
    • <directory > 替换为 OpenShift 客户端位置的完整路径。
  9. 运行 playbook:

    $ ansible-playbook ansible-proteccio.yaml
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部