第4章 バグ修正
Red Hat Trusted Artifact Signer (RHTAS) のこのリリースでは、次のバグが修正されました。これらの修正に加えて、以前のバージョンで発見され修正された既知の問題の説明もリストします。
- 別の OpenShift クラスターに復元した後に、Operator によりコンポーネントのステータスが更新されない
- RHTAS 署名者データをバックアップから新しい OpenShift クラスターに復元すると、コンポーネントステータスリンクが想定どおりに更新されません。このリリースでは、コンポーネントのステータスでこの問題が修正されました。
- Trusted Artifact Signer を別の OpenShift クラスターに復元すると、
ownerReferencesが失われる -
RHTAS データを新しい Red Hat OpenShift クラスターに復元すると、コンポーネントの
ownerReferencesが失われます。これは、新しいクラスターに復元するときに Securesign UUID が変更され、各コンポーネントのownerReferencesが有効でなくなるため削除されるため発生します。このリリースでは、コンポーネントのownerReferencesでこの問題が修正されました。
- Trusted Artifact Signer Operator は設定の変更が適用されません
- この更新では、デプロイメントが想定した状態になるようにしていた Operator のロジックでギャップが生じ、デプロイメントの変更で問題が発生しました。その結果、設定の一部が意図的に削除された場合、デプロイメントが想定した状態と一致しなくなる可能性があります。このリリースでは、デプロイメントが想定した状態を維持する機能を包括的に再設計して置き換え、このギャップを解消しました。その結果、新しい関数はリソースの更新を正しく処理し、デプロイメントが常に必要とされる状態になるようになります。
- TUF リポジトリーの PVC 名を指定すると、初期化プロセスが失敗します
- このリリースでは、RHTAS Operator を更新し、The Update Framework (TUF) リソースの永続ボリューム要求 (PVC) の名前のプロビジョニングを正しく解釈できるようになりました。この更新前は、この解釈の違いにより TUF リポジトリーは初期化されませんでした。この更新により、インストール中に Operator は TUF リポジトリーを作成するときに提供された名前を使用し、指定された名前の TUF リポジトリーが適切に初期化されるようになります。
externalAccess.enabledがfalseに設定されている場合でも、Ingress オブジェクトの作成が行われます。-
この更新では、Ingress オブジェクトを作成するための Operator のロジックが、Securesign カスタムリソースの
externalAccess設定をアクティブに評価するようになりました。この更新前は、この評価は間違っていたため、externalAccess.enabledがfalseに設定されている場合でも、Fulcio、Rekor Search UI、および Timestamp Authority の ingress オブジェクトが作成されていました。このリリースでは、Operator は、ingress オブジェクトが作成される前にexternalAccess.enabledがtrueであることを確認し、コンポーネントの外部アクセスが意図的に無効になっている場合に ingress オブジェクトが作成されないようにします。この変更は、Securesign カスタムリソースで指定された設定を正しく反映します。
- 信頼ルート内で正しいダイジェストアルゴリズムを表示します
この更新前は、The Update Framework (TUF) は信頼ルートを徹底的に検証していませんでした。これにより、キーの署名アルゴリズムが SHA256 ではなく SHA384 として誤って表示され、署名されたターゲット信頼ルートのキーの詳細が不正確になりました。このリリースでは、TUF に追加のキー検証を追加することでこの問題に対処しました。その結果、署名されたターゲット信頼ルートでは、新規のデプロイメントで正しいキーの詳細が表示されるようになりました。既存のデプロイメントでは、適切に機能するために Rekor キーをローテーションする必要があります。
Red Hat OpenShift または Red Hat Enterprise Linux 上で実行されている RHTAS の Rekor の署名者キーをローテーションする方法は、RHTAS 管理ガイドを参照してください。
- Rekor 署名キーの作成を SHA384 から SHA256 にダウングレードしました
- この更新前は、RHTAS Operator と Ansible コレクションによって、Rekor の 256 ビット要件と互換性のない署名者キーが作成され、検証の問題が発生する可能性がありました。これは、必要とされる 256 ビットの SHA256 キーではなく、384 ビットの SHA384 キーが生成されたためです。このリリースでは、Rekor の仕様と一致するように署名者キーを調整し、エンドユーザーの互換性と安定性が向上しました。
- 管理対象外のデータベース接続が原因で、高負荷時にサービスが不安定になります
- この更新では、Trillian ログサーバーなどのクライアントコンポーネントのデフォルトのデータベース接続プールには以前は制限がなかったため、高負荷時にデータベースへの TCP 接続が過剰になるという問題がありました。その結果、クライアント Pod で一時的なポートが枯渇し、"cannot assign requested address" エラーが発生してコンポーネントがクラッシュし、Fulcio からの "500 Internal Server Error" など、障害が発生しました。このリリースでは、Rekor および Trillian データベースクライアントに制限が設定され、オープン接続とアイドル接続の最大数と接続の有効期間が制御されます。この改善により、高負荷状態でもシステムの安定性が確保され、ポートの枯渇が防止され、"cannot assign requested address" エラーやそれに続く障害が排除されます。
- システムが再起動した後、
cli-serverおよびrekor-searchコンポーネントが応答しなくなる -
他の RHTAS コンポーネントとは異なり、以前は
Alwaysプルポリシーで動作していた RHTAS コンポーネント(cli-serverおよびrekor-search)のイメージプルポリシーを修正しました。このため、Red Hat Enterprise Linux を再起動するとregistry.redhat.ioのローカル認証が失われ、両方のサービスがローカルで利用可能なイメージをプルしようとします。その結果、イメージプルエラーが原因で両方のサービスを起動できず、cli-serverが応答しなくなり、再起動後に依存する機能が機能しませんでした。今回のリリースにより、これらのサービスのイメージプルポリシーがIfNotPresentに切り替えられ、すでにキャッシュされているローカルイメージを使用できるようになりました。その結果、外部レジストリーへの再認証を必要とせずに、両方のコンポーネントが再起動後に正常に起動するようになりました。
- ファイル権限が正しくないために Cosign の初期化に失敗する
-
今回のリリースでは、TUF (Update Framework)メタデータボリューム内の
root.jsonファイルの権限が644のデフォルトになるように修正されました。この調整により、Web サーバーはファイルを読み取り、以前はroot.jsonへの要求により 403 Forbidden メッセージを返す問題を解決でき、ブートストラップから TUF クライアントおよびツールをブロックします。root.jsonファイルの書き込みおよび同期を担当するプロセスも更新され、適切なパーミッションを確認するようになりました。その結果、TUF クライアントは、エラーなしでトラストチェーンを初期化できるようになりました。
rekor-serverをデフォルトの namespace にデプロイしました。-
RHTAS 1.3 へのアップグレードにより、
rekor-serverは root 以外の UID および GID を使用せずにコンテナーイメージと共にデプロイされ、Pod Security Admission が Pod の作成をブロックし、サービスが利用可能になることを防ぎます。今回のリリースでは、Dockerfile が更新され、非 root の UID と GID が明示的に設定されるようになりました。その結果、RHTAS 1.3 のデフォルト namespace にrekor-serverPod を正常に作成できるようになりました。