Certificate Authority Service 最佳实践

本页简要介绍了一些有助于您更高效地使用 Certificate Authority Service 的最佳实践。

角色和访问权限控制

您可以使用 Identity and Access Management (IAM) 向用户授予角色。角色包含一个或多个权限。IAM 中的角色可以是基本角色、预定义角色或自定义角色。

IAM 角色类型 说明
基本 包括在引入 IAM 之前已存在的 Owner、Editor 和 Viewer 角色。
预定义 预定义角色由 Google 创建和维护。
自定义 自定义角色是用户定义的,可让您捆绑一个或多个受支持的权限以满足您的特定需求。如需了解详情,请参阅了解自定义角色

任何时候都不要为个人分配多个角色。此外,对于被分配了角色的所有人员,都应就其职责和安全做法进行适当的说明和培训。如果您想向个人分配一组不同的权限,建议您使用 IAM 创建自定义角色。如需了解如何创建自定义角色,请参阅创建和管理自定义角色

如需了解权限和预定义 IAM 角色,请参阅使用 IAM 进行访问权限控制

CA Service 层级

为证书授权机构 (CA) 池设置层级。CA 池中的所有 CA 都分配到同一层级。CA 服务为 CA 池提供两种运营服务层级:DevOps 和企业。这两种层级可根据运营要求为组织提供平衡的性能和生命周期管理功能。

  • 我们建议您仔细考虑使用 DevOps 层级,因为它不支持证书撤消。
  • 对于 DevOps 层级的 CA,系统不会存储已颁发的证书。您只能通过查看 Cloud Audit Logs(如果已启用)来跟踪证书。我们建议您仅将 DevOps 层用于不需要撤消的短时有效证书,例如与微服务、容器、会话证书、非永久性虚拟机以及其他隔离需求搭配使用的证书。
  • 公共密钥基础架构 (PKI) 可以由 DevOps 和企业层级的 CA 组合而成,以满足各种需求。
  • 在大多数情况下,我们建议您使用企业版层级创建 CA 池,以向其他 CA 和最终实体颁发证书。

如需详细了解 CA 服务层级,请参阅选择操作层级

如需了解如何启用 Cloud Audit Logs,请参阅配置数据访问审核日志

CA 签名密钥

对 CA 证书的底层加密密钥对的适当控制决定了 PKI 提供的安全性和完整性。本部分列出了一些关于保护 CA 签名密钥的最佳实践。

硬件安全模块 (HSM)

您可以将 CA 服务配置为使用 Google 拥有且由 Google 管理的密钥,这些密钥使用 Cloud HSM 生成、存储和使用密钥。不过,如果您想使用现有的 Cloud KMS 密钥,可以在设置 CA 期间使用该密钥。

如需详细了解 Cloud HSM,请参阅 Cloud HSM

如需详细了解如何将加密密钥导入 Cloud HSM 或 Cloud KMS,请参阅将密钥导入 Cloud KMS

Google 管理的密钥与客户管理的密钥

如果您没有需要在 CA 服务之外直接管理密钥的自定义安全或操作要求,我们建议您使用 Google 拥有和 Google 管理的密钥。Google 拥有的密钥和 Google 管理的密钥提供了一种简化且默认安全的密钥生成、存储和使用系统。

Google 拥有和 Google 管理的密钥使用 Cloud HSM,任何其他组织都无法访问或使用这些密钥。您可以通过 Cloud Audit Logs 审核对 Cloud HSM 签名密钥的访问和使用情况。

如需详细了解生命周期管理模型,请参阅管理资源

导入外部 CA

您无法将之前颁发的证书导入 CA 服务。我们建议您不要将已颁发证书的外部 CA 导入 CA Service。

密钥托管

CA 服务使用 Cloud KMS 和 Cloud HSM 来保护密钥免遭导出和提取。如果贵组织想要保留其 CA 密钥的副本,可以使用本地工具生成密钥。如需将这些密钥与 CA 服务搭配使用,请将这些密钥导入 Cloud KMS 和 Cloud HSM。然后,您可以安全地托管密钥,并保留所有权,以备日后使用。

如需了解如何将密钥导入到 Cloud KMS,请参阅将密钥导入到 Cloud KMS 中

CA 密钥大小和算法

加密密钥大小和算法定义了用于对证书和证书撤消列表 (CRL) 进行签名的非对称密钥对的类型和强度。CA 的有效期相对较长。因此,请务必确保密钥足够强大,能够在 CA 的预期生命周期内保持安全。

如果您拥有定义良好的 PKI 环境和新型设备,椭圆曲线数字签名算法 (ECDSA) 可提供最佳性能和安全性。对于拥有各种系统且对密钥支持不确定的组织,使用基于 RSA 的密钥可能就足够了。

CA 签名密钥还有其他注意事项,例如是否符合认证要求、与其他系统的兼容性以及特定威胁模型。选择密钥大小和算法时,请考虑您的用例。

无论 CA 生命周期、密钥大小和算法如何,我们都建议您设置一个定期轮替 CA 密钥的流程。

如需详细了解如何为签名密钥选择算法,请参阅选择密钥算法

后续步骤