IBM Cloud Docs
使用密钥部件文件初始化服务实例

使用密钥部件文件初始化服务实例

在可以使用 Hyper Protect Crypto Services 实例之前,需要首先通过装入主密钥来初始化服务实例。 本主题指导您完成通过 IBM Cloud TKE CLI 插件使用密钥部分文件来初始化服务实例的步骤。

有关服务实例初始化方法和相关基本概念的简介,请参阅 初始化服务实例引入服务实例初始化方法

下图概述了使用存储在文件中的主密钥部件来初始化服务实例所需的步骤。单击图上的每个步骤可获取详细指示信息。

单击每个步骤以获取有关流的更多详细信息。
图 1。 使用 TKE CLI 插件初始化服务实例的任务流
安装 IBM Cloud CLI 登录到 IBM Cloud 安装 TKE CLI 插件 设置密钥文件的
本地目录 显示指定的
加密单元 添加加密
单元 创建一个或多个签名密钥 管理加密单元管理员 在目标加密单元中添加一个或多个管理员 设置定额认证阈值以退出目标加密单元中的印记方式 创建一组要使用的主密钥部件 装入主密钥寄存器 装入新的主密钥寄存器 落实新的
主密钥寄存器 激活主密钥

您还可以观看以下视频以了解如何使用 IBM Cloud TKE CLI 插件初始化 Hyper Protect Crypto Services 实例:

您负责保护用于初始化 Hyper Protect Crypto Services 实例的资产。 有关最佳实践,请参阅 常见问题

准备工作

在启动实例初始化之前,请确保完成 先决条件步骤

为服务初始化选择目标加密单元

分配给 IBM Cloud 用户帐户的加密单元位于称为服务实例的组中。 一个服务实例最多可以有六个 操作加密单元。 需要配置服务实例中的所有加密单元。 如果无法访问实例所在区域中的一个可用性区域,那么可互换使用操作加密单元以实现负载均衡或高可用性。

分配给 IBM Cloud 用户的加密单元将以称为 印记方式An operational mode in which crypto units are assigned to a user.的已清除状态启动。

单个服务实例中所有加密单元中的主密钥寄存器必须按相同方式进行设置。 必须在所有加密单元中添加同一组管理员,并且所有加密单元必须同时退出印记模式。

  • 要在当前用户帐户下显示目标资源组中的服务实例和加密单元,请使用以下命令:

    ibmcloud tke cryptounits
    

    以下输出是显示的示例。 输出表中的 SELECTED 列标识 TKE CLI 插件发出的后续管理命令所针对的加密单元。

    SERVICE INSTANCE: 482cf2ce-a06c-4265-9819-0b4acf54f2ba
    CRYPTO UNIT NUM   SELECTED   TYPE           LOCATION
    1                 false      OPERATIONAL    [us-south].[AZ3-CS3].[02].[03]
    2                 false      OPERATIONAL    [us-south].[AZ2-CS2].[02].[03]
    3                 false      FAILOVER       [us-east].[AZ2-CS2].[03].[04]
    4                 false      FAILOVER       [us-east].[AZ3-CS3].[01].[07]
    
    SERVICE INSTANCE: 96fe3f8d-9792-45bc-a9fb-2594222deaf2
    CRYPTO UNIT NUM   SELECTED   TYPE           LOCATION
    5                 false      OPERATIONAL    [us-south].[AZ1-CS4].[00].[03]
    6                 false      OPERATIONAL    [us-south].[AZ2-CS5].[03].[03]
    
  • 要向所选加密单元列表添加额外的加密单元,请使用以下命令:

    ibmcloud tke cryptounit-add
    

    此时将显示当前用户帐户下目标资源组中的加密单元的列表。 在系统提示时,输入要添加到选定加密单元列表中的加密单元编号的列表。

    如果使用 failover crypto units 启用跨区域高可用性,请确保将所有故障转移加密单元添加到所选列表以进行实例初始化。

    如果未初始化和配置与操作加密单元相同的故障转移加密单元,那么在发生区域灾难时,无法使用故障转移加密单元进行自动数据复原。 有关跨区域灾难恢复的更多信息,请参阅 高可用性和灾难恢复

    如果您正在使用公用网络,那么不会列出与网络策略设置为 private-only 的服务实例相关联的加密单元。 只能通过专用网络访问专用加密单元。 有关设置仅专用连接的更多信息,请参阅 将 TKE 插件的专用端点作为目标

  • 要从选定加密单元列表中除去加密单元,请使用以下命令:

    ibmcloud tke cryptounit-rm
    

    此时将显示当前用户帐户下目标资源组中的加密单元的列表。 在系统提示时,输入要从选定加密单元列表中除去的加密单元编号的列表。

    通常,会选择服务实例中的所有加密单元或不选择任何加密单元。 此操作会导致以后的管理命令以一致方式更新服务实例的所有加密单元。 但是,如果服务实例的加密单元变为有不同的配置,就需要逐个选择并使用加密单元以将一致的配置复原到服务实例中的所有加密单元。

    您可以使用以下命令比较选定加密单元的配置设置:

    ibmcloud tke cryptounit-compare
    

