为 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。
- 至少包含 读者 服务访问权。
IBM Cloud Kubernetes Service 自动为 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 ks worker-pool get --worker-pool WORKER_POOL_NAME_OR_ID --cluster CLUSTER_NAME_OR_ID ``` -
可选: 根据贵公司的安全合规性准则定期 旋转根密钥。 有关更多信息,请参阅 VPC 文档中的 "管理加密" 主题。
请勿删除 KMS 实例。 无法更改用于加密工作程序池的 KMS 实例。 如果禁用或删除根密钥,那么工作程序节点将进入
critical状态,直到复原根密钥并 重新引导 工作程序节点为止。
现在,工作程序池中工作程序节点的磁盘的加密由 KMS 提供程序中的根密钥管理。 如果创建了集群,那么工作程序池是 default 工作程序池。