文档目录

密钥提供程序管理

密钥提供程序为虚拟机加密、硬盘加密和 vTPM 提供密钥服务。ZSphere 支持标准密钥提供程序和内置密钥提供程序。标准密钥提供程序需要与外部 KMS 建立双向信任;内置密钥提供程序由平台内置服务提供密钥能力。

创建加密资源或修改资源的加密状态时,平台使用默认密钥提供程序提供密钥。使用加密功能前,请确保默认密钥提供程序连接正常且密钥服务可用。内置密钥提供程序在使用前应完成备份,以便在平台故障或重建后恢复密钥服务。

添加标准密钥提供程序

支持添加外部密钥服务器(KMS)来辅助支持系统的各种加密能力,以此增强系统整体安全能力水平。KMS 必须支持密钥管理互操作协议(KMIP)1.1及以上标准。

前提条件

确保平台已安装高级版许可证,并且许可证出于有效状态。

操作步骤

  1. 在导航栏中,选择资源清单 > 主机与虚拟机。
  2. 选择根节点。
  3. 在根节点详情页,点击密钥提供程序。
  4. 在密钥提供程序子页面,点击添加密钥提供程序。
  5. 在添加密钥提供程序弹窗中,参考以下示例完成配置:
    配置项 说明
    名称 输入密钥提供程序名称
    Note: 每个密钥提供程序的名称将作为标识符,请确保名称全局唯一。
    简介 为密钥提供程序输入简要说明。
    类型 选择标准密钥提供程序。
    IP 地址/域名 输入 KMS 的 IP 地址或域名。
    端口 输入 KMS 的连接端口,默认为 5696。
    密码保护 一些 KMS 允许用户通过指定用户名和密码来隔离不同用户或组使用的加密密钥。开启后,输入对应的用户名和密码。
  6. 确认配置信息无误后,点击确定。
  7. 点击信任。
    添加成功后,密钥提供程序状态显示为"已连接|未被 KMS 信任"。

后续操作

使用 KMS 证书和私钥方式使 KMS 信任 ZSphere

某些 KMS 厂商要求将 KMS 服务器证书和私钥上传到 ZSphere。

操作步骤

  1. 导航至密钥提供程序页面。
  2. 找到要建立信任的标准密钥提供程序,点击操作 > 建立信任 > 使 KMS 信任。
  3. 在使 KMS 信任弹窗中,选择KMS 证书和私钥作为信任方式。
  4. 点击下一步。
  5. 将从 KMS 中收到的证书和私钥文件上传,或将证书和私钥内容粘贴至文本框中。
  6. 点击确定。

后续操作

建立双向信任,请参阅 ZSphere 信任 KMS。

使用新建证书签名请求 (CSR) 使 KMS 信任 ZSphere

某些 KMS 厂商要求 ZSphere 生成证书签名请求 (CSR) 并将该 CSR 提交到 KMS。KMS 将签署 CSR 并返回已签名证书。您需将签署后的证书重新上传至 ZSphere 以建立信任。

操作步骤

  1. 导航至密钥提供程序页面。
  2. 找到要建立信任的标准密钥提供程序,点击操作 > 建立信任 > 使 KMS 信任。
  3. 在使 KMS 信任弹窗中,选择新建证书签名请求 (CSR)作为信任方式。
  4. 点击下一步。
  5. 点击复制或下载,将文本框中的内容完整复制或作为文件下载。
    仅当您明确有生成新 CSR 的需求时,再使用生成新CSR。
  6. 点击确定。
  7. 登录 KMS 并按照 KMS 的要求提交 CSR。
  8. 在收到 KMS 签署后的证书时,再次点击操作 > 建立信任 > 上传签名CSR证书。
  9. 将签名证书粘贴至文本框中,或点击上传文件上传。

后续操作

建立双向信任,请参阅 ZSphere 信任 KMS。

ZSphere 信任 KMS

若您在添加标准密钥提供程序时跳过了信任 KMS 步骤,则您必须在完成 KMS 信任 ZSphere 后建立双向信任。

