Management API の TLS の構成

Edge for Private Cloud v4.18.05

デフォルトでは、Management API の TLS は無効になっており、Management Server ノードの IP アドレスとポート 8080 を使用して HTTP で Edge Management API にアクセスします。次に例を示します。

http://ms_IP:8080

または、次の形式で管理 API への TLS アクセスを構成することもできます。

https://ms_IP:8443

この例では、ポート 8443 を使用するように TLS アクセスを構成します。ただし、Edge にとってそのポート番号は必要ありません。他のポート値を使用するように Management Server を構成できます。唯一の要件は、ファイアウォールが指定のポートでトラフィックを許可していることです。

Management API との間のトラフィック暗号化を行うには、/opt/apigee/customer/application/management-server.properties ファイルで設定を構成します。

TLS ファイルの構成に加えて、management-server.properties ファイルを変更することで、パスワードの検証(パスワードの長さと安全度)を制御することもできます。

TLS ポートが開いていることを確認する

このセクションの手順では、Management Server のポート 8443 を使用するように TLS を構成します。使用するポートに関係なく、Management Server でポートが開いていることを確認する必要があります。たとえば、次のコマンドを使用して開くことができます。

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 8443 -j ACCEPT --verbose

TLS の構成

/opt/apigee/customer/application/management-server.properties ファイルを編集して、Management API との間のトラフィックにおける TLS の使用を制御します。このファイルが存在しない場合は作成します。

Management API への TLS アクセスを構成するには、次の手順を行います。

  1. TLS 証明書と秘密鍵を含むキーストア JKS ファイルを生成します。詳細については、オンプレミスの Edge での TLS/SSL の構成をご覧ください。
  2. キーストア JKS ファイルを Management Server ノード上のディレクトリ(/opt/apigee/customer/application など)にコピーします。
  3. JKS ファイルの所有権を apigee に変更します。
    chown apigee:apigee keystore.jks
    ここで、keystore.jks はキーストア ファイルの名前です。
  4. /opt/apigee/customer/application/management-server.properties を編集して次のプロパティを設定します。このファイルが存在しない場合は作成します。
    conf_webserver_ssl.enabled=true
    # Leave conf_webserver_http.turn.off set to false
    # because many Edge internal calls use HTTP.
    conf_webserver_http.turn.off=false
    conf_webserver_ssl.port=8443
    conf_webserver_keystore.path=/opt/apigee/customer/application/keystore.jks
    # Enter the obfuscated keystore password below.
    conf_webserver_keystore.password=OBF:obfuscatedPassword
    keyStore.jks はキーストア ファイル、obfuscatedPassword は難読化されたキーストアのパスワードです。難読化されたパスワードの生成については、オンプレミスの Edge での TLS/SSL の構成をご覧ください。
  5. /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
    コマンドを使用して Edge Management Server を再起動します。

Management API が TLS でアクセスできるようになりました。

TLS で Edge API にアクセスするよう Edge UI を構成する

上記の手順では、Edge UI が HTTP 経由で Edge API 呼び出しを継続できるように、conf_webserver_http.turn.off=false を残しておくことをおすすめします。

これらの呼び出しを HTTPS のみで行うように Edge UI を構成する手順は次のとおりです。

  1. 前述のように、Management API への TLS アクセスを構成します。
  2. TLS が管理 API 用に機能していることを確認したら、/opt/apigee/customer/application/management-server.properties を編集して次のプロパティを設定します。 conf_webserver_http.turn.off=true
  3. /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart 
    コマンドを使用して Edge Management Server を再起動します。
  4. /opt/apigee/customer/application/ui.properties を編集して Edge UI の次のプロパティを設定します。このファイルが存在しない場合は作成します。conf_apigee_apigee.mgmt.baseurl="https://FQDN:8443/v1"conf_webserver_ssl.port
  5. 上記の管理 API への TLS アクセスを構成するときに(自己署名証明書を使用した場合は)ui.properties に次のプロパティを追加します。 conf/application.conf+play.ws.ssl.loose.acceptAnyCertificate=true 自己署名証明書は、Edge UI では拒否されます。
  6. 次のコマンドを使用して Edge UI を再起動します。
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

Management Server の TLS プロパティ

次の表に、management-server.properties で設定できるすべての TLS/SSL プロパティを示します。

プロパティ

Description

conf_webserver_http.port=8080

デフォルト値は 8080 です。

conf_webserver_ssl.enabled=false

TLS / SSL を有効または無効にする。TLS/SSL を有効にする(true)場合は、ssl.port プロパティと keystore.path プロパティも設定する必要があります。

conf_webserver_http.turn.off=true

https と一緒に http を有効または無効にします。HTTPS のみを使用する場合は、デフォルト値を true のままにします。

conf_webserver_ssl.port=8443

TLS/SSL ポート。

TLS/SSL が有効な場合は必須(conf_webserver_ssl.enabled=true)。

conf_webserver_keystore.path=<path>

キーストア ファイルのパス。

TLS/SSL が有効な場合は必須(conf_webserver_ssl.enabled=true)。

conf_webserver_keystore.password=

OBF:xxxxxxxxxx の難読化パスワードを使用してください

conf_webserver_cert.alias=

オプションのキーストア証明書エイリアス

conf_webserver_keymanager.password=

鍵マネージャーにパスワードがある場合は、OBF:xxxxxxxxxx の形式で難読化されたパスワードを入力します。

conf_webserver_trust.all= <false | true>

conf_webserver_trust.store.path=<path>

conf_webserver_trust.store.password=

トラストストアの設定を構成します。すべての TLS/SSL 証明書を受け入れるかどうかを決定します(標準以外の証明書を受け入れる場合など)。デフォルトは false です。トラストストアのパスを指定し、OBF:xxxxxxxxxx の形式で難読化されたトラストストア パスワードを入力します。

conf_webserver_exclude.cipher.suites=<CIPHER_SUITE_1 CIPHER_SUITE_2>

conf_webserver_include.cipher.suites=

追加または除外する暗号スイートを指定します。たとえば、ある暗号に脆弱性が発見された場合、ここで除外できます。複数の暗号を指定する場合はスペースで区切ります。

暗号スイートと暗号アーキテクチャについては、以下をご覧ください。

http://docs.oracle.com/javase/8/docs/technotes/guides/security/SunProviders.html#SunJSSE

conf_webserver_ssl.session.cache.size=

conf_webserver_ssl.session.timeout=

以下を決定する整数。

  • 複数のクライアントのセッション情報を保存するための TLS/SSL セッション キャッシュ サイズ(バイト単位)。
  • TLS/SSL セッションがタイムアウトするまでの時間(ミリ秒単位)。