装入主密钥

要能够装入新的主密钥寄存器,请先在目标加密单元中添加一个或多个管理员,然后退出印记模式。

要装入新的主密钥寄存器,请使用 IBM Cloud CLI 插件完成以下任务:

第 1 步:创建一个或多个签名密钥

要装入新的主密钥寄存器,加密单元管理员必须使用唯一签名密钥来对命令签名。 第一步是在工作站上创建一个或多个包含签名密钥的签名密钥文件。

出于安全考虑,签名密钥所有者可以是与主密钥部件所有者不同的人员。 签名密钥所有者需要是唯一知道与签名密钥文件关联的密码的人员。

  • 要显示工作站上的现有签名密钥,请使用以下命令:

    ibmcloud tke sigkeys
    
  • 要在工作站上创建并保存新的签名密钥,请使用以下命令:

    ibmcloud tke sigkey-add
    

    在系统提示时,输入用于保护签名密钥文件的管理员名称和密码。 您必须记住密码。 如果密码丢失,那么无法使用签名密钥。

    如果需要,请重复该命令以创建多个签名密钥。

  • 要选择管理员以签署将来的命令,请使用以下命令:

    ibmcloud tke sigkey-sel
    

    将显示在工作站上找到的签名密钥的列表。 提示时,输入签名密钥文件的密钥编号,以选择对将来的管理命令进行签名。 提示时,输入签名密钥文件的密码。

    此命令确定允许哪些签名密钥对将来的命令进行签名。 您可以选择的签名密钥文件的数量没有限制。 如果选择的签名密钥多于对命令进行签名所需的签名密钥,那么将在执行命令时确定所使用的实际签名密钥。

    您还可以使用第三方签名服务来提供签名密钥。 有关更多信息,请参阅 使用签名服务来管理用于实例初始化的签名密钥

第 2 步:在目标加密单元中添加一个或多个管理员

  • 要显示加密单元的现有管理员,请使用以下命令:

    ibmcloud tke cryptounit-admins
    
  • 要添加管理员,请使用以下命令:

    ibmcloud tke cryptounit-admin-add
    

    将显示在工作站上找到的签名密钥文件的列表。

    在系统提示时,选择与要添加的加密单元管理员关联的签名密钥文件。 然后输入选定的签名密钥文件的密码。

    如果需要,您可以重复该命令以添加额外的加密单元管理员。

    您添加到加密单元的管理员数量需要等于或大于您打算在 步骤 3 中设置的签名阈值和撤销签名阈值。 例如,如果要将签名阈值或撤销签名阈值设置为两个,那么需要将至少两个管理员添加到加密单元。 最多可以向一个加密单元添加 8 个管理员。

    请勿从工作站中除去管理员签名密钥文件。 否则,您无法执行需要签名的 TKE 操作,例如,将加密单元清零和旋转主密钥。

    在印记方式下,不需要签署用于添加加密单元管理员的命令。 加密单元离开印记方式后,加密单元的签名阈值会确定必须有多少加密单元管理员对该命令进行签名。

    出于安全和合规性原因,出于审计目的,可能会在日志中显示加密单元的管理员名称。

步骤 3: 设置定额认证阈值以退出目标加密单元中的印记方式

处于印记方式的加密单元被视为不安全。 无法以印记方式运行大多数管理命令,例如装入新的主密钥寄存器。

在添加一个或多个加密单元管理员之后,使用以下命令退出印记模式:

ibmcloud tke cryptounit-thrhld-set

出现提示时,请输入签名阈值和撤销签名阈值的值。 签名阈值控制执行大多数管理命令所需的签名数。 撤销签名阈值控制在您保留印记方式后除去管理员所需的签名数。 某些命令只需要一个签名,而不考虑如何设置签名阈值。

签名阈值必须是 1 到 8 之间的数字。 签名阈值和撤销签名阈值可以不同。 将签名阈值设置为大于 1 的值是对敏感操作实施 定额认证 的一种方法,包括落实主密钥寄存器,更改签名阈值以及在加密单元退出印记方式后添加或除去管理员。

