10 Oracle Coherenceメトリックの保護
この章の内容は次のとおりです。
- Oracle Coherenceメトリックの保護の概要
Coherenceメトリックの認証および認可はデフォルトでは無効化されており、必要に応じて有効化できます。 - CoherenceメトリックHTTPアクセプタの基本認証
Coherenceメトリックの認証を行うようにHTTPアクセプタを構成できます。 - Oracle CoherenceメトリックでのSSL認証の使用方法
SSLを使用して、Coherenceメトリックを認証できます。SSLは、デジタル証明書および暗号化キーを使用して識別と信頼の両方を確立する認証メカニズムを提供します。
Oracle Coherenceメトリックの保護の概要
Coherenceメトリックの認証では、HTTP Basic、クライアント側のSSL証明書、およびHTTP Basicとクライアント側のSSL証明書の併用がサポートされています。
Oracle CoherenceのマネージメントのCoherenceメトリックの使用に関する項を参照してください。
親トピック: Oracle Coherenceメトリックの保護
CoherenceメトリックHTTPアクセプタの基本認証
この項には次のトピックが含まれます:
親トピック: Oracle Coherenceメトリックの保護
CoherenceメトリックHTTPアクセプタの基本認証の指定
デフォルトのmetrics-http-config.xml
は、coherence-metrics.jar
にあります。
HTTPアクセプタの基本認証を指定するには、システム・プロパティcohererence.metrics.http.auth
を値basic
に設定するか、デフォルトのmetrics-http-config.xml
をオーバーライドし、<auth-method>
子xml要素を値basic
に指定します。
親トピック: CoherenceメトリックHTTPアクセプタの基本認証
Coherenceメトリック・ログイン・モジュールの指定
HTTP Basic認証は、HTTP Basic認証ヘッダーから渡されたクライアントの資格証明を認証するJAAS javax.security.auth.spi.LoginModule
実装を必要とします。その結果として生成されるSubject
は、必要に応じて、Oracle Coherenceセキュリティ・フレームワークの認可に使用できます。『Java認証・承認サービス(JAAS)リファレンス・ガイド』のLoginModuleに関する項を参照してください。
ログイン・モジュールを指定するには、COHERENCE_HOME
/lib/security/login.config
ログイン構成ファイルを変更し、使用するログイン・モジュール実装を含むCoherenceエントリを追加します。たとえば:
CoherenceMetrics { package.MyLoginModule required; };
実行時、コマンド行から(java.security.auth.login.config
システム・プロパティを使用)、またはJavaセキュリティ・プロパティ・ファイルで、使用するlogin.config
ファイルを指定します。
便宜を図るため、標準的なJavaランタイム・クラスにのみ依存するJavaキーストア(JKS) LoginModule
の実装が用意されています。このクラスは、COHERENCE_HOME
/lib/security/
coherence-login.jar
ファイルにあります。実装を使用するには、このライブラリを、プロキシ・サーバーのクラスパスか、JREのlib/ext
(標準拡張)ディレクトリに配置します。
login.config
構成ファイルで、次のとおりJKSログイン・モジュール実装を指定します。
CoherenceMetrics { com.tangosol.security.KeystoreLogin required keyStorePath="${user.dir}${/}security${/}keystore.jks"; };
エントリには、キーストアへのパスが含まれています。keyStorePath
変数をキーストアの場所に変更します。「Java SSLアーティファクトの生成」を参照してください。
親トピック: CoherenceメトリックHTTPアクセプタの基本認証
CoherenceメトリックHTTPクライアントの基本認証の指定
ユーザー名
およびパスワード
を使用するhttps
およびbasic_auth
にスキームを構成するためのパラメータは、Prometheus <scrape_config> configurationを参照してください。
親トピック: CoherenceメトリックHTTPアクセプタの基本認証
Oracle CoherenceメトリックでのSSL認証の使用方法
クライアント側のSSL証明書は、クライアントを認証するHTTPアクセプタに渡されます。SSLでは、SSLベースのソケット・プロバイダがHTTPアクセプタ用に構成されている必要があります。
この項には次のトピックが含まれます:
CoherenceメトリックHTTPアクセプタ用のSSLソケット・プロバイダの構成
認証にSSLを使用する場合は、HTTPアクセプタ用のSSLソケット・プロバイダを構成します。HTTPアクセプタ用にSSLを構成するには、SSLソケット・プロバイダ定義を明示的に追加するか、オペレーション・オーバーライド・ファイル内のSSLソケット・プロバイダ定義を参照します。
SSLソケット・プロバイダの明示的な定義
HTTPアクセプタ用にSSLソケット・プロバイダを明示的に構成するには、各<proxy-scheme>
定義の<http-acceptor>
要素内に<socket-provider>
要素を追加します。Oracle Coherenceでのアプリケーションの開発のsocket-providerを参照してください。デフォルトのmetrics-http-config.xml
をオーバーライドするには、このデフォルトをコピーして、改訂したmetrics-http-config.xml
をcoherence-metrics.jar
の発生前のクラスパスに配置します。
例10-1は、<protocol>
要素および<algorithm>
要素にデフォルト値(それぞれ、TLS
およびSunX509
)を使用するSSLソケット・プロバイダの構成を示しています。これらは完全を期して示しますが、デフォルト値使用の際には省略されることがあります。
例10-1では、アイデンティティ・キーストア(server.jks
)と信頼キーストア(trust.jks
)の両方を構成します。これは典型的な双方向SSL認証であり、クライアントとプロキシの双方が、デジタル証明書を交換し、互いのIDを確認する必要があります。一方向SSL認証の場合は、プロキシ・サーバーの構成にアイデンティティ・キーストアを含める必要がありますが、信頼キーストアは含める必要がありません。
例10-1 HTTP Acceptor用のSSL構成のサンプル
<proxy-scheme> <service-name>MetricsHttpProxyService</service-name> <acceptor-config> <http-acceptor> ... <socket-provider> <ssl> <protocol>TLS</protocol> <identity-manager> <algorithm>SunX509</algorithm> <provider system-property="coherence.metrics.security.keystore.provider"/> <key-store> <url system-property="coherence.metrics.security.keystore">file:server.jks</url> <password system-property="coherence.metrics.security.keystore.password"/> <type>JKS</type> </key-store> <password system-property="coherence.metrics.security.identitymanager.password”/> </identity-manager> <trust-manager> <algorithm/>SunX509</algorithm> <provider system-property="coherence.metrics.security.truststore.provider"/> <key-store> <url system-property="coherence.metrics.security.truststore">file:truststore.jks</url> <password system-property="coherence.metrics.security.truststore.password"/> <type>JKS</type> </key-store> </trust-manager> </ssl> </socket-provider> ... <auth-method>cert</auth-method> </http-acceptor> </acceptor-config> <autostart>true</autostart> </proxy-scheme>
Coherenceメトリックを使用したSSLソケット・プロバイダ定義の参照
次の例では、オペレーション・デプロイメント・ディスクリプタの<socket-providers>
要素で定義されているSSLソケット・プロバイダの構成を、構成のid
属性(ssl
)を指定することによって参照します。『Oracle Coherenceでのアプリケーションの開発』のsocket-providersに関する項を参照してください。
ノート:
事前定義済SSLソケット・プロバイダが、オペレーション・デプロイメント・ディスクリプタに含まれており、ssl
という名前です。事前定義済SSLソケット・プロバイダは、双方向SSL接続用に構成されており、信頼されているピアがすべて単一のJKSキーストア内に存在するピア信頼に基づいています。「事前定義済SSLソケット・プロバイダの使用方法」を参照してください。別のSSLソケット・プロバイダを構成するには、オペレーション・オーバーライド・ファイルを使用して事前定義済SSLソケット・プロバイダを変更するか、必要に応じてソケット・プロバイダの構成を作成します。
<proxy-scheme> <service-name>MetricsHttpProxy</service-name> <acceptor-config> <http-acceptor> ... <socket-provider>ssl</socket-provider> ... <auth-method>cert</auth-method> </http-acceptor> </acceptor-config> <autostart>true</autostart> </proxy-scheme>
Prometheus構成でのHTTPクライアント側の構成
Prometheusは、Coherenceメトリック・エンドポイントをスクレイプするために使用するHTTPクライアント・メトリック収集システムです。ユーザー名
およびパスワード
を使用するhttps
およびbasic_auth
にスキーム
を構成するためのパラメータは、Prometheus <scrape_config> configurationを参照してください。TLS接続を構成するには、Prometheus <tls_config> configurationを参照してください。