20.04.06 - Apigee Edge for Public Cloud リリースノート

現在、Apigee Edge のドキュメントを表示しています。
Apigee X のドキュメントをご確認ください
情報

以下の日付より、Apigee Edge for Public Cloud に対するコンポーネント アップデートのリリースを開始しました。

  • Message Processor: 2020 年 5 月 1 日(金曜日)
  • API 管理: 2020 年 4 月 20 日(月曜日)
  • 収益化の管理: 2020 年 4 月 20 日(月曜日)
  • API 管理パッチリリース: 2020 年 6 月 22 日(月曜日)
  • 収益化管理パッチリリース: 2020 年 7 月 6 日(月曜日)
  • Management Server セキュリティ アップデート:2020 年 8 月 24 日(月曜日)
  • バグの修正を含む Message Processor パッチリリース: 2020 年 9 月 24 日(木曜日)
  • バグの修正が含まれる Message Processor パッチリリース: 2020 年 10 月 26 日(月曜日)
  • バグの修正を含む Message Processor パッチリリース: 2021 年 2 月 1 日(月曜日)

新機能とアップデート

このリリースにおける新機能とアップデートは次のとおりです。

JWT ポリシー

  • JWT 暗号化

    JWT ポリシーを使用すると、暗号化されたトークンを生成、検証、デコードできます。ポリシーの新しい要素には、次のものがあります。

    • <Type> - トークンに署名するか暗号化するかを設定できます。
    • <EncryptionAlgorithms> - <Key> および <Content> 暗号化アルゴリズムを設定できます。

    (67165581)

  • 署名付きトークンでの PSS アルゴリズムのサポート

    JWT と JWS を生成および検証するためのポリシーが、IETF RFC 7518 に記載されているように、PS256、PS384、PS512 アルゴリズムをサポートするようになりました。(119856499)

  • トークンの GenerateJWT の相対開始時間

    GenerateJWT ポリシーを使用して JWT を生成する場合、<NotBefore> 要素で、トークンが生成されてから有効になるまでの相対時間を指定できます。たとえば、<NotBefore> の値が 2h の場合、トークンは生成後 2 時間有効ではありません。<NotBefore> 時間は、ミリ秒(ms)、秒(s)、分(m)、時間(h)、日(d)、週(w)の単位で設定できます。(126261970)

  • VerifyJWT の公開鍵/証明書を参照する

    VerifyJWT ポリシーでは、<PublicKey> / <Certificate> 要素を使用して PEM 形式の証明書を参照し、受け取った JWT 署名を検証できます。例:

    <PublicKey>
      <Certificate ref='public.certificate_pem'/>
    </PublicKey>

    (132918033)

メッセージ テンプレート関数

このリリースで利用できる新しい メッセージ テンプレート関数は次のとおりです。

  • firstnonull - 最初(左端)の非 null 引数の値を返します。(139698514)
  • xpath - XML パス(XPath)式を適用して、XML 変数を解析できます。(123246424)

AssignMessage ポリシー: AssignVariable では、メッセージ テンプレートを参照できます。

AssignMessage ポリシーでは、<AssignVariable> / <Template> 要素で ref 属性を使用できます。これにより、実行時にテンプレートを挿入できます。このテンプレートは、ポリシーを変更せずに変更できます。(118396082)

複数の証明書エイリアス

TLS を構成して、それぞれ異なるエイリアスを持つ複数の証明書をキーストアで使用する場合、Edge では、<SSLInfo><KeyAlias> 構成内の特定の証明書エイリアスを参照できます。この更新された動作を有効にするには、Message Processor の http.properties ファイルで新しい HTTPClient.choose.alias.by.keyalias プロパティを true に設定します。Edge for Public Cloud ユーザーがこのプロパティを追加するには、 サポートにお問い合わせいただく必要があります。(142141620)

JSONtoXML ポリシー: XML 宣言を省略し、出力をインデントする

