最新: 在TwitterMastodon

默认策略

issuance flow: policy

在证书颁发流程中,有两个地方可以应用默认值:在创建 X.509 证书签名请求 (CSR) 之前和在创建 X.509 证书之前。在第一种情况下,是 cert-manager 应用默认值。在第二种情况下,是颁发者应用默认值。

这两个情况之间的一个重要区别是,在第一种情况下,可以应用更多默认属性。例如,由于私钥仍然需要生成,所以私钥的所有属性都可以被设置为默认值。在第二种情况下,私钥已经生成。此外,在第一种情况下,颁发者引用本身可以设置为默认值,但在第二种情况下则不行。例如,在一个特定的命名空间中,颁发者可以被设置为一个特定的颁发者。

应用默认值是为了简化证书申请者的操作体验。它不会阻止申请者覆盖默认值。因此,可以使用审批策略(有关详细信息,请参阅 审批策略)。

cert-manager 应用的默认值:在创建 X.509 证书签名请求 (CSR) 之前

为了在创建 X.509 证书签名请求 (CSR) 之前应用默认值,必须将默认值应用于用于创建 CSR 的输入。创建 CSR 后,无法修改它,否则会使它的签名无效。这意味着不能将默认值应用于 CertificateRequest 或 CertificateSigningRequest 资源中包含的 CSR 的任何属性。

相反,必须将默认值应用于用于创建 CertificateSigningRequest 的 Certificate 资源。当使用 CSI 驱动程序时,必须将默认值应用于 CSI 注释或 CSI 驱动程序配置。要动态地将默认值应用于这些资源,可以使用 kyverno 等工具。像 Helm、kustomize 等 CI/CD 工具也可以用来模板化并将默认值应用于这些资源。

颁发者应用的默认值:在创建 X.509 证书之前

在创建 X.509 证书之前,颁发者可以使用默认值来设置结果证书中的属性。更一般地说,颁发者可以自由地使用任何逻辑来将 X.509 证书签名请求 (CSR) 中的属性映射到 X.509 证书中的属性(有关详细信息,请参阅 颁发策略)。