Edge for Private Cloud v4.18.05
TLS(Transport Layer Security、前身は SSL)は、アプリから Apigee Edge、バックエンド サーバーまでの API 環境で暗号化された安全なメッセージングを実現する標準的なセキュリティ テクノロジーです。
管理 API の環境構成に関係なく(たとえば、管理 API の前でプロキシ、ルーター、ロードバランサなどを使用しているかどうかに関係なく)、Edge では TLS を有効にして構成できます。これにより、オンプレミスの API 管理環境でメッセージの暗号化を制御できます。
Edge for Private Cloud のオンプレミス環境では、次のような複数の場所で TLS を構成できます。
- Router と Message Processor の間
- Edge 管理 API へのアクセス
- Edge 管理 UI へのアクセス
- アプリから API へのアクセス
- Edge からバックエンド サービスへのアクセス
以下では、最初の 3 項目に TLS を構成する方法を説明します。ここでは、TLS 証明書と秘密鍵を含む JKS ファイルが作成されていることを前提としています。
アプリから API へのアクセス(上の 4 番目)に TLS を構成する方法については、Private Cloud 用 API への TLS アクセスの構成をご覧ください。Edge からバックエンド サービスへのアクセス(上の 5 番目)に TLS を構成する方法については、Edge からバックエンドへの TLS の構成(Cloud、Private Cloud)をご覧ください。
Edge での TLS 構成の詳細については、TLS / SSL をご覧ください。
JKS ファイルの作成
TLS 証明書と秘密鍵を含むキーストアを JKS ファイルとして作成します。JKS ファイルの作成方法はいくつかありますが、ここでは openssl と keytool ユーティリティを使用します。
たとえば、server.pem
という PEM ファイルに TLS 証明書が含まれ、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 を構成する場合など)には、-name
オプションを指定して openssl
コマンドを実行します。
openssl pkcs12 -export -clcerts -in server.pem -inkey private_key.pem -out keystore.pkcs12 -name devtest
次に、-alias
オプションを指定して keytool
コマンドを実行します。
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 で指定され、難読化されたパスワードを使用します。
詳細については、こちらの記事をご覧ください。