JSONtoXML ポリシーに 2 つの新しいブール値オプションが追加され、XML 出力をより詳細に制御できるようになりました。

  • <Options> <OmitXmlDeclaration> - true(デフォルトは false)に設定すると、<OmitXmlDeclaration> 要素では、ポリシーによって生成されたデフォルトの <?xml version="1.0" encoding="UTF-8"?> XML 宣言が省略されます。
  • <Options> <Indent> - true(デフォルトは false)に設定すると、<Indent> 要素によって XML 出力がインデントされます。たとえば、次の出力は次のようになります。

    <Array><n>1</n><n>2</n><n>3</n></Array>

    インデント要素は次のようになります。

    <Array>
     <n>1</n>
     <n>2</n>
     <n>3</n>
    </Array>

(65142394)

仮想ホストスキャンのレスポンス

Apigee エンドポイントの IP アドレスに対してリクエストが行われた場合(仮想ホストが指定されていない場合)、Edge は HTTP 200 レスポンスを返し、その IP アドレスに関連付けられたデフォルトの Apigee 仮想ホストから空白の HTML ドキュメントを返します。このようなレスポンスが悪用されるおそれのある潜在的な脆弱性を示しているという誤った印象を与えないように、接続は切断され、レスポンスは返されません。(140005396)

トラブルシューティングに役立つ Trace のターゲット サーバー プロパティ

新しいトレース プロパティ isHttpClientCachedisFromClientPool は、ターゲット サーバーの HTTPClient がキャッシュに保存されたかどうかを示すことで、ターゲット接続に関する問題のトラブルシューティングに役立ちます。(140574604)

MessageLogging ポリシー: Syslog メッセージ

MessageLogging ポリシーでは、新しい <Syslog> / <PayloadOnly> 要素(ブール値)を使用して、定義した <Message> に自動的に何かが追加されるかどうかを決定できます。<PayloadOnly> を true に設定すると、<FormatMessage> の設定に関係なく、メッセージ定義の前には何も追加されません。false(デフォルト)に設定すると、<FormatMessage> 設定によってログメッセージの先頭に付加される内容が決まります。(68722102)

キャッシュ ポリシーの有効期限

ResponseCache ポリシーPopulateCache ポリシーの新しい <TimeoutInSeconds> 有効期限要素は、既存の <TimeoutInSecs> 要素が本来動作するように動作していました。新しい要素を使用してください。 下位互換性のため、非推奨の <TimeoutInSecs> 要素も引き続き存在します。<TimeoutInSecs> 要素と <TimeoutInSeconds> 要素の両方が構成されている場合、Edge は <TimeoutInSeconds> を使用します。(119172893)

virtualhost.aliases.values フロー変数

新しい読み取り専用 virtualhost.aliases.values メッセージ フロー変数は、受信リクエストで呼び出された仮想ホストに割り当てられたすべてのエイリアスを JSON 形式の配列として返します。(128453178)

プロキシ リビジョンを確実に削除するための新しいパラメータ。

新しい force クエリ パラメータが API プロキシ リビジョンの削除に追加されました。リビジョンが List API Proxies API にリストされていて、実際にはクエリできない場合は、このパラメータにより、プロキシ リビジョンが確実に削除されます。(111691721)

次に例を示します。

DELETE /v1/organizations/myorg/apis/myproxy/revisions/2?force=true

仮想ホスト エイリアス値の新しいフロー変数

新しい読み取り専用 virtualhost.aliases.values メッセージ フロー変数は、受信リクエストで呼び出された仮想ホストに割り当てられたすべてのエイリアスを JSON 形式の配列で返します。(128453178)

修正済みのバグ

このリリースでは以下のバグが修正されています。このリストは、サポート チケットの修正状況を確認するユーザーを対象としています。すべてのユーザーに詳細情報を提供することを目的としたものではありません。

問題 ID コンポーネント名 説明
143313772 Message Processor

