Certificate Authority Service 概览
Certificate Authority Service (CA Service) 是一项伸缩能力极强的 Google Cloud 服务,可帮助您简化和自动执行私有证书授权机构 (CA) 的部署、管理和安全维护。私人 CA 颁发数字证书,其中包括实体身份、颁发者身份和加密签名。专用证书是通过网络对用户、计算机或服务进行身份验证的最常用方法之一。私有证书通常用于 DevOps 环境中,以保护容器、微服务、虚拟机和服务帐号。
使用 CA Service,您可以执行以下操作:
- 创建自定义根 CA 和从属 CA。
- 定义 CA 的主题、密钥算法和位置。
- 选择从属 CA 的区域,但不要选择其根 CA 的区域。
- 针对常见的证书颁发场景,创建可重复使用且参数化的模板。
- 使用您自己的根 CA 并配置其他 CA,以链接到在本地或 Google Cloud 之外的其他位置运行的现有根 CA。
- 使用 Cloud HSM 存储您的私钥 CA 密钥,Cloud HSM 已通过 FIPS 140-2 3 级认证,可在美洲、欧洲和亚太地区的多个区域使用。
- 借助 Cloud Audit Logs,可获取日志,清楚地了解谁在何时、何地执行过哪些操作。
- 使用 Identity and Access Management (IAM) 和虚拟安全边界 VPC Service Controls 定义精细的访问权限控制机制。
- 管理大量证书,了解 CA Service 支持每个 CA(DevOps 层级)每秒最多颁发 25 个证书,这意味着每个 CA 可以颁发数百万个证书。您可以在一个颁发端点(称为 CA 池)后面创建多个 CA,并将传入的证书请求分发到所有 CA。使用此功能,您每秒可以有效地颁发多达 100 个证书。
- 以对您而言最方便的方式(API、Google Cloud CLI、Google Cloud 控制台或 Terraform)来管理、自动执行和集成私有 CA。
证书用例
您可以在以下用例中使用私有 CA 颁发证书:
- 软件供应链完整性和代码身份:代码签名、工件身份验证和应用身份证书。
- 用户身份:用作零信任网络、VPN、文档签名、电子邮件、智能卡等的用户身份的客户端身份验证证书。
- IoT 和移动设备身份:用作设备身份和身份验证(例如无线访问)的客户端身份验证证书。
- 服务内身份:微服务使用的 mTLS 证书。
- 持续集成和持续交付 (CI/CD) 渠道:在整个 CI/CD 构建过程中使用的代码签名证书,以提高代码完整性和安全性。
- Kubernetes 和 Istio:用于保护 Kubernetes 和 Istio 组件之间连接的证书。
为何选择不公开的公钥基础设施 (PKI)
在典型的网络公钥基础架构 (PKI) 中,全球数以百万计的客户端信任一组独立的证书授权机构 (CA) 以在证书中声明身份(例如域名)。作为其职责的一部分,CA 承诺仅在已独立验证证书中的身份后颁发证书。例如,CA 通常需要验证某个为域名 example.com
请求证书的用户确实控制着该网域,然后才能向其颁发证书。由于这些 CA 可以为数百万客户颁发证书,而这些客户可能尚不存在直接关系,因此它们仅限于声明可公开验证的身份。这些 CA 仅限于在整个 Web PKI 中一致应用的明确定义的验证流程。
与 Web PKI 不同,专用 PKI 通常涉及较小的 CA 层次结构,该层次结构由组织直接管理。专用 PKI 仅将证书发送给本身信任组织具有适当控制措施的客户端(例如,该组织拥有的机器)。由于 CA 管理员通常有自己的方式来验证其颁发证书的身份(例如,向自己的员工颁发证书),因此他们不受与 Web PKI 相同的要求限制。这种灵活性是专用 PKI 相对于 Web PKI 的主要优势之一。私有 PKI 可实现新的使用场景,例如保护使用短域名的内部网站,而无需获得这些名称的唯一所有权,或者将替代身份格式(如 SPIFFE ID)编码到证书中。
此外,Web PKI 要求所有 CA 记录其已签发到公开证书透明度日志中的每个证书,而向内部服务颁发证书的组织可能不需要此要求。通过专用 PKI,组织可以确保其内部基础架构拓扑(例如网络服务或应用的名称)对全球其他地区而言是不公开的。