TLS / SSL の構成

TLS(Transport Layer Security、前身は SSL)は、アプリから Apigee Edge を介してバックエンド サービスに至るまでの API 環境全体で暗号化が適用される、安全なメッセージングを実現する標準的なセキュリティ技術です。

Management API の環境構成に関係なく(たとえば Management API の前でプロキシ、ルーター、ロードバランサなどを使用しているか否かに関係なく)、Edge では TLS を有効にして構成できます。これにより、オンプレミスの API 管理環境でメッセージの暗号化を制御できます。

Edge for Private Cloud のオンプレミス環境では、次のようないくつかの経路で TLS を構成できます。

  1. Router と Message Processor の間
  2. Edge Management API へのアクセス
  3. Edge 管理 UI へのアクセス
  4. 新しい Edge UI へのアクセス
  5. アプリから API へのアクセス
  6. 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 で指定された難読化パスワードを使用します。

詳細については、こちらの記事をご覧ください。