操作步骤

  1. 导航至密钥提供程序页面。
  2. 找到要建立信任的标准密钥提供程序,点击操作 > 建立信任。
  3. 从建立信任菜单中选择以下选项之一。
    • 信任KMS:在信任KMS弹窗中,点击信任。
    • 上传 KMS 证书:在上传 KMS 证书弹窗中,上传文件或将证书内容粘贴至文本框。然后点击确定。

删除标准密钥提供程序

前提条件

  • 当存在多个密钥提供程序时,默认密钥提供程序不可删除。请先将其他密钥提供程序设为默认,然后再执行删除操作。
  • 如需保留依赖此密钥提供程序的加密资源,请在删除前执行全局更新密钥操作,使用当前默认密钥提供程序的新 KEK 重新保护加密资源的 DEK。

操作步骤

  1. 在导航栏中,选择资源清单 > 主机与虚拟机。
  2. 选择根节点。
  3. 在根节点详情页,点击密钥提供程序。
  4. 在密钥提供程序子页面,选择要删除的标准密钥提供程序,然后点击操作 > 删除。
    Note: 删除密钥提供程序后,依赖此密钥提供程序的资源(如启用了 vTPM 的虚拟机、加密虚拟机和加密硬盘)将进入锁定状态且无法使用。
  5. 阅读风险提示信息,请输入确认信息后,点击确定。

使用 Thales 密钥提供程序

操作步骤

  1. 在 ZSphere 中添加 Thales 密钥提供程序。
    详细完整步骤请参阅 添加标准密钥提供程序。
  2. 在 Thales 中创建 localhost 用户并加入 admin 用户组。
    1. 登录 Thales 平台。
    2. 点击Access Management > Users > Add User。
      图 1. 添加用户


    3. 创建 localhost 用户。
      图 2. 创建localhost用户


    4. 点击用户名称,进入其详情页。
    5. 展开GROUP MEMBERSHIP区域,然后点击Add Group。
      图 3. 将用户添加至组


    6. 在Add member to group(s)弹窗中,勾选admin,然后点击Add Group。
  3. (可选)使用新建签名请求 (CSR) 方式使 Thales 信任 ZSphere。
    1. 登录 ZSphere。
    2. 导航至密钥提供程序页面。
    3. 找到添加的 Thales 标准密钥提供程序,点击操作 > 建立信任 > 使 KMS 信任。
    4. 在使 KMS 信任弹窗中,选择新建证书签名请求 (CSR)作为信任方式。
    5. 点击下一步。
    6. 复制 CSR 完整内容。
    7. 登录 Thales。
    8. 点击Products > KMIP。
      图 4. 进入KMIP模块


    9. 点击Client Profile > Add Profile。
      图 5. 添加Profile


    10. 在Add Profile弹窗中,设置 Profile 基础信息并粘贴 CSR 信息,然后点击Save。
      图 6. 配置Profile


    11. 点击Registration Token > New Registration Token。
      图 7. New Registration Token


    12. 在Create New Registration Token弹窗中,跟随操作引导完成配置。
      • 在第三步Select Profile中选择之前创建的 Profile。
      • 在第四步Create Token中复制创建出的 Token。
      图 8. 创建Token


    13. 点击Registered Clients > Add Client。
      图 9. Add Client


    14. 在Add Client弹窗中,设置 Client 名称并粘贴 Registration Token,然后点击Save。
      图 10. 配置Client


    15. 保存成功后,点击Save CSR和Save Certificate,下载 CSR 和证书。
      图 11. 下载CSR和证书


    16. 登录 ZSphere。
    17. 导航至密钥提供程序页面,然后点击操作 > 建立信任 > 上传签名CSR证书。
    18. 将从 Thales 下载的证书上传。
  4. (可选)使用 KMS 证书和私钥方式使 Thales 信任 ZSphere。
    1. 登录 Thales。
    2. 点击Products > KMIP。
      图 12. 进入KMIP模块


    3. 点击Client Profile > Add Profile。
      图 13. 添加Profile


    4. 在Add Profile弹窗中,设置 Profile 名称,然后点击Save。
      图 14. 添加Profile


    5. 点击Registration Token > New Registration Token。
      图 15. New Registration Token


    6. 在Create New Registration Token弹窗中,跟随操作引导完成配置。
      • 在第三步Select Profile中选择之前创建的 Profile。
      • 在第四步Create Token中复制创建出的 Token。
      图 16. 创建Token


    7. 点击Registered Clients > Add Client。
      图 17. Add Client


    8. 在Add Client弹窗中,设置 Client 名称并粘贴 Registration Token,然后点击Save。
      图 18. 配置Client


    9. 保存成功后,点击Save Certificate和Save Private Key,下载证书和私钥。
      图 19. 下载证书和私钥


    10. 登录 ZSphere。
    11. 导航至密钥提供程序页面。
    12. 找到添加的 Thales 标准密钥提供程序,点击操作 > 建立信任 > 使 KMS 信任。
    13. 在使 KMS 信任弹窗中,选择KMS 证书和私钥作为信任方式。
    14. 点击下一步。
    15. 上传从 Thales 下载的 KMS 证书和私钥。
    16. 点击确定。

