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

Apigee Edge のドキュメントを表示しています。
Apigee X のドキュメントをご覧ください。
info

2016 年 10 月 13 日(木)、Apigee Edge for Public Cloud の新バージョンのリリースを開始しました。

新機能とアップデート

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

API プロキシを運用するための共有フローとフローフック(リクエストによるベータ版のみ)

新しい「共有フロー」機能を使用すると、API プロキシの機能を運用化できます。条件付きポリシーとリソースを共有フローに組み込むことで、任意の API プロキシから参照して、単一ソースの再利用可能なロジックを実行できます。たとえば、共有フローで API キーの検証、スパイク逮捕の防止、データのロギングを行うことができます。

共有フローは管理 UI([APIs] > [Shared Flows])で定義し、次の 2 つの方法で参照します。

  • API プロキシの新しい Flow Callout ポリシーを使用する
    または
  • 次の場所にある Flow Hooks という新しいアーティファクト。

    • リクエスト: ProxyEndpoint PreFlow の前、TargetEndpoint PostFlow の後
    • レスポンス: TargetEndpoint PreFlow の前、ProxyEndpoint PostFlow の後

    これらのアタッチメント ポイントを使用すると、個々のプロキシのメインフロー ポイントの前後に運用ロジックを実行できます。共有フローは、管理 UI([APIs] > [Environment Configuration] > [Flow Hooks])でこれらのフローフックの場所に割り当てます。

暗号化された Key-Value マップ

認証情報や PII/HIPAA データなどの機密情報を保存するために、暗号化された Key-Value マップ(KVM)を作成できます。この機能は既存の Edge セキュア ストア(Vault)とは異なり、Vault の値には(管理 API に加えて)Node.js でのみアクセスできるため、Vault を置き換えるように設計されています。暗号化された KVM 値には、Node.js または Key Value Map Operations ポリシーを使用してアクセスできます。

暗号化された KVM の作成

  • 既存の KVM API を使用します。KVM の作成時にペイロード定義に “encrypted”: “true” を含めると、Edge は KVM を暗号化し、KVM と同じスコープの暗号鍵を生成します。
  • Key Value Map Operations ポリシーを使用して暗号化された KVM を作成することはできません。
  • 既存の暗号化されていない KVM を暗号化することはできません。

暗号化された KVM の使用

  • Key Value Map Operations ポリシーを使用して、暗号化された KVM 値を取得して更新します。
  • 暗号化された Key-Value を取得する場合は、値を保持する変数に「private.」という接頭辞を付けます。例: <Get assignTo="private.secretVar">。この private.secretVar 変数には、復号された値が保持されます。
  • ポリシーを使用して値を更新する場合、特別な操作は必要ありません。暗号化された KVM では、値は自動的に暗号化されます。
  • Node.js コードの apigee-access モジュールを使用して、復号された値にアクセスすることもできます。関数 getKeyValueMap() を使用して、名前とスコープに基づいて KVM を取得します。返されたオブジェクトでは、2 つの関数(キー名の配列を取得する getKeys(callback) と、特定のキーの値を取得する get(key, callback))を使用できます。次に例を示します。
    var apigee = require('apigee-access');
      var encryptedKVM = apigee.getKeyValueMap('VerySecureKVM', 'apiproxy');
      encryptedKVM.get('secret1', function(err, secretValue) {
      // use the secret value here
    });

(APIRT-1197)

API プロキシのメタデータに含まれる OpenAPI 仕様の URL

OpenAPI 仕様に基づいて API プロキシを作成すると、OpenAPI 仕様の場所が API プロキシ メタデータに保存されます。たとえば、管理 API を使用してプロキシ リビジョンの詳細を取得する場合、メタデータには OpenAPI 仕様のパスが次の形式で含まれます。

"spec" : "https://raw.githubusercontent.com/apigee/api-platform-samples/master/default-proxies/helloworld/openapi/mocktarget.yaml"

この機能強化により、次世代バージョンの Edge がサポートされます。このバージョンでは、新しいデベロッパー ポータルで OpenAPI 仕様が API プロキシ、API プロダクト、API リファレンス ドキュメントにリンクされます。(MGMT-2913)

Sense によるクライアント IP の制御

Akamai などのルーティング プロダクトを使用している場合、Sense では、Sense ボット検出用の IP アドレスの検索場所をより正確に制御するために、additionalIPVars 変数を使用してクライアント IP の場所を定義できます。たとえば、additionalIPVars を設定して、Akamai からの正しい IP を含む true-client-ip ヘッダーを使用して、ボットルールで評価できます。(APIRT-3332)

修正済みのバグ

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

問題 ID 説明
APIRT-3507 JavaScript サービス コールアウトで断続的にエラー(SNI エラーなど)が発生する
APIRT-3408 MP リリース 160817 で apigee-access アナリティクス モジュールがメッセージを異なる方法で処理する
APIRT-3390

アクセス トークン ポリシーの更新によって返される障害レスポンスの変更

APIRT-3389
APIRT-3381 お客様の本番環境プロキシのレイテンシが高い
APIRT-3366 すべての新しいトライアル組織で JavaScript ポリシーが失敗する
APIRT-3363 無効な URL の解析で ApplicationNotFound のステータス 500 が返される
APIRT-3356 OAuth 無効なトークン メッセージ
APIRT-3355 OAuth プロキシで 403 エラーが断続的に発生する
APIRT-3285
APIRT-3261 認証情報が本番環境の別のデベロッパー アプリに対して検証される
APIRT-3234 Node.js アプリが NPE を返す
APIRT-3223 Apigee のキャッシュの有効期限切れに関する問題
APIRT-3193 ASG に移行した後、Node.js ターゲット サーバーがハングする
APIRT-3152 cachedlogs 管理呼び出しによりログメッセージが分割される
APIRT-3117 MP が 100% の CPU 使用率に達し、トラフィックの処理を停止した
APIRT-3064 ルーター - ルーターからのカスタム 503 エラー メッセージ
APIRT-2620 一部のブロッキング ステップに個別のスレッド プールを使用して、負荷処理を改善
CORESERV-774 無効な apiproduct 参照を含む有効なキーを使用してアクセスすると、内部サーバーエラーが発生する