リリース バージョン: Edge for Private Cloud v4.53.01.02 パッチリリース以降。
このページでは、Entrust nShield® 5c ネットワーク ハードウェア セキュリティ モジュール(HSM) を使用して、下り方向の TLS 接続(Apigee Message Processor からバックエンド ターゲット サービス)を構成する方法について説明します。
第三者のコンテンツに関する免責事項: このページでは、Apigee Edge の統合に関連する Entrust nShield ハードウェアの構成手順について説明します。これらの手順は標準的な統合パターンに基づいており、情報提供のみを目的として提供されています。Entrust の構成は、メーカーによって変更される可能性があります。信頼できる仕様、セキュリティ構成、現在のハードウェア要件については、公式のEntrust ドキュメント ポータルをご覧ください。
概要
ハードウェア セキュリティ モジュール(HSM)は、安全な鍵の保存と暗号化オペレーションのための専用の強化された環境を提供します。Apigee Edge for Private Cloud を Entrust nShield HSM と統合することで、下り方向の TLS と mTLS handshake で使用される秘密鍵を保護できます。
Apigee は、次のコンポーネントを介した下り方向の HTTPS トラフィックに対する HSM 統合をサポートしています。
- ターゲット エンドポイント
- ターゲット サーバー
- Service Callout ポリシー
- MessageLogging ポリシー
- JavaScript ポリシー
前提条件
HSM 統合を構成する前に、次の前提条件を満たしていることを確認してください。
1. ソフトウェア バージョンの要件
- Apigee Edge for Private Cloud クラスタは、バージョン 4.53.01.02 以降 で実行されている必要があります。
- HSM 統合は、次の RPM バージョン(以降)にネイティブで含まれています。
edge-management-server-4.53.01-0.0.60380.noarch.rpmedge-message-processor-4.53.01-0.0.60380.noarch.rpmedge-gateway-4.53.01-0.0.60380.noarch.rpm
2. インフラストラクチャとオペレーティング システムの構成
- Edge for Private Cloud クラスタをホストする OS で FIPS が無効になっている必要があります。
- HSM クライアントと Security World は、すべての Message Processor ノードにインストールして構成する必要があります。
- 重要: これらの手順は、
apigeeユーザーが実行する必要があります。
HSM クライアントのインストールが正しく構成され、apigee ユーザーがアクセスできることを確認するには、Entrust nShield の公式ドキュメントに記載されている標準の JCA/JCE CSP インストール テストを実行します。このテストがすべての Message Processor ノードで正常に完了することを確認してください。
サポートされている構成
Apigee を構成して、次の 2 つのモードで HSM を使用できます。
1. HSM 混合モード(推奨)
このモードでは、秘密鍵(KeyStore)のみが HSM に保存され、信頼できる証明書(TrustStore)は標準の Apigee ソフトウェア ストアに残ります。
2. フル HSM モード
このモードでは、KeyStore(秘密鍵)と TrustStore(信頼できる証明書)の両方が HSM に保存されます。このモードはサポートされていますが、レイテンシが追加される可能性があります。
ステップ 1: Message Processor で HSM を有効にする
次の手順を各 Message Processor ノードで 1 つずつ 実行します。
1. Message Processor を停止する
apigee-service edge-message-processor stop
2. HSM キーストア データファイルを確認する
HSM キーストア データファイル(HSM に読み込まれた鍵を参照)が Message Processor ノードに存在し、apigee ユーザーが所有していることを確認します。
chown apigee:apigee /opt/apigee/{name_of_the_Keystore_Data_File}3. HSM 構成ファイルを作成する
/opt/apigee/hsm-config.properties で構成ファイルを作成または更新します。HSM キーストアとトラストストアの場所とパスワードを定義します(トラストストアは省略可)。
構成例(混合 HSM プロキシとフル HSM プロキシの両方をサポート):
# HSM KeyStore Reference hsm.property.unique_keystore_ref1.keystore.file.location=/opt/apigee/ks.keystore hsm.property.unique_keystore_ref1.keystore.password=keystore_password # HSM TrustStore Reference (Optional, only needed for Full HSM Mode) hsm.property.unique_truststore_ref1.truststore.file.location=/opt/apigee/ts.truststore hsm.property.unique_truststore_ref1.truststore.password=truststore_password
正しい権限を設定します。
chown apigee:apigee /opt/apigee/hsm-config.properties
chmod 600 /opt/apigee/hsm-config.properties
4. Message Processor のプロパティを構成する
/opt/apigee/customer/application/message-processor.properties を作成または編集して、次を追加します。
# Enable HSM Integration conf_system_apigee.hsm.enabled=true # HSM Configuration File Path conf_system_apigee.hsm.properties.file=/opt/apigee/hsm-config.properties # Advanced Custom HSM Port Support (Optional, default is 9000/9001) # conf_system_apigee.hsm.priv_port=9001 # conf_system_apigee.hsm.nonpriv_port=9000
正しい所有権を確認します。
chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
5. 再構成して再起動する
apigee-service edge-message-processor configure
apigee-service edge-message-processor restart
6. 初期化を検証する
システムログ /opt/apigee/var/log/edge-message-processor/logs/system.log で、初期化が成功したことを示すメッセージを確認します。
main INFO SECURITY-CONTEXT - SSLPreEvaluationContext.isHSMConfigEnabled() : HSM_FLOW : HSM config is enabled main INFO SECURITY-CONTEXT - SSLPreEvaluationContext.loadProperties() : HSM_FLOW : HSM config properties loaded from file /opt/apigee/hsm-config.properties
ステップ 2: API プロキシを構成する
API プロキシ構成(TargetEndpoint、ServiceCallout、またはポリシー)の SSLInfo ブロックを更新します。hsmref:// 接頭辞を使用して HSM 管理ストアを参照し、ref://(または標準の参照名)を使用してソフトウェア ストアを参照します。
1. HSM 混合モードの構成(推奨)
KeyStore(クライアント認証)に HSM を使用し、TrustStore にソフトウェアを使用します。
<SSLInfo>
<Enabled>true</Enabled>
<ClientAuthEnabled>true</ClientAuthEnabled>
<KeyStore>hsmref://unique_keystore_ref1</KeyStore>
<TrustStore>ref://mySoftwareTrustStoreRef</TrustStore>
</SSLInfo>2. フル HSM 構成
KeyStore と TrustStore の両方に HSM を使用します。
<SSLInfo>
<Enabled>true</Enabled>
<ClientAuthEnabled>true</ClientAuthEnabled>
<KeyStore>hsmref://unique_keystore_ref1</KeyStore>
<TrustStore>hsmref://unique_truststore_ref1</TrustStore>
</SSLInfo>デプロイ時の検証バイパス
秘密鍵を Apigee の Cassandra データベースにアップロードせずにデプロイできるようにするため、Apigee は、hsmref:// 接頭辞で始まる参照のデプロイ時に、環境キーストア/トラストストアの存在チェックを自動的にバイパスします。
オペレーション: 新しい HSM キーストア/トラストストアを追加する
実行中の既存の環境に新しい HSM キーストアまたはトラストストアを追加するには:
- 鍵/証明書を物理 HSM に読み込みます(HSM にキーストア/トラストストアを読み込むをご覧ください)。
- 新しいキーストア データファイルを Message Processor ノードにコピーし、所有権を
apigeeに設定します。 - すべての Message Processor ノード で、新しい参照を使用して
/opt/apigee/hsm-config.propertiesを更新します。hsm.property.new_keystore_ref.keystore.file.location=/opt/apigee/new_ks.keystore hsm.property.new_keystore_ref.keystore.password=new_password - 各ノードで Message Processor を再起動します。
apigee-service edge-message-processor restart
- 新しい
hsmref://new_keystore_refを使用するように API プロキシ構成を更新してデプロイします。
HSM をグローバルに無効にする
HSM を無効にするには:
hsmref://を使用するすべてのアクティブなプロキシを更新して、標準のソフトウェア参照(ref://)を使用するようにします。- 各 Message Processor ノードで、
/opt/apigee/customer/application/message-processor.propertiesを編集して、次のように設定します。conf_system_apigee.hsm.enabled=false
- Message Processor を再構成して再起動します。
apigee-service edge-message-processor configure
apigee-service edge-message-processor restart
制限事項と注意事項
- サポートされているハードウェア: Entrust nShield 5c ネットワーク HSM に限定されます。
- メンテナンス: HSM サーバー/クライアントのメンテナンスはお客様の責任となります。
- レイテンシ: HSM とのネットワーク ネゴシエーションにより、レイテンシが追加されることがあります。HSM 混合モード を使用すると、この問題をある程度軽減できます。
- HSM の再起動: HSM hardserver が再起動した場合は、接続されている Message Processor ノードで
edge-message-processorを再起動する必要があります。
HSM にキーストア/トラストストアを読み込む
PKCS12 キーストアまたは PEM 証明書を HSM にインポートするために必要な正確な keytool コマンドについては、公式の Entrust nShield ドキュメント ポータルをご覧ください。
Apigee との互換性を確保するには、生成された HSM キーストア ファイルが次の要件を満たしている必要があります。
- ディレクトリ:
/opt/apigee/に保存する必要があります(例:/opt/apigee/hsmks.keystore)。 - 権限:
apigeeユーザーが所有している必要があります(chown apigee:apigee /opt/apigee/<filename>)。 - 可読性:
edge-message-processorサービスが読み取れる必要があります。
エラー リファレンス
| 障害コード | HTTP ステータス | 説明 / 原因 |
|---|---|---|
entities.HsmConfigNotEnabled |
500 | API プロキシが実行時に hsmref:// を使用しようとしましたが、Message Processor で HSM がグローバルに無効になっています(conf_system_apigee.hsm.enabled=false)。 |
法的通知
Entrust と nShield は、Entrust Corporation またはその関連会社の商標または登録商標です。その他のすべての商標は、それぞれの所有者に帰属します。