5.2. 启用 Tang 加密

先决条件

  • 您可以使用 Red Hat Enterprise Linux(RHEL)8 机器来生成 Tang Exchange 密钥的指纹。

流程

  1. 设置 Tang 服务器或访问现有服务器。具体步骤请查看 网络绑定磁盘加密。您可以设置多个 Tang 服务器,但 Assisted Installer 必须在安装过程中连接到所有它们。
  2. 在 Tang 服务器上,使用 tang-show-keys 检索 Tang 服务器的 thumbprint:

    $ tang-show-keys <port>

    可选:将 & lt;port > 替换为端口号。默认端口号为 80

    thumbprint 示例

    1gYTN_LpU9ZMB35yn5IbADY5OQ0

  3. 可选:使用 jose 获取 Tang 服务器的 thumbprint。

    1. 确保在 Tang 服务器中安装了 jose

      $ sudo dnf install jose
    2. 在 Tang 服务器上,使用 jose 检索 thumbprint:

      $ sudo jose jwk thp -i /var/db/tang/<public_key>.jwk

      <public_key > 替换为 Tang 服务器的公共交换密钥。

      thumbprint 示例

      1gYTN_LpU9ZMB35yn5IbADY5OQ0

  4. 可选:在用户界面向导的 Cluster details 步骤中,选择在 control plane 节点、worker 或这两个节点上启用 Tang 加密。您需要为 Tang 服务器输入 URL 和 thumbprints。
  5. 可选:使用 API,请遵循"修改主机"过程。

    1. 刷新 API 令牌:

      $ source refresh-token
    2. disk_encryption.enable_on 设置设置为 所有mastersworker。将 disk_encryption.mode 设置设置为 tang。设置 disk_encyrption.tang_servers,以提供一个或多个 Tang 服务器的 URL 和 thumbprint 详情:

      $ curl https://api.openshift.com/api/assisted-install/v2/clusters/${CLUSTER_ID} \
      -X PATCH \
      -H "Authorization: Bearer ${API_TOKEN}" \
      -H "Content-Type: application/json" \
      -d '
      {
        "disk_encryption": {
          "enable_on": "all",
          "mode": "tang",
          "tang_servers": "[{\"url\":\"http://tang.example.com:7500\",\"thumbprint\":\"PLjNyRdGw03zlRoGjQYMahSZGu9\"},{\"url\":\"http://tang2.example.com:7500\",\"thumbprint\":\"XYjNyRdGw03zlRoGjQYMahSZGu3\"}]"
        }
      }
      ' | jq

      enable_on 的有效设置 都是masterworkernone。在 tang_servers 值中,注释掉对象中的引号。