トラブルシューティング

このページでは、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 リフレクションの詳細については、フェデレーション ワークロードの ID リフレクションをご覧ください。

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

    業界のベスト プラクティスでは、2,048 ビット以上の RSA 鍵の使用が推奨されています。 デフォルトでは、CA Service は、モジュラス サイズが 2, 048 ビット未満の RSA 鍵を使用した証明書の発行を禁止しています。

    解決策

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

    allowedKeyTypes:
    - rsa:
        minModulusSize: 1024
    

次のステップ