使用 HashiCorp 密钥提供程序

操作步骤

  1. 在 ZSphere 中添加 HashiCorp 密钥提供程序。
    详细完整步骤请参阅 添加标准密钥提供程序。
  2. (可选)使用 KMS 证书和私钥方式使 HashiCorp 信任 ZSphere。
    1. 登录 HashiCorp。
    2. 点击Vault > Secrets Engines。
    3. 在Secrets Engines页面,点击kmip进入 KMIP 模块。
      图 20. 进入KMIP模块


    4. 在kmip页面,点击Create scope创建项目或进入已有项目。
      图 21. 创建或进入已有项目


    5. 在项目详情页中,点击Create role创建角色。
    6. 在Create a Role页面,设置角色名称并参考图例完成 TLS 配置。
      图 22. 创建角色


    7. 创建完成后,点击角色进入详情页,然后点击Generate credentials。
    8. 在Genetate Credentials页面,选择pem作为证书格式,然后点击Save。
      图 23. 生成证书


    9. 复制证书和私钥。
      图 24. 复制证书和私钥


    10. 登录 ZSphere。
    11. 导航至密钥提供程序页面。
    12. 找到添加的 HashiCorp 标准密钥提供程序,点击操作 > 建立信任 > 使 KMS 信任。
    13. 在使 KMS 信任弹窗中,选择KMS 证书和私钥作为信任方式。
    14. 点击下一步。
    15. 粘贴从 HashiCorp 复制的 KMS 证书和私钥。
    16. 点击确定。
  3. (可选)使用新建签名请求 (CSR) 方式使 HashiCorp 信任 ZSphere。
    1. 登录 HashiCorp 后台。
    2. 执行vault login,输入 token。
    3. 生成 CSR:
      vault write -format=json kmip/scope/test/role/admin/credential/sign csr="$(cat csr.pem)" | jq -r '.data.certificate' > client.crt
    4. 登录 ZSphere。
    5. 导航至密钥提供程序页面,然后点击操作 > 建立信任 > 上传签名CSR证书。
    6. 将获取的client.crt证书上传。

添加内置密钥提供程序

ZSphere 提供内置密钥提供程序,允许您无需第三方 KSM,也可启用加密相关的功能。

操作步骤

  1. 在导航栏中,选择资源清单 > 主机与虚拟机。
  2. 选择根节点。
  3. 在根节点详情页,点击密钥提供程序。
  4. 在密钥提供程序子页面,点击添加密钥提供程序。
  5. 在添加密钥提供程序弹窗中,参考以下示例完成配置:
    配置项 说明
    名称 输入密钥提供程序名称
    Note: 每个密钥提供程序的名称将作为标识符,请确保名称全局唯一。
    简介 为密钥提供程序输入简要说明。
    类型 选择内置密钥提供程序。
  6. 点击确定。
    添加成功后,密钥提供程序状态显示为"未备份"。

后续操作

添加内置密钥提供程序后,需先完成备份后再使用。有关更多信息,请参阅 备份内置密钥提供程序。

备份内置密钥提供程序

内置密钥提供程序仅存储在 ZSphere 中。一旦 ZSphere 发生故障或需要重建,密钥将随之丢失,依赖此密钥提供程序的加密资源将无法使用。因此,备份内置密钥提供程序是灾难恢复的必要环节。备份后,可以在重建 ZSphere 后恢复密钥服务,重新使用相关加密资源。

