Edge UI にローカル IP アドレスへのアクセスを許可する

次のような操作を行うとき、Edge UI がローカル IP アドレスにアクセスしようとすることがあります。これらのローカル IP アドレスはプライベート空間を表すか、外部ユーザーに公開すべきでない保護リソースを表します。

  • Edge UI の Trace ツール。このツールには、指定した URL に対して API リクエストを送受信する機能があります。Edge コンポーネントが他の内部サービスと一緒にホストされるデプロイ シナリオの場合、悪意のあるユーザーが Trace ツールの機能を悪用してプライベート IP アドレスにリクエストを送信する可能性があります。
  • OpenAPI 仕様に基づいて API プロキシを作成するとき。この仕様では、API のベースパス、パス、動詞、ヘッダーなどを記述します。このため、悪意のあるユーザーがプライベート IP アドレスを参照するパスをプロキシのベースパスとして指定する可能性があります。
  • ローカル ファイル システム上にある WSDL ファイルから API プロキシを作成するとき。

セキュリティ上の理由から、デフォルトでは Edge UI からプライベート IP アドレスを参照することはできません。次のようなアドレスがプライベート IP アドレスに該当します。

  • ループバック アドレス(127.0.0.1 または localhost)
  • サイトのローカル アドレス(IPv4 の場合: 10.0.0.0/8、172.16.0.0/12、192.168.0.0/16)
  • 任意のローカル アドレス(localhost に解決される任意のアドレス)

Edge UI からプライベート IP アドレスにアクセスできるようにするには、次のトークンを設定します。

  • Trace ツールに関連する conf_apigee-base_apigee.feature.enabletraceforinternaladdresses プロパティは、デフォルトで無効になっています。これを true に設定すると、Trace ツールからプライベート IP アドレスにアクセスできます。
  • OpenAPI 仕様に関連する conf_apigee-base_apigee.feature.enableopenapiforinternaladdresses プロパティは、デフォルトで無効になっています。これを true に設定すると、OpenAPI からプライベート IP アドレスにアクセスできます。
  • WSDL ファイルに関連する conf_apigee-base_apigee.feature.enablewsdlforinternaladdresses プロパティは、デフォルトで無効になっています。これを true に設定すると、プライベート IP アドレスから WSDL ファイルをアップロードできます。

上記のプロパティを true に設定するには:

  1. ui.properties ファイルをエディタで開きます。ファイルが存在しない場合は作成します。
    vi /opt/apigee/customer/application/ui.properties
  2. 次のプロパティを true に設定します。
    conf_apigee-base_apigee.feature.enabletraceforinternaladdresses="true"
    conf_apigee-base_apigee.feature.enableopenapiforinternaladdresses="true"
    conf_apigee-base_apigee.feature.enablewsdlforinternaladdresses="true"
  3. 変更を ui.properties に保存します。
  4. プロパティ ファイルの所有者を「apigee」ユーザーにします。
    chown apigee:apigee /opt/apigee/customer/application/ui.properties
  5. Edge UI を再起動します。
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

これで、Edge UI からローカル IP アドレスにアクセスできるようになります。