为 VPC 集群设置工作程序节点磁盘加密
虚拟私有云
缺省情况下,VPC 工作程序节点的一个主磁盘是由 底层 VPC 基础结构提供程序 静态加密的 AES-256 位。
在使用 Key Protect 单租户实例自带密钥(BYOK)加密启动盘和群集加密时,存在临时限制。 要在群集中使用单租户实例,必须确保其服务对服务授权策略的作用域是 Key Protect 服务或实例级别,而不是密钥或密钥环。 此限制仅适用于 Key Protect 单租户实例。
您可以在工作节点池级别启用 KMS 提供商,从而管理工作节点的加密设置。
-
确保在 IBM Cloud IAM 中具有以下服务授权策略 (在 KMS 实例所在的帐户下创建),并具有以下详细信息:
- Kubernetes Service 和 KMS 提供程序所需的服务访问策略
- 如果要授权访问 KMS 的集群位于当前帐户中,请为 此帐户 设置 源帐户,否则,如果集群位于其他帐户下,请选择 其他帐户 并提供帐户标识。
- 将 源服务 设置为 Kubernetes Service。
- 将 目标服务 设置为 KMS 提供程序,例如 Key Protect。
- 至少包含 读者 服务访问权。
- 允许源服务和依赖服务进行授权委托。
- Cloud Block Storage 和 KMS 提供者所需的服务访问策略
- 如果要授权访问 KMS 的集群位于当前帐户中,请为 此帐户 设置 源帐户,否则,如果集群位于其他帐户下,请选择 其他帐户 并提供帐户标识。
- 将 源服务 设置为 Cloud Block Storage。
- 将 目标服务 设置为 KMS 提供程序,例如 Key Protect。
- 至少包含 读者 服务访问权。
Red Hat OpenShift on IBM Cloud 自动为 IBM 管理的服务账户中的 Cloud Block Storage 服务创建服务对服务的委托策略,并将其转发到 KMS 实例和 CRK 所在账户下的 KMS 提供商实例。 需要使用此委托策略,以便 VPC 基础设施可以使用客户提供的 KMS 提供商根密钥对 IBM 管理的服务账户中的工作节点启动卷加密。 如果在部署工作程序节点时遇到问题,请验证 IAM 授权/....../......中是否存在此委托授权策略
- Kubernetes Service 和 KMS 提供程序所需的服务访问策略
-
可选:如果在 KMS 实例上启用了基于上下文的限制,请完成以下步骤。
- 创建一个网络区域,其中包括 Block Storage for VPC。
ibmcloud cbr zone-create --name example-zone-1 --description "Block Storage" --service-ref service_name=server-protect ``` 1. 创建引用上一步创建的网络区域的新 CBR 规则,或更新现有 CBR 规则。 有关更多信息,请参阅 [使用 CLI 创建规则](/docs/iam?topic=iam-context-restrictions-create&interface=cli#context-restrictions-create-rules-cli)。 -
创建包含 KMS 实例所在帐户,KMS 提供程序实例和根密钥的集群或工作程序池。 然后,工作程序池中的每个工作程序节点都将由您管理的 KMS 提供程序进行加密。 集群中的每个工作程序池都可以使用相同的 KMS 实例和根密钥,具有不同根密钥的相同 KMS 实例或不同的实例。
-
创建集群: 仅加密
default工作程序池的节点。 创建集群后,如果创建更多工作程序池,那么必须单独在每个池中启用加密。 有关更多信息,请参阅 创建集群 或 CLI 参考文档。 -
创建工作程序池: 有关更多信息,请参阅 创建 VPC 工作程序池 或 CLI 参考文档。
-
-
通过查看工作程序池详细信息来验证工作程序池是否已加密。
- 用户界面:从控制台选择集群后,点击 “工作池”。 然后,单击工作程序池。
- CLI: 查看以下命令的输出中的 KMS 和 CRK 字段。 请注意,只有在启用自带密钥(BYOK)加密时,才会显示 KMS 和 CRK 字段。
ibmcloud oc worker-pool get --worker-pool WORKER_POOL_NAME_OR_ID --cluster CLUSTER_NAME_OR_ID ``` -
可选: 根据贵公司的安全合规性准则定期 旋转根密钥。 有关更多信息,请参阅 VPC 文档中的 "管理加密" 主题。
请勿删除 KMS 实例。 无法更改用于加密工作程序池的 KMS 实例。 如果禁用或删除根密钥,那么工作程序节点将进入
critical状态,直到复原根密钥并 重新引导 工作程序节点为止。
现在,工作程序池中工作程序节点的磁盘的加密由 KMS 提供程序中的根密钥管理。 如果创建了集群,那么工作程序池是 default 工作程序池。