核准原則 (Approval Policy)
在簽發流程中,通常有兩個地方可以拒絕不符合規範的憑證請求:在將 X.509 憑證簽署請求 (CSR) 發送給簽發者之前,以及在簽發者收到 X.509 憑證之後。在第一種情況下,是由 cert-manager 拒絕請求。在第二種情況下,是由簽發者拒絕請求。
在將 X.509 憑證簽署請求 (CSR) 發送給簽發者之前拒絕請求
cert-manager 要求在將 憑證請求 (CertificateRequest) 發送給簽發者之前,必須先經過核准。此外,憑證簽署請求 (CertificateSigningRequests) 也必須在發送給簽發者之前先經過核准。這個核准的動作是透過將核准條件新增到資源中來完成。
在預設安裝中,cert-manager 會自動核准所有使用其內建簽發者的憑證請求 (CertificateRequests) 和憑證簽署請求 (CertificateSigningRequests)。這樣做是為了簡化首次使用 cert-manager 的體驗。但是,這不建議用於生產環境。相反地,您應該配置更嚴格的自動核准器,限制誰可以請求哪些憑證。approver-policy 就是一個此類自動核准器的範例。
在簽發者收到 X.509 憑證簽署請求 (CSR) 之後拒絕請求
在收到 X.509 憑證簽署請求 (CSR) 後,拒絕請求的邏輯由簽發者決定。cert-manager 支援大量的簽發者,每個簽發者對拒絕哪些請求以及返回哪些錯誤訊息都擁有完全的自主權。此外,簽發者也可以選擇接受所有請求,而是覆寫 CSR 中不符合規範的屬性。更廣泛地說,簽發者可以自由地使用任何邏輯來將 X.509 憑證簽署請求 (CSR) 中的屬性映射到 X.509 憑證中的屬性 (請參閱簽發原則 (Issuing Policy))。