Certificate Authority Service 概念
本页介绍了 Certificate Authority Service (CA Service) 中的部分关键概念。
资源
CA Service 包含以下资源:
证书授权机构池
证书授权机构池 (CA 池) 是 CA Service 中的主要资源。CA 池是证书授权机构和证书的容器。在 CA 池中设置 Identity and Access Management 条件、颁发政策和其他配置。证书颁发也是通过 CA 池进行的,CA 池会将证书请求负载分布到 CA 池中的 CA 中。
证书授权机构
证书授权机构 (CA) 资源代表用于签署证书的单个证书授权机构。在 CA Service 中,您可以创建根 CA 和从属 CA。根 CA 具有自签名证书,位于证书链的顶部。对于从属 CA,CA 证书的签名者可以是 CA Service 中创建的另一个 CA,也可以是外部 CA。在后一种情况下,CA 服务会生成证书签名请求 (CSR),该请求必须由外部 CA 签名。您可以使用 Google Cloud CLI 或 Google Cloud 控制台上传已签名的 PEM 编码证书链,以启用新的 CA。
证书
证书是证书授权机构颁发的已签名 X.509 证书。
证书吊销列表
证书吊销列表 (CRL) 包含已被吊销且不应再信任的证书的序列号。CRL 是嵌套在 CA 下的云资源,但也可以以 PEM 或 DER 编码形式发布到具有可公开访问的基于 HTTP 的网址的 Cloud Storage 存储分区。
证书模板
证书模板是一种顶级资源,用于定义不同的证书颁发场景。使用证书模板颁发的证书会继承证书模板中预配置的 X.509 扩展,例如密钥用途和路径长度限制。借助证书模板,您可以定义要保留哪些扩展程序,以及要忽略证书请求中的哪些扩展程序。您可以使用证书模板定义身份限制条件,以限制证书身份。一个证书模板可与一个或多个 CA 池搭配使用。
CA 签名密钥
CA Service 会自动配置为使用 Cloud Key Management Service 生成、存储和使用 CA 签名密钥。在 CA 服务中,Cloud KMS 密钥版本用于为证书和 CRL 签名。您可以创建自己的 Cloud KMS 密钥,然后创建使用此密钥的 CA。或者,您也可以指定要为 CA 使用的 Cloud KMS 密钥的算法,CA 服务将代表您创建和配置此密钥。Cloud KMS 密钥可以由软件或硬件提供支持。CA 服务代表您创建密钥时,始终会创建有硬件支持的密钥。
Cloud Storage 存储桶
在 CA 服务中创建的 CA 会将其工件(例如 CA 证书和 CRL)发布到与部署的 CA 位于同一位置的 Cloud Storage 存储分区中。与 Cloud KMS 密钥类似,Cloud Storage 存储分区可以是 Google 管理的资源,也可以是客户管理的资源。
CA 层级
证书授权机构的层级表示其支持的功能和结算 SKU。CA Service 为创建的每个 CA 池提供以下两种运营服务层级:
- DevOps:以更高的证书颁发速率或吞吐量颁发证书,这在高流量场景中非常有用。DevOps CA 颁发的证书不会在 CA 数据库中跟踪,因此无法撤消。DevOps CA 仅支持 Google 拥有和 Google 管理的 加密密钥。不支持客户管理的 Cloud KMS 密钥。
- 企业:证书颁发吞吐量较低,但支持 CA 操作,例如跟踪证书和撤消证书。这使得此层级中的 CA 更适合颁发长期有效的证书。企业 CA 同时支持客户管理的 Cloud KMS 签名密钥和 的 Google 拥有且由 Google 管理的 加密密钥。
政策控制措施
借助政策控件,您可以控制 CA 池可以颁发的证书类型。政策控制项分为以下两种:
- 粗粒度的政策控制,例如发卡政策。证书颁发政策定义了该 CA 池中的 CA 可以颁发的证书类型。例如,用户可以限制其 CA 池只能颁发为客户端 TLS 设置了正确的扩展密钥用途字段的证书,并且不能颁发 CA 证书。
- 使用模板表示的精细政策控制,用于确定特定用户可以对 CA 池执行的操作。证书模板可与 IAM 条件结合使用,以便为同一 CA 池中的不同用户有效创建不同的政策控制。
您可以通过以下方式在 CA Service 中强制执行政策控制:
- 为整个 CA 池颁发证书添加基准。
- 针对常见的签发场景使用可重复使用且可参数化的模板。
- 使用条件对 IAM 绑定实施精细控制。
- 使用身份反射简化工作负载证书配置。