デフォルトでは、Management API の TLS は無効になっており、Management Server ノードの IP アドレスとポート 8080 を使って HTTP で Edge Management API にアクセスします。例:
http://ms_IP:8080
また、次の形式で管理 API にアクセスできるように、管理 API への TLS アクセスを構成することもできます。
https://ms_IP:8443
この例では、TLS アクセスでポート 8443 が使用されるように構成します。ただし、そのポート番号は Edge には必要ありません。他のポート値を使用するように Management Server を構成できます。唯一の要件は、ファイアウォールが指定されたポートでトラフィックを許可することです。
Management API との間のトラフィックを暗号化するには、/opt/apigee/customer/application/management-server.properties
ファイル内の設定を構成します。
TLS 構成に加えて、management-server.properties
ファイルを変更することで、パスワード検証(パスワードの長さと強度)を制御することもできます。
TLS ポートが開いていることを確認する
このセクションの手順で、Management Server でポート 8443 を使用するように構成します。使用するポートにかかわらず、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 アクセスを構成するには:
- TLS 証明書と秘密鍵を含むキーストア JKS ファイルを生成します。詳細については、オンプレミスの Edge での TLS/SSL の構成をご覧ください。
- キーストア JKS ファイルを Management Server ノードのディレクトリ(
/opt/apigee/customer/application
など)にコピーします。 - JKS ファイルの所有権を「apigee」ユーザーに変更します。
chown apigee:apigee keystore.jks
ここで、keystore.jks はキーストア ファイルの名前です。
/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 の構成をご覧ください。
- 次のコマンドを使用して Edge Management Server を再起動します。
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
これで、Management API が TLS でのアクセスをサポートするようになりました。
TLS で Edge API にアクセスするよう Edge UI を構成する
上記の手順では、Edge UI が HTTP 経由で引き続き Edge API 呼び出しを行えるように、conf_webserver_http.turn.off=false
を終了することをおすすめします。
以下の手順で、HTTPS でのみ呼び出しができるように Edge UI を構成します。
- 上記のように、Management API への TLS アクセスを構成します。
- Management API の TLS が機能していることを確認した後、
/opt/apigee/customer/application/management-server.properties
を編集して次のプロパティを設定します。conf_webserver_http.turn.off=true
- 次のコマンドを実行して Edge Management Server を再起動します。
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
/opt/apigee/customer/application/ui.properties
を編集して、Edge UI に次のプロパティを設定します。conf_apigee_apigee.mgmt.baseurl="https://FQ_domain_name:port/v1"
ここで、FQ_domain_name は Management Server の証明書アドレスに基づく完全なドメイン名で、port は上記の
conf_webserver_ssl.port
で指定されたポートです。ui.properties が存在しない場合は作成します。
- 自己署名証明書を使う場合のみ(本番環境ではおすすめしません)、上記の Management API への TLS アクセスの構成を行うときに、次のプロパティを
ui.properties
に追加します。conf/application.conf+play.ws.ssl.loose.acceptAnyCertificate=true
こうしなかった場合、Edge UI は自己署名証明書を拒否します。
- 次のコマンドを実行して、Edge UI を再起動します。
/opt/apigee/apigee-service/bin/apigee-service edge-ui restart
FIPS 対応オペレーティング システムで PKCS12 キーストアを使用する
FIPS 対応のオペレーティング システムで Edge for Private Cloud を使用している場合は、PKCS12 キーストアを使用する必要があります。これは FIPS 標準に準拠するために必要です。この記事で説明した他の標準構成に加えて、management-server.properties
ファイルに次の構成を追加します。
conf/webserver.properties+keystore.type=PKCS12
環境で FIPS が有効になっている場合は、必要な暗号化標準との互換性を確保するために、この変更を必ず適用してください。
Management Server の TLS プロパティ
次の表に、management-server.properties
で設定できるすべての TLS/SSL プロパティを示します。
プロパティ | 説明 |
---|---|
|
デフォルトは 8,080 です。 |
|
TLS / SSL を有効または無効にします。TLS/SSL を有効(true)にした場合、ssl.port プロパティと keystore.path プロパティも設定する必要があります。 |
|
https に加えて HTTP を有効または無効にする。HTTPS のみを使用する場合は、デフォルト値を |
|
TLS/SSL ポート。 TLS/SSL が有効な場合は必須です( |
|
キーストア ファイルのパス。 TLS/SSL が有効な場合に必須( |
|
OBF:xxxxxxxxxx という形式の難読化されたパスワードを使用してください |
|
キーストア証明書エイリアス(省略可) |
|
鍵マネージャーにパスワードがある場合は、次の形式で難読化されたパスワードを入力します。 OBF:xxxxxxxxxx |
|
トラストストアの設定を構成します。すべての TLS/SSL 証明書を受け入れるかどうかを決めます(非標準のタイプを受け入れるなど)。デフォルトは OBF:xxxxxxxxxx |
|
使用を許可する暗号スイートと許可しない暗号スイートを指定します。たとえば、ある暗号に脆弱性が発見された場合、ここで除外できます。複数の暗号を指定する場合はカンマで区切ります。 ブラックリストから削除した暗号は、許可リストに含まれる暗号よりも優先されます。 注: デフォルトでは、拒否リストまたは許可リストが指定されていない場合、次の Java 正規表現に一致する暗号は除外されます。 ^.*_(MD5|SHA|SHA1)$ ^TLS_RSA_.*$ ^SSL_.*$ ^.*_NULL_.*$ ^.*_anon_.*$ ただし、拒否リストを指定する場合、このフィルタはオーバーライドされ、すべての暗号を個別に拒否リストに登録する必要があります。 暗号スイートと暗号化アーキテクチャについては、 JDK 8 向け Java 暗号化アーキテクチャの Oracle プロバイダのドキュメントをご覧ください。 |
|
以下を決定する整数。
|