新消息:在TwitterMastodon獲取專案更新

預設策略

issuance flow: policy

在簽發流程中,有兩個地方可以套用預設值:在建立 X.509 CertificateSigningRequest 之前,以及在建立 X.509 Certificate 之前。在第一種情況下,是由 cert-manager 套用預設值。在第二種情況下,是由簽發者套用預設值。

這兩種情況之間的重要差異在於,在第一種情況下,可以預設的屬性更多。例如,由於仍需產生私鑰,因此可以預設私鑰的所有屬性。在第二種情況下,私鑰已經產生。此外,簽發者參考本身可以在第一種情況下預設,但在第二種情況下則不能。例如,在特定的命名空間中,簽發者可以預設為特定的簽發者。

執行預設化的目的是簡化憑證請求者的體驗。這並不會阻止請求者覆寫預設值。因此,可以使用核准原則(詳情請參閱核准原則)。

cert-manager 套用的預設值:在建立 X.509 憑證簽署請求 (CSR) 之前

為了在建立 X.509 憑證簽署請求 (CSR) 之前套用預設值,必須將預設值套用到用於建立 CSR 的輸入。建立 CSR 後,如果未使簽名失效,則無法修改 CSR。這表示無法將預設值套用到 CertificateRequest 或 CertificateSigningRequest 資源中包含的 CSR 的任何屬性。

相反地,必須將預設值套用到用於建立 CertificateSigningRequest 的 Certificate 資源。當使用 CSI 驅動程式時,必須將預設值套用到 CSI 註釋或 CSI 驅動程式組態。為了動態將預設值套用到這些資源,您可以使用 kyverno 等工具。CI/CD 工具(如 Helm、kustomize 等)也可以用於將預設值範本化和套用到這些資源。

簽發者套用的預設值:在建立 X.509 憑證之前

在建立 X.509 憑證之前,簽發者可以使用結果憑證中屬性的預設值。更廣泛來說,簽發者可以自由使用任何邏輯,將 X.509 憑證簽署請求 (CSR) 中的屬性對應到 X.509 憑證中的屬性(詳情請參閱簽發原則)。