×

使用NBDE Tang Server Operator,您可以部署并快速配置Tang服务器。在已部署的Tang服务器上,您可以列出现有密钥并轮换它们。

使用NBDE Tang Server Operator部署Tang服务器

您可以使用Web控制台中的NBDE Tang Server Operator部署并快速配置一个或多个Tang服务器。

先决条件
  • 您必须在OpenShift Container Platform集群上拥有cluster-admin权限。

  • 您已在OCP集群上安装了NBDE Tang Server Operator。

步骤
  1. 在OpenShift Container Platform Web控制台中,导航到**操作符** → **OperatorHub**。

  2. 选择**项目**,然后单击**创建项目**

    Create Project in the web console
  3. 在“创建项目”页面上,填写所需信息,例如

    Example values on the Create Project page
  4. 单击**创建**。

  5. NBDE Tang Server副本需要一个持久卷声明 (PVC) 来存储加密密钥。在Web控制台中,导航到**存储** → **PersistentVolumeClaims**

    PersistentVolumeClaims in the Storage menu
  6. 在接下来的“PersistentVolumeClaims”屏幕上,单击**创建PersistentVolumeClaim**。

  7. 在“创建PersistentVolumeClaim”页面上,选择适合您的部署场景的存储。考虑您希望多久轮换一次加密密钥。命名您的PVC并选择声明的存储容量,例如

    Create PersistentVolumeClaims page
  8. 导航到**操作符** → **已安装的操作符**,然后单击**NBDE Tang Server**。

  9. 单击**创建实例**。

    Create NBDE Tang Server instance
  10. 在“创建TangServer”页面上,选择Tang Server实例的名称、副本数量,并指定之前创建的持久卷声明的名称,例如

    Create TangServer page
  11. 输入所需值后,更改与您方案中默认值不同的设置,然后单击**创建**。

使用NBDE Tang Server Operator轮换密钥

使用NBDE Tang Server Operator,您还可以轮换Tang服务器密钥。您应该轮换它们的精确间隔取决于您的应用程序、密钥大小和机构策略。

先决条件
  • 您必须在OpenShift Container Platform集群上拥有cluster-admin权限。

  • 您已使用NBDE Tang Server Operator在OpenShift集群上部署了Tang服务器。

  • 您已安装OpenShift CLI (oc)。

步骤
  1. 列出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
    …
  2. 创建一个YAML文件,用于将您的活动密钥移动到隐藏密钥,例如minimal-keyretrieve-rotate-tangserver.yaml

    tang-operator的示例密钥轮换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指纹以轮换它。
  3. 应用YAML文件

    $ oc apply -f minimal-keyretrieve-rotate-tangserver.yaml
验证
  1. 根据您的配置,经过一段时间后,检查之前的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
    …

使用NBDE Tang Server Operator删除隐藏密钥

轮换Tang服务器密钥后,之前的活动密钥将变为隐藏密钥,并且不再由Tang实例公布。您可以使用NBDE Tang Server Operator删除不再使用的加密密钥。

警告

除非您确定所有绑定的 Clevis 客户端都在使用新的密钥,否则请不要移除任何隐藏密钥。

先决条件
  • 您必须在OpenShift Container Platform集群上拥有cluster-admin权限。

  • 您已使用NBDE Tang Server Operator在OpenShift集群上部署了Tang服务器。

  • 您已安装OpenShift CLI (oc)。

步骤
  1. 列出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
    …
  2. 创建一个 YAML 文件来移除所有隐藏密钥,例如,hidden-keys-deletion-tangserver.yaml

    tang-operator 的隐藏密钥删除 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 服务器上不保留任何隐藏密钥。
  3. 应用YAML文件

    $ oc apply -f hidden-keys-deletion-tangserver.yaml
验证
  1. 根据您的配置,过一段时间后,检查之前的活动密钥是否仍然存在,但没有可用的隐藏密钥,例如

    $ 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:
    …