8.5. 使用 NBDE Tang Server Operator 配置和管理 Tang 服务器


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

8.5.1. 使用 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 控制台中导航至 Operators OperatorHub
  2. 选择 Project,然后点 Create Project

    在 web 控制台中创建项目
  3. Create Project 页面中,填写所需信息,例如:

    Create Project 页面上的值示例
  4. Create
  5. NBDE Tang 服务器副本需要持久性卷声明 (PVC) 来存储加密密钥。在 Web 控制台中,进入到 Storage PersistentVolumeClaims

    Storage 菜单中的 PersistentVolumeClaims
  6. 在以下 PersistentVolumeClaims 屏幕上,点 Create PersistentVolumeClaim
  7. Create PersistentVolumeClaim 页面中,选择一个适合您的部署场景的存储。考虑要轮转加密密钥的频率。为您的 PVC 命名并选择声明的存储容量,例如:

    创建 PersistentVolumeClaims 页面
  8. 进入到 Operators Installed Operators,然后点 NBDE Tang Server
  9. 单击 Create instance

    创建 NBDE Tang 服务器实例
  10. Create TangServer 页面中,选择 Tang Server 实例的名称,副本数,并指定之前创建的持久性卷声明的名称,例如:

    创建 TangServer 页面
  11. 在输入所需的值后,将更改设置与场景中的默认值不同,点 Create

8.5.2. 使用 NBDE Tang Server Operator 轮转密钥

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

先决条件

  • 您必须在 OpenShift Container Platform 集群中具有 cluster-admin 权限。
  • 您已在 OpenShift 集群中使用 NBDE Tang Server Operator 部署了 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 的 key-rotation 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 thumbprint 来轮转它。
  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
    …

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

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

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

先决条件

  • 您必须在 OpenShift Container Platform 集群中具有 cluster-admin 权限。
  • 您已在 OpenShift 集群中使用 NBDE Tang Server Operator 部署了 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 的 hidden-keys-deletion 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:
    …

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.