操作步骤

  1. 在导航栏中,选择资源清单 > 主机与虚拟机。
  2. 选择根节点。
  3. 在根节点详情页,点击密钥提供程序。
  4. 在密钥提供程序子页面,选择要备份的内置密钥提供程序。
    对于尚未备份的密钥提供程序,将显示为"未备份"状态。
  5. 点击操作 > 备份。
  6. 在备份密钥提供程序弹窗中,按需选择备份模式。
    配置项 说明
    直接备份
    Note: 未采用密码保护,会使其配置数据以及使用密钥提供程序加密的虚拟机面临潜在的安全风险。
    密码保护 输入并确认密码。
    Note:

    请妥善保存密码。平台无法访问或找回您设置的密码。若发生灾难,还原内置密钥提供程序时,需要使用此密码。

    如果忘记或丢失密码:

    • 将无法还原该密钥提供程序。
    • 将无法访问依赖此密钥提供程序的加密资源(如启用了 vTPM 的虚拟机、加密虚拟机和加密硬盘)。
  7. 点击确定。
    备份文件将通过浏览器下载,请将备份文件保存在一个安全的位置。

还原内置密钥提供程序

前提条件

  • 已提前准备好内置密钥提供程序的备份文件。
  • 若在备份密钥提供程序时,为备份文件设置了密码保护,请准备好备份文件的密码。
  • 确保平台上无相同名称的密钥提供程序。

操作步骤

  1. 在导航栏中,选择资源清单 > 主机与虚拟机。
  2. 选择根节点。
  3. 在根节点详情页,点击密钥提供程序。
  4. 在密钥提供程序子页面,点击更多操作 > 还原。
  5. 在还原密钥提供程序弹窗中,上传备份文件。
  6. (可选)若备份文件设置了密码保护,请输入密码。
  7. 点击下一步。
  8. 确认要还原的密钥提供程序信息,然后点击确定。

删除内置密钥提供程序

前提条件

  • 如需保留该密钥提供程序以备后续使用,请先进行备份。
  • 如需保留依赖此密钥提供程序的加密资源,请在删除前执行全局更新密钥操作,使用当前默认密钥提供程序的新 KEK 重新保护加密资源的 DEK。

操作步骤

  1. 在导航栏中,选择资源清单 > 主机与虚拟机。
  2. 选择根节点。
  3. 在根节点详情页,点击密钥提供程序。
  4. 在密钥提供程序子页面,选择要删除的内置密钥提供程序,然后点击操作 > 删除。
    Note:
    • 删除后,依赖此密钥提供程序的资源(如启用了 vTPM 的虚拟机、加密虚拟机和加密硬盘)将进入锁定状态且无法使用。
    • 密钥提供程序将从平台中永久删除,且无法恢复,请谨慎操作。
  5. 阅读风险提示信息,请输入确认信息后,点击确定。

更新密钥

出于定期密钥轮换、疑似密钥泄漏或安全合规等要求,可以对全局加密资源执行浅层重加密,使用当前默认密钥提供程序的新密钥加密密钥(KEK)重新保护数据加密密钥(DEK)。此操作不会替换 DEK,也不会重新加密实际业务数据。

前提条件

  • 确保当前默认密钥提供程序连接正常且密钥服务可用。
  • 确保全局加密资源原来依赖的密钥提供程序及相关密钥可用。

操作步骤

  1. 在导航栏中,选择资源清单 > 主机与虚拟机。
  2. 选择根节点。
  3. 在根节点详情页,点击密钥提供程序。
  4. 在密钥提供程序子页面,点击更多操作 > 更新密钥。
  5. 在确定要更新密钥?弹窗中,点击确定。
    平台对全局加密资源完成浅层重加密,使用当前默认密钥提供程序的新 KEK 重新包装 DEK,包括虚拟机、硬盘、硬盘快照、vTPM,以及回收站中的加密虚拟机和硬盘。资源的实际业务数据不会重新加密。
用户手册 | ZStack ZSphere · ZVF | ZStack 资源中心