5.2. 启用 Tang 加密
先决条件
- 您可以使用 Red Hat Enterprise Linux(RHEL)8 机器来生成 Tang Exchange 密钥的指纹。
流程
- 设置 Tang 服务器或访问现有服务器。具体步骤请查看 网络绑定磁盘加密。您可以设置多个 Tang 服务器,但 Assisted Installer 在安装过程中需要可以连接到所有 Tang 服务器。
在 Tang 服务器上,使用
tang-show-keys
检索 Tang 服务器的 thumbprint:$ tang-show-keys <port>
可选:将
<port>
替换为端口号。默认端口号为80
。thumbprint 示例
1gYTN_LpU9ZMB35yn5IbADY5OQ0
可选:使用
jose
获取 Tang 服务器的 thumbprint。确保在 Tang 服务器中安装了
jose
:$ sudo dnf install jose
在 Tang 服务器上,使用
jose
检索 thumbprint:$ sudo jose jwk thp -i /var/db/tang/<public_key>.jwk
将
<public_key>
替换为 Tang 服务器的公共交换密钥。thumbprint 示例
1gYTN_LpU9ZMB35yn5IbADY5OQ0
- 可选:在用户界面向导的 Cluster details 步骤中,选择在 control plane 节点、worker 或这两个节点上启用 Tang 加密。您需要为 Tang 服务器输入 URL 和 thumbprints。
可选:使用 API,请遵循"修改主机"过程。
刷新 API 令牌:
$ source refresh-token
将
disk_encryption.enable_on
设置设置为all
,masters
, 或workers
。将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
的有效设置是all
,master
,worker
, 或none
。在tang_servers
值中,注释掉对象中的引号。