Management API の TLS の構成

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

http://ms_IP:8080

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

https://ms_IP:8443

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

管理 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 ファイルを編集して、管理 API との間のトラフィックでの TLS の使用を制御します。このファイルが存在しない場合は 作成します。

管理 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. 次のコマンドを使用して、Edge Management Server を再起動します。
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

管理 API で TLS 経由のアクセスがサポートされるようになりました。

TLS を使用して Edge API にアクセスするように New Edge UI を構成する

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

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

  1. 上記の説明に沿って、管理 API への TLS アクセスを構成します。
  2. 管理 API で TLS が機能していることを確認したら、 /opt/apigee/customer/application/management-server.properties を編集して 次のプロパティを設定します。
    conf_webserver_http.turn.off=true
  3. 次のコマンドを実行して、Edge Management Server を再起動します。
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart 
  4. HTTPS 経由で Management Server に接続するように New Edge UI の構成を更新します。New Edge UI 構成ファイルで次のプロパティを設定します。
    APIGEE_PORT_HTTP_MS=port
    MS_SCHEME=https

    ここで、port は conf_webserver_ssl.port で指定したポート( 8443 など)です。

  5. 更新した構成を New Edge UI に適用します。
    /opt/apigee/apigee-setup/bin/setup.sh -p ue -f configFile

    New Edge UI 構成ファイルの詳細については、 New Edge UI を構成するをご覧ください。New Edge UI 自体への HTTPS アクセスを構成するには、 New Edge UI の TLS を構成するをご覧ください。

Management Server の TLS プロパティ

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

プロパティ 説明

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=password

OBF:xxxxxxxxxx の形式で難読化されたパスワードを使用します。

conf_webserver_cert.alias=alias

省略可能なキーストア証明書のエイリアス

conf_webserver_keymanager.password=password

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

OBF:xxxxxxxxxx

conf_webserver_trust.all=[false | true]

conf_webserver_trust.store.path=path

conf_webserver_trust.store.password=password

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

OBF:xxxxxxxxxx

conf_http_HTTPTransport.ssl.cipher.suites.blacklist=CIPHER_SUITE_1, CIPHER_SUITE_2

conf_http_HTTPTransport.ssl.cipher.suites.whitelist=

含めるまたは除外する暗号スイートを指定します。たとえば、暗号に脆弱性が見つかった場合は、ここで除外できます。複数の暗号はカンマで区切ります。

ブラックリストを使用して削除した暗号は、ホワイトリストに含まれる暗号よりも優先されます。

注: デフォルトでは、ブラックリストまたはホワイトリストが指定されていない場合、次の Java 正規表現に一致する暗号はデフォルトで除外されます。

^.*_(MD5|SHA|SHA1)$
^TLS_RSA_.*$
^SSL_.*$
^.*_NULL_.*$
^.*_anon_.*$

ただし、ブラックリストを指定すると、 このフィルタはオーバーライドされ、すべての暗号を個別にブラックリストに登録する必要があります。

暗号スイートと暗号化アーキテクチャについては、 Java Cryptography Architecture Oracle Providers Documentation for JDK 8 をご覧ください。

conf_webserver_ssl.session.cache.size=

conf_webserver_ssl.session.timeout=

次の値を決定する整数。

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