Apicurio Registry 2.6 リリースノート
Red Hat build of Apicurio Registry の新機能
概要
はじめに リンクのコピーリンクがクリップボードにコピーされました!
Red Hat ドキュメントへのフィードバック
Red Hat ドキュメントに関するご意見やご感想をお寄せください。
改善を提案するには、Jira 課題を作成し、変更案を説明してください。ご要望に迅速に対応できるよう、できるだけ詳細にご記入ください。
前提条件
-
Red Hat カスタマーポータルのアカウントがある。このアカウントを使用すると、Red Hat Jira Software インスタンスにログインできます。
アカウントをお持ちでない場合は、アカウントを作成するように求められます。
手順
- Create issue にアクセスします。
- Summary テキストボックスに、問題の簡単な説明を入力します。
Description テキストボックスに、次の情報を入力します。
- 問題が見つかったページの URL。
-
問題の詳細情報
他のフィールドの情報はデフォルト値のままにすることができます。
- Create をクリックして、Jira 課題をドキュメントチームに送信します。
フィードバックをご提供いただきありがとうございました。
第1章 Apicurio Registry 2.6 リリースノート リンクのコピーリンクがクリップボードにコピーされました!
Red Hat build of Apicurio Registry は、Apicurio Registry オープンソースコミュニティープロジェクトをベースとする標準イベントスキーマおよび API デザインのデータストアです。
Apicurio Registry を使用して、Web コンソール、REST API、Maven プラグイン、または Java クライアントを使用してデータの構造を管理および共有できます。たとえば、クライアントアプリケーションは、再デプロイせずに最新のスキーマ更新を Apicurio Registry に動的にプッシュまたはプルできます。オプションのルールを作成して、Apicurio Registry のコンテンツが時間とともにどのように進化するかを管理することもできます。このルールには、コンテンツの検証、アーティファクト参照の整合性、スキーマまたは API バージョンの下位互換性または上位互換性が含まれます。
1.1. Apicurio Registry のインストールオプション リンクのコピーリンクがクリップボードにコピーされました!
次のデータストレージオプションのいずれかを使用して、OpenShift に Apicurio Registry をインストールできます。
- PostgreSQL データベース
- Red Hat AMQ Streams
詳細は、OpenShift への Red Hat build of Apicurio Registry のインストールとデプロイ を参照してください。
1.2. Apicurio Registry がサポートするプラットフォーム リンクのコピーリンクがクリップボードにコピーされました!
Apicurio Registry 2.6 は、次のコアプラットフォームをサポートしています。
- Red Hat OpenShift Container Platform: 4.17、4.16、4.15、4.15、4.13、4.12、4.12
- Red Hat OpenShift Service on AWS: 4.14
- Microsoft Azure Red Hat OpenShift: 4.15
- PostgreSQL: 15、14、13、12
- Red Hat AMQ Streams: 2.7、2.5、2.2
- OpenJDK: 17、11
詳細は、次の記事を参照してください。
1.2.1. 他の製品とのインテグレーションをサポート リンクのコピーリンクがクリップボードにコピーされました!
Apicurio Registry 2.6 は、次の製品との統合もサポートしています。
- Red Hat build of Keycloak 24
- Red Hat Single Sign-On (RH-SSO) 7.6
- Red Hat build of Debezium 2.3
1.3. Apicurio Registry の新機能 リンクのコピーリンクがクリップボードにコピーされました!
Apicurio Registry 2.6 には、次の新機能が含まれています。
- Operator メタデータのバージョン
このリリースでは、Operator メタデータのバージョンは Apicurio Registry リリースバージョンと一致します。以前のリリースについては、次の記事を参照してください。
- Red Hat build of Keycloak 24 のサポート
- Red Hat Single Sign-On (RH-SSO) 7.6 は引き続きサポートされますが、新規名称 Red Hat build of Keycloak と呼ばれるようになりました。
- Apicurio Registry Maven プラグインの改善
pom.xmlファイルのautoRefオプションを使用して、Maven プラグインの参照を自動で検出します。詳細は、Registry-3439 を参照してください。これはテクノロジープレビューの機能です。重要テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat では、実稼働環境での使用を推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
Apicurio Registry ユーザーのドキュメントおよび例
ドキュメントライブラリーは、バージョン 2.6 で利用可能な新機能で更新されました。
オープンソースのデモンストレーションアプリケーションは、次の場所から入手できます。
1.4. Apicurio Registry の非推奨機能 リンクのコピーリンクがクリップボードにコピーされました!
Apicurio Registry コアの非推奨機能
- Confluent Schema Registry API バージョン 6 (互換性 API): Apicurio Registry は現在、別のエンドポイントで Confluent Schema Registry API の 2 つのバージョン (バージョン 6 とバージョン 7) をサポートしています。v6 API エンドポイントは非推奨になり、今後のリリースで削除される予定です。v6 API エンドポイントへのすべての参照を v7 API エンドポイントへの参照に置き換えてください。
- Apicurio Registry Core API バージョン 1: Apicurio Registry Core API の元のバージョン (バージョン 1) に対する Apicurio Registry のサポートは廃止予定です。この v1 のレガシー API は、次のメジャーリリースで削除される予定です。
-
動的ログレベル設定:
/admin/loggersおよび/admin/loggers/{logger}API エンドポイントは、v2 Apicurio Registry Core API で非推奨になりました。これらのエンドポイントは今後のリリースで削除される予定です。 - Registry V1 エクスポートユーティリティー: Apicurio コマンドラインエクスポートユーティリティーのレジストリーサポートは廃止されました。Apicurio Registry 1.x から 2.x にインポートできる形式にデータをエクスポートするためのエクスポートツールに対する、リリースおよびメンテナンスがなくなりました。すべてのお客様はすでに 1.x から 2.x にアップグレードしているはずです。
Apicurio Registry Operator の非推奨機能
-
JAVA_OPTIONS environment variable:
JAVA_OPTIONS環境変数は、Apicurio Registry の Java オプションの設定に推奨される方法ではなくなりました。代わりにJAVA_OPTS_APPEND環境変数を使用できます。Java オプションのデフォルトの内容を置き換えるJAVA_OPTS環境変数も使用できます。ただし、一部の Apicurio Registry Operator 機能に干渉する可能性があるため、JAVA_OPTSの使用は避けることを推奨します。 - 有効になっていない機能の環境変数の保持: Apicurio Registry Operator は、Kafka ストレージ使用時の Salted Challenge Response Authentication Mechanism (SCRAM) セキュリティーなど、さまざまな機能を有効にして設定するための環境変数を設定します。このような機能が無効になっている場合、Operator は現在、関連する環境変数を保持しているため、問題が発生する可能性があります。このような環境変数の保持は非推奨となり、それに対する Operator のサポートは削除されます。このような環境変数に依存するデプロイメントは使用しないようにしてください。
-
環境変数の優先順位: Apicurio Registry Operator は、
spec.configuration.envフィールドですでに明示的に指定されている環境変数を設定しようとする場合があります。環境変数に競合する値がある場合、デフォルトでは、Apicurio Registry Operator によって設定された値が優先されます。この動作は今後変更され、Operator によって設定されたほとんどの環境変数をユーザーが上書きできるようになります。デプロイメントが元の優先動作に依存していないことを確認してください。
Apicurio Registry Operator で削除された機能
- デプロイメントリソースを編集して環境変数を設定する: この機能は以前のバージョンで非推奨となり、このリリースで削除されました。
1.5. Apicurio Registry デプロイメントのアップグレードと移行 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift では、Apicurio Registry サーバーを Apicurio Registry 2.x から Apicurio Registry 2.6 に自動的にアップグレードできます。Apicurio Registry 1.x から Apicurio Registry 2.x への自動アップグレードはなく、移行プロセスが必要です。
1.5.1. 2.x クライアントの依存関係の更新 リンクのコピーリンクがクリップボードにコピーされました!
このリリースでは、クライアントの依存関係の更新は必須ではありません。既存の Apicurio Registry 2.x クライアントアプリケーションは、引き続き Apicurio Registry 2.6 で動作します。
ただし、Apicurio Registry の次のリリースの前に、最新バージョンの Apicurio Registry を使用するようにクライアントの依存関係をすべて更新する必要があります。クライアントの依存関係には、Apicurio Registry Kafka シリアライザー/デシリアライザー (SerDes)、Maven プラグイン、および Java クライアントアプリケーションの依存関係が含まれます。
たとえば、Java クライアントアプリケーションの Maven 依存関係を更新するには、次のように pom.xml ファイルでバージョンを指定します。
<dependency>
<groupId>io.apicurio</groupId>
<artifactId>apicurio-registry-client</artifactId>
<version>2.6.13.Final-redhat-00001</version>
</dependency>
詳細は、デフォルトで有効になっているレガシー REST API の日付形式 を参照してください。
1.5.2. OpenShift での Apicurio Registry 2.x からのアップグレード リンクのコピーリンクがクリップボードにコピーされました!
OpenShift 4.11 の Apicurio Registry 2.x から OpenShift 4.12 以降の Apicurio Registry 2.6 にアップグレードできます。Apicurio Registry と OpenShift の両方のバージョンをアップグレードし、OpenShift のマイナーバージョンを 1 つずつアップグレードする必要があります。
前提条件
- OpenShift 4.11 以降に Apicurio Registry 2.x がすでにインストールされている。
既存の Apicurio Registry ストレージデータを Kafka トピックまたは PostgreSQL データベースにバックアップしている。詳細は、OpenShift への Red Hat build of Apicurio Registry のインストールとデプロイ を参照してください。
重要OpenShift の実稼働環境では、アップグレード前にストレージが確実にバックアップされるように、Apicurio Registry の Operator 更新承認ストラテジーを自動ではなく手動に設定することが推奨されます。
手順
- OpenShift Container Platform Web コンソールで、Administration をクリックしてから Cluster Settings をクリックします。
-
Channel フィールドの横にある鉛筆アイコンをクリックし、次のマイナー
candidateバージョンを選択します (たとえば、stable-4.11からcandidate-4.12に変更します)。 - Save をクリックしてから Update をクリックし、アップグレードが完了するまで待ちます。
-
OpenShift バージョンが 4.13 未満の場合は、手順 2 と 3 を繰り返して、
candidate-4.13以降を選択します。 - Operators > Installed Operators > Red Hat Integration - Service Registry をクリックします。
-
Update channel が
2.xに設定されていることを確認します。 -
Update approval が Automatic に設定されている場合は、
2.xチャネルが設定された直後にアップグレードを承認してインストールする必要があります。 - Update approval が Manual に設定されている場合は、Install をクリックします。
- Operator がデプロイされ、Apicurio Registry Pod がデプロイされるまで待ちます。
- Apicurio Registry システムが稼働中であることを確認します。
関連情報
- OpenShift Container Platform Web コンソールで Operator 更新チャネルを設定する方法の詳細は、Operator の更新チャネルの変更 を参照してください。
1.5.3. OpenShift 上の Apicurio Registry 1.1 からの移行 リンクのコピーリンクがクリップボードにコピーされました!
Apicurio Registry 1.1 から Apicurio Registry 2.x への移行の詳細は、Red Hat build of Apicurio Registry デプロイメントの移行 を参照してください。
1.6. Apicurio Registry の解決済みの問題 リンクのコピーリンクがクリップボードにコピーされました!
| 問題 | 説明 |
|---|---|
| Maven プラグイン Ignoring Referenced Schema Version と Fetching Latest Version instead |
| 問題 | 説明 |
|---|---|
| 参照先であるスキーマを削除することが困難になるはずです。 | |
| スキーマの作成後に追加されたときに所有者のみのポリシーが強制されない | |
| Operator には Ingress への IngressClass 参照を提供する方法が必要です。 |
| 問題 | 説明 |
|---|---|
| GraphQL アーティファクトの自動検出が機能しない |
| 問題 | 説明 |
|---|---|
| JSON スキーマ内の複数の参照があると Apicurio の逆参照されたスキーマが失敗する | |
| Registry 2.6 のさまざまな問題 | |
| apicurio レジストリーの更新と例 |
| 問題 | 説明 |
|---|---|
| ソフトウェアビルドの再現性 | |
| サービスレジストリー Operator: 2.6.1 にアップグレードした後、サービスレジストリーアプリケーションで https が機能しない |
| 問題 | 説明 |
|---|---|
| CR で定義された podTemplateSpecPreview (initContainers) は、デプロイメントリソースに伝播されません。 |
1.7. Apicurio Registry が解決した CVE リンクのコピーリンクがクリップボードにコピーされました!
次の Common Vulnerabilities and Exposures (CVE) は Apicurio Registry 2.6 で解決されています。
| CVE | 説明 |
|---|---|
| LZ4 ライブラリーにおけるヒープベースのバッファーオーバーフローの脆弱性により、悪意のあるアクターがデータの破損やクラッシュを引き起こす可能性があります。 | |
| Python の tarfile モジュールの脆弱性により、攻撃者は目的の抽出ディレクトリー外のファイルのメタデータまたはパーミッションを変更できます。 | |
| GNOME GLib の欠陥により、認証されたローカル攻撃者はスプーフィングされた D-Bus シグナルを送信することができ、これにより、クライアントがアプリケーション依存の影響で誤って動作する可能性があります。 | |
| GNOME GLib の SOCKS プロキシーコードのバッファーオーバーフローにより、サービス拒否、情報漏えい、またはデータの変更が発生する可能性があります。 | |
| Python の tarfile モジュールの脆弱性により、攻撃者は抽出フィルターを無視し、宛先ディレクトリー外のファイルへのシンボリックリンクを作成できます。 | |
| Python の tarfile モジュールの脆弱性により、攻撃者は抽出フィルターをバイパスし、シンボリックリンクが目的のディレクトリー外のファイルを指すことができるようになります。 | |
| GNOME GLib の gstring_insert_unichar ()関数の整数オーバーフローの脆弱性により、バッファーの書き込みやメモリーの破損につながる可能性があります。 | |
| Python の setuptools の脆弱性により、アーカイブの抽出中に特定のエラーレベル設定が使用される場合、意図しないファイルの抽出が可能になります。 | |
| Python の tarfile モジュールの重大な脆弱性により、抽出ディレクトリー外で任意のファイルシステムを書き込むことが可能になります。 | |
| libxml2 の xmlBuildQName 関数での整数オーバーフローにより、スタックベースのバッファーオーバーフローが発生し、メモリー破損やサービス拒否(DoS)が発生する可能性があります。 | |
| SQLite のメモリー破損の脆弱性は、集約条件の数が列の数を超える、細工された SQL クエリーを介して悪用される可能性があります。 | |
| libxslt の Use-After-Free 脆弱性により、属性タイプフラグが変更されると、メモリーが破損し、アプリケーションがクラッシュする可能性があります。 | |
| libxslt の脆弱性により、スタックベースのバッファーが読み取りを超えたため、攻撃者はサービス拒否状態を引き起こす可能性があります。 | |
| Oracle Java SE の 2D コンポーネントの脆弱性は、認証されていない攻撃者によってシステムやリークデータを引き継ぐ可能性があります。 | |
| Oracle Java SE の JSSE コンポーネントの脆弱性により、認証されていない攻撃者は、細工された TLS ハンドシェイクを介して、データへの不正な読み取り、挿入、更新、または削除を行うことができます。 | |
| libxml2 の Python API でバインドされていないメモリーアクセスの脆弱性により、情報漏えいやデータの変更につながる可能性があります。 | |
| setuptools Python パッケージのパストラバーサルの脆弱性により、攻撃者はファイルシステムの任意の場所にファイルを書き込むことができます。 | |
| libxml2 の Use-After-Free 脆弱性は、XPath 要素で特別に細工された XML ドキュメントによってトリガーされる可能性があり、メモリーが破損します。 | |
| libxml2 の範囲外の読み取り脆弱性は、特別に細工された XML ファイルによってトリガーされる可能性があり、メモリー破損やサービス拒否につながる可能性があります。 | |
| Oracle Java SE のネットワーク脆弱性は、ネットワークアクセス権を備えている認証されていない攻撃者によって悪用され、不正なデータアクセスにつながる可能性があります。 | |
| Oracle Java SE の 2D コンポーネントの脆弱性により、機密性、整合性、および可用性に高い影響を与える完全なシステムテイクオーバーが発生する可能性があります。 |
| CVE | 説明 |
|---|---|
|
glibc の欠陥により、 | |
| libxml2 の Python API でバインドされていないメモリーアクセスの脆弱性により、情報漏えいやデータの変更につながる可能性があります。 |
| CVE | 説明 |
|---|---|
| XML ドキュメントの再帰的なエンティティー拡張を処理する方法により、スタックオーバーフローの脆弱性が libexpat ライブラリーに存在します。深くネストされたエンティティー参照を持つ XML ドキュメントを解析する場合、libexpat は無期限に再送することができます。 | |
| libtasn1 に欠陥があると、特定の証明書データの非効率な処理が発生します。証明書で多数の要素を処理する場合、libtasn1 は予想よりもはるかに時間がかかり、システムの速度が低下したり、クラッシュしたりする可能性があります。 | |
| ASN.1 データ処理の libtasn1 に依存する GnuTLS に欠陥が見つかりました。この欠陥により、リモートの攻撃者は特別に細工された証明書を送信できるようになり、GnuTLS が応答しなくなったり、遅くなり、サービス拒否状態が生じる可能性があります。 | |
| MIT Kerberos 実装の脆弱性により、RC4-HMAC-MD5 を使用する GSSAPI で保護されるメッセージを偽装できます。攻撃者は MD5 の競合を悪用して、メッセージの整合性コードを偽造する可能性があります。これにより、不正なメッセージの改ざんが発生する可能性があります。 | |
| Oracle Java SE、Oracle GraalVM for JDK、Oracle GraalVM Enterprise Edition製品、Oracle Java SE (component: JSSE)製品の脆弱性によって、APIを使用して悪用される可能性のある脆弱性が発生する。 | |
| Oracle Java SE (component: Compiler)の脆弱性により、API を使用して悪用される可能性のある脆弱性が発生します。 | |
| Oracle Java SE、Oracle GraalVM for JDK、Oracle Java SE の Oracle GraalVM Enterprise Edition 製品(コンポーネント:2D)の脆弱性。この脆弱性への攻撃に成功すると、一部のデータへの不正アクセスの更新、挿入、または削除が行われる可能性があります。 |
| CVE | 説明 |
|---|---|
| データの整合性エラーは、展開時に Linux カーネルの bzip2 機能で見つかりました。ローカルユーザーがこれらのファイルを解凍した結果として、予期せぬ結果(またはデータが破損する)が発生する可能性がありました。 |
| CVE | 説明 |
|---|---|
|
Python | |
|
Python で欠陥が見つかりました。関数 |
| CVE | 説明 |
|---|---|
| Apache Avro に脆弱性が見つかりました。この脆弱性により、攻撃者は特殊な "java-class" 属性を使用してリモートコード実行をトリガーできます。 |
| CVE | 説明 |
|---|---|
| curl: HTTP/2 プッシュヘッダーのメモリーリーク。 |
| CVE | 説明 |
|---|---|
| Quarkus の脆弱性により、ローカル設定プロパティーが Quarkus アプリケーションに漏洩します。 | |
| Express.js フレームワークの不具合により、不正な形式の URL が評価されます。 | |
| webpack-dev-middleware パッケージの不具合により、ファイル漏洩が発生する可能性があります。 | |
| jose4j ライブラリーの脆弱性により、特別に細工された JWE を介してサービス拒否が発生する可能性があります。 | |
| jetty Web サーバーの脆弱性により、サーバーが有効なクライアントからの新しい接続の受け入れを停止する可能性があります。 |
1.8. Apicurio Registry の既知の問題 リンクのコピーリンクがクリップボードにコピーされました!
Apicurio Registry 2.6 には次の既知の問題があります。
Apicurio Registry コアの既知の問題
IPT-1143 - ResultSet リソースの漏洩に関して誤解を招く "warning" ログメッセージが表示される
ログに次のようなメッセージが表示される場合があります。
2024-07-24 08:33:53 WARN <> [io.quarkus.agroal.runtime.AgroalEventLoggingListener] (executor-thread-3) Datasource '<default>': JDBC resources leaked: 1 ResultSet(s) and 0 Statement(s)
JDBC リソースは漏洩されていないため、このメッセージは正しくありません。
これらのメッセージは無視しても問題ありません。
Registry-3413: レガシー REST API の日付形式がデフォルトで有効。
互換性を最大限に高め、Apicurio Registry の古いバージョンから簡単にアップグレードできるように、OpenAPI 標準に準拠しない日付形式が Apicurio Registry REST API で使用されています。これは古いバージョンのバグが原因です。
次の Apicurio Registry リリースの前に、すべてのクライアントアプリケーションをアップグレードして最新の Apicurio Registry クライアントバージョンを使用するようにしてください。次のリリースでは日付形式のバグが修正されるため、古いクライアントは REST API と互換性がなくなります。
REST API を OpenAPI 準拠に更新するには、この バージョンの Apicurio Registry の日付形式のバグを次のように修正します。
-
2. x クライアントの依存関係の更新 の説明に従って、すべてのクライアントアプリケーションをバージョン
2.6.13.Final-redhat-00001に更新します。 次の環境変数を、以下に示されている値に設定します。
REGISTRY_APIS_V2_DATE_FORMAT=yyyy-MM-dd'T'HH:mm:ss'Z'
IPT-814: Apicurio Registry のログアウト機能が RH-SSO 7.6 と互換性がない
RH-SSO 7.6 では、ログアウトエンドポイントで使用される redirect_uri パラメーターが非推奨になりました。詳細は、RH-SSO 7.6 アップグレードガイド を参照してください。これは非推奨であるため、RH-SSO Operator を使用して Apicurio Registry のセキュリティー保護を行っている場合は、Logout ボタンをクリックすると、Invalid parameter: redirect_uri エラーが表示されます。
回避策は、https://access.redhat.com/solutions/6980926 を参照してください。
IPT-701: CVE-2022-23221 H2 により、JNDI を介してリモートサーバーからカスタムクラスをロードできる
Apicurio Registry データが AMQ Streams に保存されている場合、H2 データベースコンソールにより、リモート攻撃者は JDBC URL を使用して任意コードを実行できます。Apicurio Registry はデフォルトでは脆弱ではなく、悪意のある設定変更が必要です。
Apicurio Registry Operator の既知の問題
Operator-42: OpenShift ルートの自動生成では、間違ったベースホスト値が使用される可能性がある
複数の routerCanonicalHostname 値が指定されている場合は、Apicurio Registry OpenShift ルートの自動生成で間違ったベースホスト値が使用される可能性があります。
付録A サブスクリプションの使用 リンクのコピーリンクがクリップボードにコピーされました!
Apicurio Registry は、ソフトウェアサブスクリプションから提供されます。サブスクリプションを管理するには、Red Hat カスタマーポータルでアカウントにアクセスします。
アカウントへのアクセス
- access.redhat.com に移動します。
- アカウントがない場合は作成します。
- アカウントにログインします。
サブスクリプションのアクティベート
- access.redhat.com に移動します。
- My Subscriptions に移動します。
- Activate a subscription に移動し、16 桁のアクティベーション番号を入力します。
ZIP および TAR ファイルのダウンロード
ZIP または TAR ファイルにアクセスするには、カスタマーポータルを使用して、ダウンロードする関連ファイルを検索します。RPM パッケージを使用している場合、この手順は必要ありません。
- ブラウザーを開き、access.redhat.com/downloads で Red Hat カスタマーポータルの Product Downloads ページにログインします。
- Integration and Automation カテゴリーで Red Hat Integration エントリーを見つけます。
- 目的の Apicurio Registry 製品を選択します。Software Downloads ページが開きます。
- コンポーネントの Download リンクをクリックします。
改訂日時: 2025-10-16