Apicurio Registry 2.3 のリリースノート
Apicurio Registry の Red Hat ビルドの新機能
概要
第1章 Apicurio Registry リリースノート リンクのコピーリンクがクリップボードにコピーされました!
Apicurio Registry 2.3 の Red Hat ビルドは、一般提供リリースとして提供されます。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 での Apicurio Registry の Red Hat ビルドのインストールとデプロイ を参照してください。
1.2. Apicurio Registry がサポートするプラットフォーム リンクのコピーリンクがクリップボードにコピーされました!
Apicurio Registry 2.3 は、次のプラットフォームコンポーネントのバージョンをサポートしています。
- Red Hat OpenShift Container Platform 4.8 - 4.12
- Red Hat OpenShift Service on AWS
- Microsoft Azure Red Hat OpenShift
- PostgreSQL 12 - 15
- Red Hat AMQ Streams 2.1 - 2.3
- Red Hat Single Sign-On (RH-SSO) 7.6
- OpenJDK 11
1.3. Apicurio Registry の新機能 リンクのコピーリンクがクリップボードにコピーされました!
Apicurio Registry 2.3 には、次の新機能が含まれています。
- Apicurio レジストリーの認証と承認
- ロールベースの承認の拡張 - 以前と同様に、RH-SSO だけでなく、Apicurio Registry でもロールベースの承認を設定できるようになりました。Apicurio Registry アプリケーションでロールベースの承認が有効になっている場合は、Web コンソールまたは REST API を使用してアクセスを制御できます。
- 拡張された所有者ベースの許可 - 以前のようにアーティファクトベルだけでなく、アーティファクトグループレベルでも所有者ベースの許可オプションを有効にできるようになりました。
- 匿名の読み取りアクセス - 匿名の読み取りアクセスオプションが有効になっていると、認証されていない (匿名の) ユーザーは、読み取り専用ですべてのアーティファクトにアクセスできます。
- 認証された読み取りアクセス - 認証された読み取りアクセスオプションが有効になっていると、ユーザーに Apicurio egistry ロールが付与されていない場合でも、認証されたユーザーは読み取り専用ですべてのアーティファクトにアクセスできます。
- HTTP 基本認証 - このオプションを有効にすると、ユーザーまたはクライアントアプリケーションは HTTP 基本認証を使用して Apicurio Registry にアクセスできます。
- Kafka ストレージのカスタム TLS 証明書 - ストレージに Kafka を使用する場合、ユーザーはカスタム TLS 証明書を使用して安全に Kafka に接続できるようになりました。
- アーティファクト所有者の変更 - 管理者またはアーティファクト所有者は、REST API または Web コンソールを使用して、特定のスキーマまたは API アーティファクトの所有者を変更できます。
- 運用と監視の改善
- 監査ログ - Apicurio Registry データに変更を加えると、監査ログエントリーが作成されます。
- Prometheus メトリック - メトリックは、モニタリングで使用するために Prometheus 形式で公開されます。
- Sentry 統合 - Sentry 1.x とオプションで統合されます。
- Operator の改善
-
カスタム環境変数 -
ApicurioRegistryカスタムリソースで任意の環境変数を設定できるようになりました。これらの変数は、Deploymentリソースを使用して Apicurio Registry に適用されます。 - PodDisruptionBudget のサポート - このリソースは自動的に作成され、最大で 1 つのレプリカを使用できないようにします。
- NetworkPolicy のサポート - Apicurio Registry Operator は、ポート 8080 のイングレスネットワークポリシーを作成します。
-
カスタム環境変数 -
- アーティファクト参照
- アーティファクトは、Apicurio Registry 内の他のアーティファクトを参照できるようになりました。多くのサポート対象アーティファクトタイプは、別のファイルへの参照が許可されています。たとえば、OpenAPI ファイルには、プロパティーが別のファイルで定義された JSON スキーマを参照されているデータ型が含まれている場合があります。通常、これらの参照にはアーティファクトタイプに固有の構文があります。REST API を使用してマッピングを作成し、タイプ固有の参照を Apicurio Registry に登録されたアーティファクトに解決できるようになりました。
- Apicurio Registry インスタンスの動的グローバル設定
- Apicurio Registry には、通常、デプロイ時に設定される多くのグローバル設定オプションがあります。これらのオプションのサブセットは、Apicurio Registry インスタンスの実行時にも設定できるようになりました。これらのオプションは、REST API または Web コンソールを使用して実行時に管理できます。たとえば、これらのオプションには、所有者ベースの承認、匿名の読み取りアクセス、および認証された読み取りアクセスが含まれます。
- URL からのアーティファクトのアップロード
- サポートされているファイルからアップロードするだけでなく、URL からスキーマまたは API アーティファクトをアップロードできるようになりました。Apicurio Registry Web コンソールまたは REST API を使用してアップロードできます。
- Web コンソールの強化
-
Apicurio Registry データのインポートとエクスポート - 管理者ユーザーは、以前のように REST API を使用するだけでなく、Web コンソールを使用してすべての Apicurio Registry データを
.zipファイルにエクスポートできるようになりました。その後、この.zipファイルを別の Apicurio Registry デプロイメントにインポートできます。 - アーティファクトプロパティーの完全なサポート - Apicurio Registry のアーティファクトには、名前、説明、ラベル (単純なキーワードリスト)、およびプロパティー (名前と値のペア) など、編集可能なユーザー定義メタデータを含めることができます。Web コンソールは、以前の REST API に加えて、プロパティーの表示と編集もサポートするように強化されました。
- AsyncAPI アーティファクトのドキュメント生成 - AsyncAPI アーティファクトで、アーティファクトの詳細ページの Documentation タブがサポートされるようになりました。このタブには、AsyncAPI コンテンツから生成された人間が判読できるドキュメントが表示されます。この機能は、以前は OpenAPI アーティファクトでのみ提供されていました。
- JSON を YAML として表示するオプション - JSON 形式の成果物タイプの場合は、成果物の詳細ページの Content タブで、JSON 形式と YAML 形式の切り替えがサポートされるようになりました。
-
Apicurio Registry データのインポートとエクスポート - 管理者ユーザーは、以前のように REST API を使用するだけでなく、Web コンソールを使用してすべての Apicurio Registry データを
- REST API の改善
-
/users/me エンドポイントの改善 - Apicurio Registry コア REST API には、現在認証されているユーザーに関する情報を返す
/users/meエンドポイントがあります。このエンドポイントを使用して、ユーザーに割り当てられたロールを検査し、その機能を判断できます。 - Confluent Compatibility API のサポートの更新 - Apicurio Registry は Confluent Schema Registry API バージョン 6 をサポートするようになりました。
-
/users/me エンドポイントの改善 - Apicurio Registry コア REST API には、現在認証されているユーザーに関する情報を返す
Apicurio Registry ユーザーのドキュメントおよび例
ドキュメントライブラリーは、バージョン 2.3 で利用可能な新機能で更新されました。
オープンソースのデモンストレーションアプリケーションも更新されました。
1.4. Apicurio Registry の非推奨機能 リンクのコピーリンクがクリップボードにコピーされました!
- Apicurio Registry バージョン 1.x
- Apicurio Registry バージョン 1.x は、バージョン 2.0 で廃止され、完全にサポートされなくなりました。詳細は、Red Hat Application Services Product Update and Support Policy を参照してください。
1.5. Apicurio Registry デプロイメントのアップグレードと移行 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift では、Apicurio Registry 2.0 から Apicurio Registry 2.3 に自動的にアップグレードできます。Apicurio Registry 1.x から Apicurio Registry 2.x への自動アップグレードはなく、移行プロセスが必要です。
1.5.1. OpenShift での Apicurio Registry 2.0 デプロイメントのアップグレード リンクのコピーリンクがクリップボードにコピーされました!
OpenShift 4.9 の Apicurio Registry 2.0.3 から OpenShift 4.11 以降の Apicurio Registry 2.3.x にアップグレードできます。Apicurio Registry と OpenShift の両方のバージョンをアップグレードし、OpenShift のマイナーバージョンを 1 つずつアップグレードする必要があります。
前提条件
- すでに OpenShift 4.9 に Apicurio Registry 2.0.3 がインストールされている。
手順
- OpenShift Container Platform Web コンソールで、Administration をクリックしてから Cluster Settings をクリックします。
-
Channel フィールドの横にある鉛筆アイコンをクリックし、次のマイナー
candidateバージョンを選択します (たとえば、stable-4.9からcandidate-4.10に変更します)。 - Save をクリックしてから Update をクリックし、アップグレードが完了するまで待ちます。
-
OpenShift のバージョンが 4.11 未満の場合は、手順 2 と 3 を繰り返し、
candidate-4.11以降を選択します。 - 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.2. OpenShift での Apicurio Registry 1.1 デプロイメントの移行 リンクのコピーリンクがクリップボードにコピーされました!
Apicurio Registry 1.1 デプロイメントを Apicurio Registry 2.x に移行する方法の詳細は、Apicurio Registry デプロイメントの Red Hat ビルドの移行 を参照してください。
1.6. Apicurio Registry の解決済みの問題 リンクのコピーリンクがクリップボードにコピーされました!
| 問題 | 説明 |
|---|---|
| コア v1 互換性の REST API エンドポイントが、認証で適切に保護されていない。 | |
| Web コンソールが、HTTPS ではなく HTTP に誤ってリダイレクトする。 | |
|
Apicurio Registry は、新しいアーティファクトのアップロード中に | |
| Confluent 互換性レイヤーが JSON スキーマアーティファクトで機能しない。 | |
|
| |
| Confluent 互換レイヤーのスキーマ DTO は完全には互換性がない。 | |
| Web コンソールはロールの無効化機能に沿って正しく動作しない。 | |
| Confluent 互換性 API v6 がアーティファクトを返さない。 | |
|
| |
|
Web コンソールに一貫性のない | |
|
| |
| 推移的な互換性ルールでは、誤検知が発生する可能性があります。 |
| 問題 | 説明 |
|---|---|
|
Avro 互換性チェックが、 | |
| Apicurio Registry Maven プラグインで Avro をミニファイするオプションを追加する。 | |
| Confluent 互換性 API で最大サブジェクトを設定可能にする。 | |
| Confluent 互換 API で空のスキーマが提供された場合に例外を出力する。 | |
| Confluent 互換性 API でデフォルトの JSON 値の処理を修正する。 | |
|
遅いマシンでは、 | |
| Apicurio Registry 互換性ルールのバージョンの順序を修正する。 | |
|
レジストリーエクスポート API 操作で | |
| Apicurio Registry イベントソーシングを設定すると、HTTP エラーが発生する。 | |
|
Protobuf スキーマバージョンのアップロードが |
1.7. Apicurio Registry が解決した CVE リンクのコピーリンクがクリップボードにコピーされました!
| 問題 | 説明 |
|---|---|
| CVE-2022-25858 terser: 安全でない正規表現を使用すると ReDoS が発生する。 | |
| CVE-2022-37734 graphql-java: 悪意のあるクエリーが原因で DoS が発生する。 | |
| CVE-2022-25857 snakeyaml: コレクションのネストされた深さ制限の欠如による DoS。 | |
| CVE-2022-31129 moment: 非効率的な解析アルゴリズムにより DoS が発生する。 | |
| CVE-2022-25647 com.google.code.gson-gson: 信頼されていないデータが逆シリアル化される。 | |
|
CVE-2022-24773 node-forge: | |
| CVE-2022-24772 node-forge: 署名の検証が末尾のガベージバイトのチェックに失敗すると、署名の偽造につながる可能性がある。 | |
|
CVE-2022-24771 node-forge: | |
| CVE-2022-26520 jdbc-postgresql: 任意のファイル書き込みの脆弱性。 | |
|
CVE-2022-0536 follow-redirects: | |
| CVE-2022-0235 node-fetch: 権限のないアクターへの機密情報が公開される。 | |
| CVE-2022-23647 Prismjs: 不適切にエスケープされた出力により、XSS の脆弱性が発生する可能性がある。 | |
| CVE-2022-0981 quarkus: Quarkus の RestEasy Reactive スコープリークによる権限昇格の脆弱性がある。 | |
| CVE-2022-21724 quarkus-jdbc-postgresql-deployment: プラグインクラスを指定するときにクラスのインスタンス化がチェックされない。 | |
| CVE-2021-22569 protobuf-java: バイナリーデータの解析手順で DoS が発生する可能性がある。 | |
| CVE-2021-41269 cron-utils: 認証されていないリモートコード実行の脆弱性につながるテンプレートインジェクション。 | |
|
CVE-2021-37136 netty-codec: | |
|
CVE-2021-37137 netty-codec: |
1.8. Apicurio Registry の既知の問題 リンクのコピーリンクがクリップボードにコピーされました!
次の既知の問題は、Apicurio Registry 2.3.3 に適用されます。
Apicurio Registry コアの既知の問題
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 ルートの自動生成で間違ったベースホスト値が使用される可能性があります。