UseEffectiveCount が有効になっていてローリング再起動が発生したときに発生する SpikeArrest ポリシーの問題を修正しました。

(2021 年 2 月 1 日のパッチリリース以降)。

154428338 API ランタイム

キーストアが類似の名前やエイリアスで構成されている場合、Message Processor は環境の読み込みに失敗します。

同様の命名規則を持つキーストアを読み込む際の正規表現検索の競合が修正されました。この結果、キーストアに関連付けられた環境の読み込みに、Message Processor が失敗したか、検索時に複数の競合するキーストアが返された場合は、起動に失敗していました。

149507805 API 管理

すべての本番環境の MGMT サーバーで HTTP 経由のデプロイ/構成を有効にする

構成の更新は RPC ではなく HTTP 経由で行われるため、信頼性が向上し、エラーのロギングが行われます。

137217974 API 管理

HTTP 経由で MP を構成する場合、ターゲット サーバーがまだ使用中の場合に、エラーを適切に反映

問題 149507805 で導入された信頼性の改善により、削除が失敗したときにターゲット サーバーの削除からのレスポンス エラーが、誤ってステータス 200(成功)として報告されていました。この修正により、削除に失敗した場合、レスポンス エラーがステータス 400 として正しく報告されるようになりました。 現在デプロイされているプロキシによってターゲット サーバーが参照されている場合、ターゲット サーバーの削除が失敗する可能性があります。ターゲット サーバーを削除する前に、現在デプロイされている API プロキシからターゲット サーバーが参照されていないことを確認してください。

69765558 API 管理

Resource Permissions API が 403 を返す

149545506 API 管理

ユーザーをロールに追加する際の API のセキュリティの問題を修正しました。

131246911 API 管理 デベロッパー メールをポータルで受け取る場合、*.games、*.asia などの新しいドメインのサポートを有効にする

*.games*.asia*.africa などの一部のドメイン名が原因で、ドメイン バリデータで認識されないことが原因で Edge でデベロッパーの作成が失敗するという問題が修正されました。現在 Edge は、メールアドレス形式が有効(「@」記号を含む)のみを検証するようになりました。

142217645 API 管理

PUT v1/o/{org_name}/apiproducts/{product_name} で割り当てが削除されない

162299668 管理サーバー

潜在的なセキュリティの脆弱性が修正されました。

135856488 管理サーバー

UI の動作が遅い

139407965 管理サーバー

KVM を名前なしで作成できる問題を修正しました。

112488235 管理サーバー

名前にスペースを含む仮想ホストが作成されるのを防ぐために、検証が追加されました。スペース文字は仮想ホスト名に使用できません。

132433193 収益化の管理

アプリケーションのアップデートに関する問題が修正されました。

152514520 収益化の管理

エンティティを削除するための Management API 呼び出しに関する問題を修正しました。

128450374 API ランタイム

JWT/JWS ポリシーは IgnoreUnresolvedVariables を尊重し、変数が定義されていない場合は適切なエラーをスローします

135354517 API ランタイム

BasicAuth で「String」データ型が厳格に適用されたため、Release_190301 で組織の処理が失敗する

131763486 API ランタイム

Message Processor では共有フローのベースパスを無視する必要がある

135972575 API ランタイム

Private Cloud 4.19.01 は、override=true&delay=300 を指定してデプロイ中に異なる動作を示す

この修正は、今後の Edge for Private Cloud リリースに含まれます。

141601836 API ランタイム

ログメッセージのホスト名を修正

116834109 API ランタイム

Trace で failed、fault.cause、fault.name の各変数の値が正しくない

130653816 API ランタイム

ランタイム トラフィックに対して断続的に 404 が発生する

132777537 API ランタイム

有効な JSONPath で ExtractVariables ポリシーが失敗する

133713555 API ランタイム

Edge Router の変更日ヘッダー

133253435 API ランタイム

Apigee メインスレッドによる高い CPU 使用率

