疑難排解
本頁說明如何解決憑證授權單位服務的常見問題。
API 要求傳回 HTTP 403 Forbidden
如果 API 要求傳回 HTTP 403 Forbidden,並顯示 Read access to project PROJECT_NAME was denied 訊息,請按照下列解決方法操作。
解決方法
- 檢查要求者的 IAM 權限。
- 檢查要求的位置。如果區域不支援,可能會傳回權限遭拒錯誤。如要進一步瞭解支援的位置,請參閱「位置」。
刪除 CA 會傳回 HTTP 412 失敗的先決條件
如果您在刪除 CA 時看到下列先決條件錯誤,請按照本節的解決方法操作。
Cannot perform Certificate Authority deletion, Certificate Authority is in state ENABLED.
解決方法
憑證授權單位必須處於 DISABLED 或 STAGED 狀態才能刪除。排定刪除憑證授權單位前,請先確認其狀態。如要進一步瞭解 CA 狀態,請參閱「CA 狀態」。
憑證核發失敗
憑證授權單位服務提供多種政策控管機制,可用於管理憑證核發作業。如要進一步瞭解政策控管,請參閱「憑證範本和核發政策總覽」。
憑證核發失敗的原因有很多,部分原因如下。
CA 集區的憑證核發政策與憑證範本之間有衝突。
舉例來說,假設核發政策定義了擴充功能
foo,並指派值bar,而憑證範本定義了擴充功能foo,並指派值bat。如果為同一項擴充功能指派兩個不同的值,就會發生衝突。解決方法
根據憑證範本檢查 CA 集區的憑證核發政策,找出並解決衝突。
如要進一步瞭解核發政策,請參閱「將憑證核發政策新增至 CA 集區」。
主體或主體別名 (SAN) 未通過憑證範本或 CA 集區憑證核發政策中的 CEL 運算式評估。
解決方法
檢查 CA 集區的憑證核發政策和憑證範本,並確認主體和 SAN 符合一般運算語言 (CEL) 運算式設定的條件。如要進一步瞭解 CEL 運算式,請參閱「使用一般運算語言」。
為用途授予錯誤的 IAM 角色。舉例來說,您可以為反映的 ID 指派
roles/privateca.certificateRequester角色,或是為預設 ID 模式指派roles/privateca.workloadCertificateRequester角色。解決方法
確認您已為預設身分識別模式指派
roles/privateca.certificateRequester角色,並為反映的身分指派roles/privateca.workloadCertificateRequester角色。如要進一步瞭解如何使用身分反映,請參閱「適用於聯盟工作負載的身分反映」。在不支援的情境中嘗試使用反映身分模式,例如沒有 Hub 工作負載身分。如果身分反映功能不支援某個情境,系統會傳回下列錯誤訊息:
Could not use the REFLECTED_SPIFFE subject mode because the caller does not have a SPIFFE identity. Please visit the CA Service documentation to ensure that this is a supported use-case.
解決方法
判斷要使用的身分類型:預設身分或反映身分。如需使用反映的身分,請務必在支援的情境中使用。如要進一步瞭解身分反映,請參閱「適用於聯盟工作負載的身分反映」。
預設金鑰大小限制會拒絕模數大小小於 2048 位元的 RSA 金鑰。
根據業界最佳做法,建議使用至少 2048 位元的 RSA 金鑰。 根據預設,CA 服務會禁止使用模數大小小於 2048 位元的 RSA 金鑰核發憑證。
解決方法
如要使用模數大小小於 2048 位元的 RSA 金鑰,您必須使用憑證核發政策明確允許。如要允許這類 RSA 金鑰,請使用下列 YAML 範例:
allowedKeyTypes: - rsa: minModulusSize: 1024