3.3. 在使用 KMS 时启用和禁用密钥轮转


安全常见实践需要定期加密密钥轮转。在使用 KMS 时,您可以启用或禁用密钥轮转。

3.3.1. 启用密钥轮转

要启用密钥轮转,请将注解 keyrotation.csiaddons.openshift.io/schedule: <value> 添加到 PersistentVolumeClaims ,Namespace, 或 StorageClass (以优先级顺序减少)。

<value > 可以是 @hourly@daily@weekly@monthly@yearly。如果 <value > 为空,则默认为 @weekly。以下示例使用 @weekly

重要

只支持 RBD 支持的卷的密钥轮转。

注解命名空间

$ oc get namespace default
NAME      STATUS   AGE
default   Active   5d2h
Copy to Clipboard Toggle word wrap
$ oc annotate namespace default "keyrotation.csiaddons.openshift.io/schedule=@weekly"
namespace/default annotated
Copy to Clipboard Toggle word wrap

Annotating StorageClass

$ oc get storageclass rbd-sc
NAME       PROVISIONER        RECLAIMPOLICY   VOLUMEBINDINGMODE   ALLOWVOLUMEEXPANSION   AGE
rbd-sc     rbd.csi.ceph.com   Delete          Immediate           true                   5d2h
Copy to Clipboard Toggle word wrap
$ oc annotate storageclass rbd-sc "keyrotation.csiaddons.openshift.io/schedule=@weekly"
storageclass.storage.k8s.io/rbd-sc annotated
Copy to Clipboard Toggle word wrap

注解 PersistentVolumeClaim

$ oc get pvc data-pvc
NAME      STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS      AGE
data-pvc  Bound    pvc-f37b8582-4b04-4676-88dd-e1b95c6abf74   1Gi        RWO            default           20h
Copy to Clipboard Toggle word wrap
$ oc annotate pvc data-pvc "keyrotation.csiaddons.openshift.io/schedule=@weekly"
persistentvolumeclaim/data-pvc annotated
Copy to Clipboard Toggle word wrap
$ oc get encryptionkeyrotationcronjobs.csiaddons.openshift.io
NAME                    SCHEDULE    SUSPEND   ACTIVE   LASTSCHEDULE   AGE
data-pvc-1642663516   @weekly                                     3s
Copy to Clipboard Toggle word wrap
$ oc annotate pvc data-pvc "keyrotation.csiaddons.openshift.io/schedule=*/1 * * * *" --overwrite=true
persistentvolumeclaim/data-pvc annotated
Copy to Clipboard Toggle word wrap
$ oc get encryptionkeyrotationcronjobs.csiaddons.openshift.io
NAME                  SCHEDULE    SUSPEND   ACTIVE   LASTSCHEDULE   AGE
data-pvc-1642664617   */1 * * * *                                   3s
Copy to Clipboard Toggle word wrap

3.3.2. 禁用密钥轮转

您可以为以下内容禁用密钥轮转:

  • 所有存储类的持久性卷声明(PVC)
  • 特定的 PVC

为存储类的所有 PVC 禁用密钥轮转

要禁用所有 PVC 的密钥轮转,请更新存储类的注解:

$ oc get storageclass rbd-sc
NAME       PROVISIONER        RECLAIMPOLICY   VOLUMEBINDINGMODE   ALLOWVOLUMEEXPANSION   AGE
rbd-sc     rbd.csi.ceph.com   Delete          Immediate           true                   5d2h
Copy to Clipboard Toggle word wrap
$ oc annotate storageclass rbd-sc "keyrotation.csiaddons.openshift.io/enable: false"
storageclass.storage.k8s.io/rbd-sc annotated
Copy to Clipboard Toggle word wrap

为特定持久性卷声明禁用密钥轮转

  1. 为您要禁用密钥轮转的 PVC 识别 EncryptionKeyRotationCronJob CR:

    $ oc get encryptionkeyrotationcronjob -o jsonpath='{range .items[?(@.spec.jobTemplate.spec.target.persistentVolumeClaim=="<PVC_NAME>")]}{.metadata.name}{"\n"}{end}'
    Copy to Clipboard Toggle word wrap

    其中 <PVC_NAME > 是您要禁用的 PVC 名称。

  2. 将以下内容应用到上一步中的 EncryptionKeyRotationCronJob CR,以禁用密钥轮转:

    1. csiaddons.openshift.io/state 注解从 managed 更新到 unmanaged

      $ oc annotate encryptionkeyrotationcronjob <encryptionkeyrotationcronjob_name> "csiaddons.openshift.io/state=unmanaged" --overwrite=true
      Copy to Clipboard Toggle word wrap

      其中 <encryptionkeyrotationcronjob_name> 是 EncryptionKeyRotationCronJob CR 的名称。

    2. spec 字段中添加 suspend: true

      $ oc patch encryptionkeyrotationcronjob <encryptionkeyrotationcronjob_name> -p '{"spec": {"suspend": true}}' --type=merge.
      Copy to Clipboard Toggle word wrap
  3. 保存并退出。PVC 将禁用密钥轮转。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat