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 和 Enterprise 层级中的 CA 组合组成,以满足各种需求。
- 在大多数情况下,我们建议您使用 Enterprise 层级创建向其他 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 HSM 签名密钥的访问和使用可审核 Cloud Audit Logs 的时间
如需详细了解生命周期管理模型,请参阅管理资源。
导入外部 CA
您无法将之前颁发的证书导入 CA Service。我们建议您不要将已颁发证书的外部 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 密钥的流程。
如需详细了解如何为签名密钥选择算法,请参阅选择密钥算法。