トラブルシューティング

このページでは、Certificate Authority Service の一般的な問題を解決する方法について説明します。

API リクエストが HTTP 403 Forbidden を返す

API リクエストが「HTTP 403 Forbidden」(Read access to project PROJECT_NAME was denied)というメッセージを返す場合は、次の解決策を使用します。

解決策

  1. リクエスト元の IAM 権限を確認します。
  2. リクエストのロケーションを確認します。サポートされていないリージョンでは、アクセス拒否のエラーが返されます。サポートされているロケーションの詳細については、ロケーションをご覧ください。

CA を削除すると、HTTP 412 Failed Precondition が返される

CA の削除時に次の前提条件の失敗エラーが表示された場合は、このセクションの解決策を使用します。

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

解決策

CA を削除するには、CA が DISABLED または STAGED の状態になっている必要があります。CA の状態を確認してから、削除をスケジュールしてください。CA の状態について詳しくは、CA の状態をご覧ください。

証明書の発行失敗

CA Service には、証明書の発行管理に使用できるいくつかのポリシー制御が用意されています。ポリシー制御の詳細については、証明書テンプレートと発行ポリシーの概要をご覧ください。

証明書の発行が失敗する原因はいくつかあります。理由の一部を次に示します。

  • CA プールの証明書発行ポリシーと証明書テンプレートの間の競合。

    たとえば、発行ポリシーで拡張子 foo を定義し、値 bar を割り当て、証明書テンプレートで拡張子 foo を定義し、値 bat を割り当てたとします。同じ拡張機能に 2 つの異なる値を割り当てると、競合が発生します。

    解決策

    CA プールの証明書発行ポリシーを証明書テンプレートに照らして確認し、競合を特定して解決します。

    発行ポリシーの詳細については、CA プールへの証明書発行ポリシーの追加をご覧ください。

  • サブジェクトまたはサブジェクト代替名(SAN)が、証明書テンプレートまたは CA プールの証明書発行ポリシーで CEL 式の評価に失敗します。

    解決策

    CA プールの証明書発行ポリシーと証明書テンプレートを確認し、サブジェクトと SAN が Common Expression Language(CEL)式で設定された条件を満たしていることを確認します。CEL 式の詳細については、Common Expression Language の使用をご覧ください。

  • ユースケースに付与された IAM ロールが正しくない たとえば、反映された ID の roles/privateca.certificateRequester ロールの割り当てや、デフォルトの ID モードの roles/privateca.workloadCertificateRequester ロールの割り当てを行います。

    解決策

    デフォルトの ID モードに対する roles/privateca.certificateRequester ロールと、反映された ID に対する roles/privateca.workloadCertificateRequester ロールが割り当てられていることを確認します。ID リフレクションの使用の詳細については、フェデレーション ワークロードの ID リフレクションをご覧ください。

  • サポートされていないシナリオでハブ ワークロード ID がない場合など、反映された ID モードを使用しようと試みる。ID リフレクションのサポートされていないシナリオでは、次のエラー メッセージが返されます。

    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.
    

    解決策

    使用する ID の種類(デフォルトの ID または反映された ID)を決定します。反映された ID を使用する必要がある場合は、サポートされているシナリオのいずれかでそれを使用していることを確認してください。ID リフレクションの詳細については、フェデレーション ワークロードの ID リフレクションをご覧ください。

  • デフォルトの鍵のサイズの制限は、モジュラス サイズが 2,048 ビット未満の RSA 鍵を拒否します。

    業界ベスト プラクティスでは、2,048 ビット以上の RSA 鍵を使用することをおすすめします。デフォルトでは、CA Service はモジュラス サイズが 2, 048 ビット未満の RSA 鍵を使用して証明書を発行できないようにします。

    解決策

    モジュラス サイズが 2, 048 ビット未満の RSA 鍵を使用する場合は、証明書発行ポリシーを使用して明示的に許可する必要があります。このような RSA 鍵を許可するには、次の YAML の例を使用します。

    allowedKeyTypes:
    - rsa:
        minModulusSize: 1024
    

次のステップ