疑難排解

本頁說明如何解決憑證授權單位服務的常見問題。

API 要求傳回 HTTP 403 Forbidden

如果 API 要求傳回 HTTP 403 Forbidden,並顯示 Read access to project PROJECT_NAME was denied 訊息,請按照下列解決方法操作。

解決方法

  1. 檢查要求者的 IAM 權限。
  2. 檢查要求的位置。如果區域不支援,可能會傳回權限遭拒錯誤。如要進一步瞭解支援的位置,請參閱「位置」。

刪除 CA 會傳回 HTTP 412 失敗的先決條件

如果您在刪除 CA 時看到下列先決條件錯誤,請按照本節的解決方法操作。

  • Cannot perform Certificate Authority deletion, Certificate Authority is in state ENABLED.

解決方法

憑證授權單位必須處於 DISABLEDSTAGED 狀態才能刪除。排定刪除憑證授權單位前,請先確認其狀態。如要進一步瞭解 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
    

後續步驟