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 Service 为 CA 池提供两个操作服务层级:DevOps 和 Enterprise。这两个层级可让组织根据运营要求平衡性能和生命周期管理功能。

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

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

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

CA 签名密钥

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

硬件安全模块 (HSM)

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

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

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

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

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

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

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

导入外部 CA

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

代管

CA Service 使用 Cloud KMS 和 Cloud HSM 来保护密钥,以防导出和提取。如果您的组织想要保留其 CA 密钥的副本,您可以使用本地工具生成密钥。如需将这些密钥与 CA Service 搭配使用,请将密钥导入到 Cloud KMS 和 Cloud HSM。然后,您可以安全地托管钥匙,并保管好钥匙,直到日后需要。

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

CA 密钥大小和算法

加密密钥大小和算法定义用于签署证书和证书吊销列表 (CRL) 的非对称密钥对的类型和强度。CA 的存在时间可能会相对较长。因此,密钥必须足够安全,在 CA 的预期生命周期内获得安全保护。

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

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

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

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

后续步骤