创建 CA 池
本页面介绍了如何创建证书授权机构 (CA) 池。
CA 池是由具有通用证书的多个 CA 组成的集合 颁发政策和 Identity and Access Management (IAM) 政策。CA 池 CA 轮替管理更轻松,可让您实现更高的总有效性 每秒查询次数 (QPS) 计费。
您必须先创建 CA 池,然后才能使用 Certificate Authority Service 创建 CA。 如需了解详情,请参阅 CA 池概览。
准备工作
确保您拥有 CA Service Operation Manager
(roles/privateca.caManager
) IAM 角色。如需了解如何向主体授予 IAM 角色,请参阅授予单个角色。
确定 CA 池的设置
本部分介绍 CA 池的设置并提供建议 以确定这些设置。
永久 CA 池设置
以下 CA 池设置一经创建便无法更改。
- 位置
指定 CA 池的位置。CA 池存储在单个 Google Cloud 位置。我们建议您在打算使用 CA 的位置或附近创建 CA 池。
如需查看受支持位置的完整列表,请参阅位置。
- 层级
选择您是想使用 DevOps 层还是企业层创建 CA 池。此选项会影响 CA Service 是否会保留创建的 创建的证书以后是否可以撤消,以及 从 CA 池中的 CA 创建证书的最大速率。 如需了解详情,请参阅选择操作层级。
可选的 CA 池设置
- 证书颁发政策
CA 池可以具有证书颁发政策。此颁发政策对允许 CA 池中的 CA 颁发的证书施加了限制。创建 CA 池后,您可以更新 CA 池的颁发政策。如需了解详情,请参阅模板和发布政策概览。
如需详细了解如何配置证书颁发政策,请参阅 将证书颁发政策添加到 CA 池。
- 发布选项
您可以配置 CA 池,以发布每个 CA 的 CA 证书。 在颁发证书时,此 CA 证书的网址会包含在 作为授权信息访问 (AIA) 扩展。
可以允许企业层级 CA 池中的 CA 发布证书 撤消列表 (CRL) 发送到关联的 Cloud Storage 存储桶。颁发证书时,此 CRL 的网址会包含在 用作 CRL 分发点 (CDP) 扩展项。无法找到 证书中不包含 CDP 扩展的 CRL。如需更多信息 请参阅撤消证书。
您还可以选择已发布的 CA 证书的编码格式 CRL。支持的编码格式包括隐私增强邮件 (PEM) 和唯一编码规则 (DER)。如果未指定编码格式, 将使用 PEM。
如果您使用 Google Cloud CLI 或 Google Cloud 控制台创建 CA 池, 默认情况下,CA Service 会启用这些发布选项。对于 请参阅为 CA 中的 CA 停用 CA 证书和 CRL 发布 池。
创建 CA 池
如需创建 CA 池,请按照以下说明操作:
控制台
为 CA 池选择名称
前往 Google Cloud 控制台中的 Certificate Authority Service 页面。
点击 CA 池管理器。
点击
创建池。为区域唯一的 CA 池添加名称。
从区域字段的下拉菜单中选择一个区域。如需了解详情,请参阅 选择最佳位置。
选择 Enterprise 或 DevOps 层级。如需了解详情,请参阅选择操作层级。
点击下一步。
配置允许的密钥算法和大小
CA Service 让您可以为 为 CA 池中的 CA 提供支持的 Cloud KMS 密钥。所有关键算法 默认处于允许状态
如需限制 CA 池颁发的证书中允许使用的密钥,请执行以下操作: 以下。这是一个可选过程。
- 点击切换开关。
- 点击添加一项。
在类型列表中,选择密钥类型。
如果您想使用 RSA 密钥,请执行以下操作:
- 可选:添加最小模数大小(以位为单位)。
- 可选:添加最大模数大小(以位为单位)。
- 点击完成。
如果您想使用椭圆曲线密钥,请执行以下操作:
- 可选:在椭圆曲线类型列表中,选择椭圆曲线。 曲线类型。
- 点击完成。
如需添加其他允许的键,请点击添加一项,然后重复第 2 步。
点击下一步。
配置证书请求方法
限制证书请求者可用于 从 CA 池请求证书,请执行以下操作:
- 可选:要限制基于 CSR 的证书请求,请点击切换开关。
- 可选:如需限制基于配置的证书请求,请点击切换开关。
配置发布选项
如需配置发布选项,请执行以下操作:
- 可选:禁止将 CA 证书发布到 Cloud Storage 则点击切换开关。
- 可选:要禁止将 CRL 发布到以下项目的 Cloud Storage 存储桶: CA 池中的 CA,请点击切换开关。
点击该菜单可选择已发布的 CA 证书和 CRL 的编码格式。
点击下一步。
如需在 CA 池颁发的证书中配置基准值,请执行以下操作: 以下:
- 点击切换开关。
- 点击配置基准值。
您可以使用此设置来配置 可以使用该证书密钥用法选项包括密钥 加密、数据加密、证书签名、CRL 签名等。
如需了解详情,请参阅密钥用途。
如需定义基本密钥用途,请执行以下操作:
- 可选:在随即显示的窗口中,点击切换开关 您想要指定证书的基本密钥用途。
- 选中密钥的使用方式所对应的复选框。
- 点击下一步。
您可以使用此设置 哪些项目可以使用。选项包括服务器身份验证、客户端身份验证、代码签名、电子邮件保护等。
扩展密钥用法使用对象标识符 (OID) 进行定义。如果您未配置扩展密钥用途,则允许所有密钥用途场景。
如需了解详情,请参阅扩展的密钥用途。
如需定义扩展密钥用法,请执行以下操作:
- 可选:要指定 CA 池问题,点击切换开关。
- 选中扩展密钥使用场景对应的复选框。
- 点击下一步。
证书中的证书政策扩展表示政策 发出证书的 CA 池之后的任何配置。此附加信息中可以包含 也就是在证书颁发之前验证所有身份 以及如何确保 CA 池的完整性。此扩展程序可帮助您 验证 CA 池颁发的证书,并查看证书如何 。
如需了解详情,请参阅证书政策。
如需指定用于定义证书使用情况的政策,请执行以下操作:
- 可选:在政策标识符字段中添加政策标识符。
- 点击下一步。
证书中的 AIA 扩展提供以下信息:
- OCSP 服务器的地址,您可以在其中检查吊销状态 证书 ID。
- 证书颁发者的访问方法。
如需了解详情,请参阅授权中心信息访问权限。
若要添加显示在 请执行以下操作。以下过程是可选的。
- 可选:点击添加一项。
- 在服务器网址字段中,添加 OCSP 服务器的网址。
- 点击完成。
- 点击下一步。
要配置其他自定义附加信息以添加到 使用 CA 池颁发的证书,请执行以下操作。流程如下 是可选属性。
- 点击添加一项。
- 在对象标识符字段中,添加一个有效的对象标识符, 格式为以点分隔的数字。
- 在值字段中,为标识符添加 base64 编码的值。
- 如果扩展程序至关重要,请选择扩展程序至关重要。
如需保存所有基准值配置,请点击完成。
配置扩展程序限制条件要禁止将来自证书请求的所有扩展包含在 中,请执行以下操作: 已颁发的证书,请点击切换开关。
点击切换开关后,您会看到已知证书 extensions 字段,可用来选择证书扩展。如需选择证书扩展程序,请执行以下操作:
- 可选:点击已知证书扩展字段,然后从菜单中清除不需要的扩展。
- 可选:在自定义扩展字段中,添加您希望添加到 CA 池颁发的证书中的扩展的对象标识符。
要在证书中配置对正文和 SAN 的限制条件, CA 池问题,请执行以下操作:
- 可选:禁止传递证书请求中的主题 点击该切换开关
- 可选:要禁止证书请求中的主题备用名称,请执行以下操作: 点击切换开关即可
- 可选:添加要放置的通用表达式语言 (CEL) 表达式 证书主题限制。如需了解详情,请参阅使用 CEL。
- 点击下一步。
如需了解如何在证书颁发政策中配置其他参数,请参阅 IssuancePolicy。
如需创建 CA 池,请点击完成。
gcloud
运行以下命令:
gcloud privateca pools create POOL_NAME
将 POOL_NAME 替换为 CA 池的名称。
如果您没有指定 CA 池所需的层级,则 Enterprise
层级。如果要为 Pod 指定层级
CA 池,请运行以下 gcloud
命令:
gcloud privateca pools create POOL_NAME --tier=TIER_NAME
替换以下内容:
- POOL_NAME:您的 CA 池的名称。
- TIER_NAME:
devops
或enterprise
。对于 如需了解详情,请参阅选择操作层级。
如果您未为 CA 池指定发布编码格式,系统会默认选择 PEM
发布编码格式。如果您要为作业指定发布编码格式,
CA 池,请运行以下 gcloud
命令:
gcloud privateca pools create POOL_NAME --publishing-encoding-format=PUBLISHING_ENCODING_FORMAT
替换以下内容:
- POOL_NAME:您的 CA 池的名称。
- PUBLISHING_ENCODING_FORMAT:
PEM
或DER
。
如需详细了解 gcloud privateca pools create
命令,请参阅
gcloud privatecapool create。
了解如何对证书类型施加限制 请参阅向 CA 池添加证书颁发政策。
Terraform
Go
如需向 CA 服务进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Java
如需向 CA Service 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需向 CA 服务进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
REST API
创建 CA 池。
HTTP 方法和网址:
POST https://privateca.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/caPools\?ca_pool_id=POOL_ID
请求 JSON 正文:
{ "tier": "ENTERPRISE" }
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/operation-UUID", "metadata": {...}, "done": false }
轮询该操作,直到它完成为止。
当长时间运行的操作的
done
属性时,操作完成 设为true
。HTTP 方法和网址:
GET https://privateca.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/operation-UUID
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/operation-UUID", "metadata": {...}, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.security.privateca.v1.CaPool", "name": "...", "tier": "ENTERPRISE" } }
为 CA 池添加或更新标签
标签是一种键值对,可帮助您整理 CA Service 资源。您可以根据资源的标签对资源进行过滤。
如需为 CA 池添加或更新标签,请执行以下操作:
控制台
如需添加标签,请执行以下操作:
转到 Certificate Authority Service 页面。
在 CA 池管理器标签页中,选择 CA 池。
点击标签。
点击
添加标签。添加键值对。
点击保存。
如需修改现有标签,请执行以下操作:
转到 Certificate Authority Service 页面。
在 CA 池管理器标签页中,选择 CA 池。
点击标签。
修改标签的值。
点击保存。
gcloud
运行以下命令:
gcloud privateca pools update POOL_ID --update-labels foo=bar
将 POOL_ID 替换为 CA 池的名称。
后续步骤
- 了解如何创建根 CA。
- 了解如何创建从属 CA。
- 了解如何使用证书颁发政策。
- 了解如何使用 CA 池提高证书创建吞吐量。
- 了解如何更新和删除 CA 池。