TLS(Transport Layer Security、前身は SSL)は、アプリから Apigee Edge を介してバックエンド サービスに至るまでの API 環境全体で暗号化が適用される、安全なメッセージングを実現する標準的なセキュリティ技術です。
Management API の環境構成に関係なく(たとえば Management API の前でプロキシ、ルーター、ロードバランサなどを使用しているか否かに関係なく)、Edge では TLS を有効にして構成できます。これにより、オンプレミスの API 管理環境でメッセージの暗号化を制御できます。
Edge for Private Cloud のオンプレミス環境では、次のようないくつかの経路で TLS を構成できます。
- Router と Message Processor の間
- Edge Management API へのアクセス
- Edge 管理 UI へのアクセス
- 新しい Edge UI へのアクセス
- アプリから API へのアクセス
- Edge からバックエンド サービスへのアクセス
Edge での TLS 構成の概要については、TLS / SSL をご覧ください。
JKS ファイルの作成
多くの TLS 構成では、キーストアとして JKS ファイルを使用します。このキーストアには TLS 証明書と秘密鍵が格納されます。JKS ファイルの作成方法はいくつかありますが、1 つの方法として openssl および keytool ユーティリティを使用できます。
たとえば、TLS 証明書を含む server.pem
という名前の PEM ファイルと、秘密鍵を含む private_key.pem という名前の PEM ファイルがあるとします。次のコマンドを使用して PKCS12 ファイルを作成します。
openssl pkcs12 -export -clcerts -in server.pem -inkey private_key.pem -out keystore.pkcs12
鍵のパスフレーズ(設定されている場合)とエクスポート パスワードを入力する必要があります。このコマンドにより、keystore.pkcs12
という名前の PKCS12 ファイルが作成されます。
次のコマンドを使用して、これを keystore.jks という名前の JKS ファイルに変換します。
keytool -importkeystore -srckeystore keystore.pkcs12 -srcstoretype pkcs12 -destkeystore keystore.jks -deststoretype jks
JKS ファイルの新しいパスワードと、PKCS12 ファイルの既存のパスワードを入力するよう求められます。JKS ファイルのパスワードは必ず PKCS12 ファイルと同じものにしてください。
Router と Message Processor の間で TLS を構成するなど、キーエイリアスを指定する必要がある場合は、openssl
コマンドに -name
オプションを追加します。
openssl pkcs12 -export -clcerts -in server.pem -inkey private_key.pem -out keystore.pkcs12 -name devtest
次のように keytool
コマンドに -alias
オプションを追加します。
keytool -importkeystore -srckeystore keystore.pkcs12 -srcstoretype pkcs12 -destkeystore keystore.jks -deststoretype jks -alias devtest
難読化されたパスワードの生成
Edge で TLS を構成する手順において、難読化されたパスワードを構成ファイルに入力しなければならない場合があります。難読化されたパスワードは、パスワードを書式なしテキストで入力する場合よりも安全です。
難読化されたパスワードを生成するには、Edge Management Server で次のコマンドを使用します。
/opt/apigee/apigee-service/bin/apigee-service edge-management-server generate-obfuscated-password
新しいパスワードを入力します。確認のプロンプトが表示されたら、同じパスワードをもう一度入力します。セキュリティ上の理由から、パスワードのテキストは表示されません。このコマンドを実行すると、パスワードが次の形式で返されます。
OBF:58fh40h61svy156789gk1saj MD5:902fobg9d80e6043b394cb2314e9c6
TLS を構成するときは、OBF で指定された難読化パスワードを使用します。
詳細については、こちらの記事をご覧ください。