疑難排解
本頁說明如何解決憑證授權單位服務的常見問題。
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