用于退出印记方式的命令必须由新签名阈值指定的任意数目的管理员进行签名。 在加密单元离开印记方式后,必须对加密单元的所有命令进行签名。 在加密单元退出印记方式后,您仍可以使用 cryptounit-thrhld-set 命令来更改加密单元上的签名阈值。 要显示当前签名阈值,请运行 ibmcloud tke cryptounit-thrhlds 命令。

第 4 步:创建一组要使用的主密钥部件

在工作站上,每个主密钥部件都保存在密码保护的文件中。

必须至少创建两个主密钥部件。 出于安全考虑,最多可以使用三个主密钥部件,每个密钥部件可以由不同的人员拥有。 密钥部件所有者需要是唯一知道与密钥部件文件关联的密码的人员。

  • 要显示工作站上的现有主密钥部件,请使用以下命令:

    ibmcloud tke mks
    
  • 要在工作站上创建并保存随机主密钥部件,请使用命令:

    ibmcloud tke mk-add --random
    

    在系统提示时,输入对密钥部件的描述以及用于保护密钥部件文件的密码。 您必须记住密码。 如果密码丢失,那么不能使用密钥部件。

  • 要输入已知的密钥部件值并将其保存在工作站的文件中,请使用以下命令:

    ibmcloud tke mk-add --value
    

    在系统提示时,为 32 字节密钥部件输入十六进制字符串形式的密钥部件值。 然后输入对密钥部件的描述和用于保护密钥部件文件的密码。

第 5 步:装入新的主密钥寄存器

要装入主密钥寄存器,公共工作站上必须存在要使用的所有主密钥部件文件和签名密钥文件。 如果这些文件是在不同的工作站中创建的,请确保使用不同的文件名以避免冲突。 在公共工作站上装入主密钥寄存器时,主密钥部分文件所有者和签名密钥文件所有者需要输入文件密码。

有关如何装入主密钥的信息,请参阅 主密钥寄存器 中的详细插图。

要装入新的主密钥寄存器,请使用以下命令:

ibmcloud tke cryptounit-mk-load

将显示在工作站上找到的主密钥部件的列表。

提示时,输入要装入到新主密钥寄存器中的密钥部件,要使用的签名密钥文件的密码以及每个所选密钥部件文件的密码。 对于此命令,仅需要一个签名密钥。

第 6 步:落实新的主密钥寄存器

确保在 步骤 5 之后立即完成此步骤,以将新的主密钥寄存器移至 Full committed 状态。 否则,您将无法初始化服务实例或使用 GREP11 API 或 PKCS #11 API 执行加密操作。

装入新的主密钥寄存器会使新的主密钥寄存器处于 Full uncommitted 状态。 在可以使用新的主密钥寄存器来初始化或重新加密密钥存储器之前,请将新的主密钥寄存器置于已落实状态。 有关如何装入主密钥的信息,请参阅 主密钥寄存器 中的详细插图。

要落实新的主密钥寄存器,请使用以下命令:

ibmcloud tke cryptounit-mk-commit

提示时,输入要使用的签名密钥文件的密码。 需要一组完整的签名来强制实施定额认证。

第 7 步:激活主密钥

使用以下命令将主密钥移动到当前主密钥寄存器,以激活主密钥:

ibmcloud tke cryptounit-mk-setimm

将显示一条消息,询问是否接受新的主密钥。

在执行操作之前,请考虑以下事项:

  • 如果这是您第一次初始化服务实例,那么可以忽略此消息,然后输入 y 以继续。
  • 如果您已开始使用服务实例管理密钥,并且希望重新装入先前使用的主密钥,请确保没有任何密钥管理操作正在进行,然后输入 y 以继续。
  • 如果您已开始使用服务实例管理密钥,并且希望装入新的主密钥,请输入 N 以取消。 有关轮换主密钥的更多信息,请参阅 轮换主密钥

提示时,输入要使用的签名密钥文件的密码。 对于此命令,只需要一个签名密钥,因为该密钥在步骤 6 中已可用。 主密钥可以成为活动的 wthout 管理员签名。

下一步

  • 有关 TKE CLI 插件命令的其他选项的更多详细信息,请在 CLI 中运行以下命令:

    ibmcloud tke help
    
  • 转至实例仪表板的 KMS 密钥 选项卡以 管理根密钥和标准密钥。 要了解有关以编程方式管理密钥的更多信息,请查看 Hyper Protect Crypto Services 密钥管理服务 API 参考文档

  • 要了解有关使用云 HSM 执行加密操作的更多信息,请参阅 Cloud HSM 简介

  • 使用 Hyper Protect Crypto Services 作为其他 IBM Cloud 服务的根密钥提供程序。 有关集成 Hyper Protect Crypto Services 的更多信息,请查看集成服务

  • 有关如何轮换主密钥的信息,请参阅 使用密钥部件文件轮换主密钥