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

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

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

新機能とアップデート

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

共有フローとフローフックで API プロキシを運用化(ベータ版)

新しい「共有フロー」機能によって API プロキシの機能を運用化できる。条件付きのポリシーとリソースを共有フローにまとめることで、任意の API プロキシから参照して、再利用可能な単一のソースロジックを実行できます。たとえば、共有フローでは API キーの検証、スパイク防止からの保護、データの記録などを行います。

管理フロー([API] > [Shared Flows])で共有フローを定義してから、次の 2 つの方法で参照します。

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

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

    これらの接続ポイントを使用すると、個々のプロキシのメインフロー ポイントの前後にオペレーション ロジックを実行できます。共有 UI は、管理 UI([API] > [環境構成] > [フローフック])でこれらのフローフックのロケーションに割り当てます。

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

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

暗号化された KVM の作成

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

暗号化された KVM の使用

  • Key-Value マップ オペレーション ポリシーを使用して、暗号化された KVM 値を取得および更新します。
  • 暗号化された Key-Value を取得する場合は、値の先頭に「private.」を付けるように変数のプレフィックスを指定します。例: <Get assignTo="private.secretVar">その private.secretVar 変数は、復号された値を保持します。
  • このポリシーを使用して値を更新する場合、特別な操作は必要ありません。この値は、暗号化された KVM で自動的に暗号化されます。
  • 復号された値には、Node.js コードの apigee-access モジュールを使用してアクセスすることもできます。関数 getKeyValueMap() を使用して、名前とスコープに基づいて KVM を取得します。返されるオブジェクトには、キー名の配列を取得する getKeys(callback) と、特定のキーの値を取得する get(key, callback) の 2 つの関数があります。例:
    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 プロキシ メタデータに保存されます。たとえば、Management 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 bot 検出用の IP アドレスの場所をより正確に制御するために、Sense では、additionalIPVars 変数を使用してクライアント IP の場所を定義できます。たとえば、true-client-ip ヘッダーを使用して bot ルールで評価する Akamai の正しい IP を含む additionalIPVars を設定できます。(APIRT-3332)

修正済みのバグ

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

問題 ID 説明
APIRT-3507 JavaScript サービス コールアウトの断続的なエラー(SNI エラーなど)
APIRT-3408 MP リリース 160817 apigee-acess analytics モジュールでメッセージの処理方法が異なる
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 が CPU 使用率 100% を達成し、トラフィックの提供を停止
APIRT-3064 ルーター - ルーターからのカスタム 503 エラー メッセージ
APIRT-2620 負荷処理を改善するためのブロック ステップごとにスレッドプールを分離する
CORESERV-774 無効な API プロダクト参照で有効なキーを使用してアクセスすると、内部サーバーエラーが発生します