111553402 API ランタイム

パスに無効な文字が含まれる API プロダクトがランタイムまでキャッチされない

126240341 API ランタイム

GenerateJWT ポリシーの失敗時の一般的な「Generation Failed」メッセージを改善

119854424 API ランタイム

単一ターゲット サーバーを持つ LoadBalancer は、接続障害が発生しても非アクティブにならない

129275412 API ランタイム

汎用 IP スキャン用のフォールバック仮想ホストに HTTP ヘッダーを追加する

129351507 API ランタイム

パスワードにコロンが含まれていると BasicAuthentication ポリシーのデコードに失敗する

65852874 API ランタイム

HTTPClient が Connection:close レスポンス ヘッダーを持つ接続の再利用を試行しないことを確認する

138951646 API ランタイム

httpClient の JavaScript で時間制限が機能しない

139051927 API ランタイム

リクエスト処理のレイテンシが高い

132443137 API ランタイム

不明な内部 x-apigee ヘッダーを処理できるように Message Processor の動作を変更する

138310777 API ランタイム

共有フローのデプロイ呼び出しがランダムに 504 を返す

67170148 API ランタイム

ServiceCallouts での経過時間と経過時間の違い

124049692 API ランタイム

VerifyApiKey ポリシーの NullPointerException

135031506 API ランタイム

予期しない JWT 鍵形式に関するログ メッセージを追加

137312366 API ランタイム

Content-Type ヘッダーによるコンテンツ検証

109871907 API ランタイム

Response 要素がない ServiceCallout の実行遅延

143722867 API ランタイム

JWT で PBKDF2 の反復回数に構成可能な上限を適用する必要がある

144286363 ハイブリッド トレース

env.json のデバッグマスクが Apigee ハイブリッドのレスポンス データをマスクしない

147769812 API ランタイム

機能フラグで OAuth ハッシュ プロパティを変更可能として宣言する

149037704 API ランタイム

proxy.url フロー変数に割り当てる値が誤ったホスト エイリアスを返す可能性があるという問題が修正されました。

148972262 API ランタイム

DecodeJWS がペイロードを役に立たない形式でコンテキスト変数に出力する

116580622 API ランタイム

一貫性のない回答

149739904 API ランタイム

HTTP ヘッダーのデータ マスキングでは大文字と小文字が区別されない必要がある

149431545 API ランタイム

SecretKey を持つ GenerateJWT と VerifyJWT が UTF-8 以外のエンコードを受け入れない

155448596 API 管理 - パッチ

デフォルトの apimonitoringadmin ロールの権限がない

不足している権限が apimonitoringadmin ロールに追加されました。

158592076 API 管理 - パッチ

デフォルトの devadmin ロールの権限がない

不足している権限が devadmin ロールに追加されました。

152856311 API 管理 - パッチ

仮想ホストの作成時および更新時にキーストアとトラストストアで PKCS7 証明書と DER 証明書を拒否するための検証

仮想ホストの作成または更新中に検証が適用され、キーストア エイリアスとトラストストアに追加された証明書が PEM 形式であり、PKCS7、DER などの互換性のない形式ではないかどうかが確認されます。

155478545 収益化管理パッチ

メール通知のステータス更新に関する問題を修正しました。

154121499 収益化管理パッチ

/mint/org/orgname/delete-org-data API が 404 ステータス エラーをスローする問題を修正しました。

152356393 収益化管理パッチ

収益化企業の作成について、会社名の長さの検証が緩和されました。

138542921 収益化管理パッチ

商品バンドルに複数のカスタム属性が含まれていると料金プランを作成できない問題が修正されました。

150948843 収益化管理パッチ

Monetization /sync-developers API が永続性の競合をスローする問題を修正しました。

155443118 収益化管理パッチ

jsonMailProperties フィールドが削除されました。

150948843 収益化管理パッチ

Monetization /sync-developers API が永続性の競合をスローする問題を修正しました。