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

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

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

新機能とアップデート

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

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

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

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

  • API プロキシの新しい Flow Callout ポリシー
    または
  • 次の場所にある「フローフック」という新しいアーティファクト:

    • リクエスト: 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 のみであるため、代替手段として設計されています。暗号化された KVM 値には、Node.js または Key-Value マップ オペレーション ポリシーを使用してアクセスできます。

暗号化された KVM の作成

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

暗号化された KVM の使用

  • Key Value Map Operations ポリシーを使用して、暗号化された KVM 値を取得および更新します。
  • 暗号化された鍵の値を取得する場合は、値を保持する変数の先頭に「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 プロキシ メタデータに保存されます。たとえば、管理 API を使用してプロキシ リビジョンの詳細を取得する場合、メタデータには、次の形式で OpenAPI 仕様へのパスが含まれます。

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

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

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

Akamai などのルーティング プロダクトを使用する際に、Sense bot 検出用の IP アドレスの場所をより正確に制御するために、Sense では additionalIPVars 変数を使用してクライアント IP の場所を定義できます。たとえば、true-client-ip ヘッダーを使用するように additionalIPVars を設定できます。このヘッダーには、bot ルールで評価するための Akamai の正しい 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 が CPU 使用率 100% に達し、トラフィックの処理を停止した
APIRT-3064 ルーター - ルーターのカスタム 503 エラー メッセージ
APIRT-2620 負荷処理を改善するために、一部のブロックステップに個別のスレッドプール
CORESERV-774 無効な apiproduct 参照を含む有効なキーを使用してアクセスすると内部サーバーエラーが発生する