使用NBDE Tang Server Operator,您可以部署并快速配置Tang服务器。在已部署的Tang服务器上,您可以列出现有密钥并轮换它们。
您可以使用Web控制台中的NBDE Tang Server Operator部署并快速配置一个或多个Tang服务器。
您必须在OpenShift Container Platform集群上拥有cluster-admin
权限。
您已在OCP集群上安装了NBDE Tang Server Operator。
在OpenShift Container Platform Web控制台中,导航到**操作符** → **OperatorHub**。
选择**项目**,然后单击**创建项目**
在“创建项目”页面上,填写所需信息,例如
单击**创建**。
NBDE Tang Server副本需要一个持久卷声明 (PVC) 来存储加密密钥。在Web控制台中,导航到**存储** → **PersistentVolumeClaims**
在接下来的“PersistentVolumeClaims”屏幕上,单击**创建PersistentVolumeClaim**。
在“创建PersistentVolumeClaim”页面上,选择适合您的部署场景的存储。考虑您希望多久轮换一次加密密钥。命名您的PVC并选择声明的存储容量,例如
导航到**操作符** → **已安装的操作符**,然后单击**NBDE Tang Server**。
单击**创建实例**。
在“创建TangServer”页面上,选择Tang Server实例的名称、副本数量,并指定之前创建的持久卷声明的名称,例如
输入所需值后,更改与您方案中默认值不同的设置,然后单击**创建**。
使用NBDE Tang Server Operator,您还可以轮换Tang服务器密钥。您应该轮换它们的精确间隔取决于您的应用程序、密钥大小和机构策略。
您必须在OpenShift Container Platform集群上拥有cluster-admin
权限。
您已使用NBDE Tang Server Operator在OpenShift集群上部署了Tang服务器。
您已安装OpenShift CLI (oc
)。
列出Tang服务器上的现有密钥,例如
$ oc -n nbde describe tangserver
…
Status:
Active Keys:
File Name: QS82aXnPKA4XpfHr3umbA0r2iTbRcpWQ0VI2Qdhi6xg
Generated: 2022-02-08 15:44:17.030090484 +0000
sha1: PvYQKtrTuYsMV2AomUeHrUWkCGg
sha256: QS82aXnPKA4XpfHr3umbA0r2iTbRcpWQ0VI2Qdhi6xg
…
创建一个YAML文件,用于将您的活动密钥移动到隐藏密钥,例如minimal-keyretrieve-rotate-tangserver.yaml
apiVersion: daemons.redhat.com/v1alpha1
kind: TangServer
metadata:
name: tangserver
namespace: nbde
finalizers:
- finalizer.daemons.tangserver.redhat.com
spec:
replicas: 1
hiddenKeys:
- sha1: "PvYQKtrTuYsMV2AomUeHrUWkCGg" (1)
1 | 指定活动密钥的SHA-1指纹以轮换它。 |
应用YAML文件
$ oc apply -f minimal-keyretrieve-rotate-tangserver.yaml
根据您的配置,经过一段时间后,检查之前的activeKey
值是否为新的hiddenKey
值,以及activeKey
密钥文件是否为新生成的,例如
$ oc -n nbde describe tangserver
…
Spec:
Hidden Keys:
sha1: PvYQKtrTuYsMV2AomUeHrUWkCGg
Replicas: 1
Status:
Active Keys:
File Name: T-0wx1HusMeWx4WMOk4eK97Q5u4dY5tamdDs7_ughnY.jwk
Generated: 2023-10-25 15:38:18.134939752 +0000
sha1: vVxkNCNq7gygeeA9zrHrbc3_NZ4
sha256: T-0wx1HusMeWx4WMOk4eK97Q5u4dY5tamdDs7_ughnY
Hidden Keys:
File Name: .QS82aXnPKA4XpfHr3umbA0r2iTbRcpWQ0VI2Qdhi6xg.jwk
Generated: 2023-10-25 15:37:29.126928965 +0000
Hidden: 2023-10-25 15:38:13.515467436 +0000
sha1: PvYQKtrTuYsMV2AomUeHrUWkCGg
sha256: QS82aXnPKA4XpfHr3umbA0r2iTbRcpWQ0VI2Qdhi6xg
…
轮换Tang服务器密钥后,之前的活动密钥将变为隐藏密钥,并且不再由Tang实例公布。您可以使用NBDE Tang Server Operator删除不再使用的加密密钥。
除非您确定所有绑定的 Clevis 客户端都在使用新的密钥,否则请不要移除任何隐藏密钥。
您必须在OpenShift Container Platform集群上拥有cluster-admin
权限。
您已使用NBDE Tang Server Operator在OpenShift集群上部署了Tang服务器。
您已安装OpenShift CLI (oc
)。
列出Tang服务器上的现有密钥,例如
$ oc -n nbde describe tangserver
…
Status:
Active Keys:
File Name: PvYQKtrTuYsMV2AomUeHrUWkCGg.jwk
Generated: 2022-02-08 15:44:17.030090484 +0000
sha1: PvYQKtrTuYsMV2AomUeHrUWkCGg
sha256: QS82aXnPKA4XpfHr3umbA0r2iTbRcpWQ0VI2Qdhi6xg
…
创建一个 YAML 文件来移除所有隐藏密钥,例如,hidden-keys-deletion-tangserver.yaml
apiVersion: daemons.redhat.com/v1alpha1
kind: TangServer
metadata:
name: tangserver
namespace: nbde
finalizers:
- finalizer.daemons.tangserver.redhat.com
spec:
replicas: 1
hiddenKeys: [] (1)
1 | hiddenKeys 条目的值为空数组表示您希望在 Tang 服务器上不保留任何隐藏密钥。 |
应用YAML文件
$ oc apply -f hidden-keys-deletion-tangserver.yaml
根据您的配置,过一段时间后,检查之前的活动密钥是否仍然存在,但没有可用的隐藏密钥,例如
$ oc -n nbde describe tangserver
…
Spec:
Hidden Keys:
sha1: PvYQKtrTuYsMV2AomUeHrUWkCGg
Replicas: 1
Status:
Active Keys:
File Name: T-0wx1HusMeWx4WMOk4eK97Q5u4dY5tamdDs7_ughnY.jwk
Generated: 2023-10-25 15:38:18.134939752 +0000
sha1: vVxkNCNq7gygeeA9zrHrbc3_NZ4
sha256: T-0wx1HusMeWx4WMOk4eK97Q5u4dY5tamdDs7_ughnY
Status:
Ready: 1
Running: 1
Service External URL: http://35.222.247.84:7500/adv
Tang Server Error: No
Events:
…