セキュア・ストアの使用

クライアント・コードでストアに対して認証する必要がないように、Oracle NoSQL Databaseをインストールできます。(これを明確にするために、この本に示すほとんどの例では認証が実行されていなません。)ただし、ストアを安全に運用するために、認証を要求することもできます。認証を要求すると、SSLおよび認証の使用によるオーバーヘッドが原因でパフォーマンス・コストが発生します。本番ストアではSSLを使用した認証を要求することをお薦めしますが、特にパフォーマンスが重要となるサイトでは、そのレベルのセキュリティを実施しないことがあります。

認証では、プロキシ・サーバーがストアに接続した時点で、ストアにユーザー名/パスワード資格証明を送信します。プロキシ・サーバーは、接続されているクライアント・コードから使用するユーザー名を取得します。その他の資格証明情報は、プロキシ・サーバーと同じローカル・ホストにインストールする必要があるセキュリティ・プロパティ・ファイルに含まれています。ドライバ・コードからプロキシ・サーバーへの接続はセキュアではないことに注意してください。そのため、プロキシ・サーバーおよびドライバ・コードを同じ物理ホストで実行することをお薦めします。

認証をサポートするようにストアを構成する場合、SSLを使用してクライアントと通信するように自動的に構成されます。SSLを使用すると、認証およびその他の機密情報のプライバシが保証されます。SSLを使用するには、プロキシ・サーバーが実行されるマシンにSSL証明書をインストールして、アクセス先のストアが信頼できることを検証する必要があります。

認証用のストアの構成の詳細は、セキュリティ・ガイド認証の構成を参照してください。

SSLの構成

セキュア・ストアを使用している場合、プロキシ・サーバーとストア間のすべての通信は、認証資格証明も含めて、SSLを介してトランスポートされます。そのため、クライアント・コードでSSLを使用するように構成する必要があります。これを行うには、SSL証明書データがある場所を識別し、SSLトランスポートを使用することを別途指定します。

トラスト・ストアの識別

Oracle NoSQL DatabaseストアでSSLトランスポートを使用するように構成すると、セキュリティ構成ツールを使用して一連のセキュリティ・ファイルが生成されます。これらのファイルの1つであるclient.trustファイルを、プロキシ・サーバーを実行するすべてのマシンにコピーする必要があります。

セキュリティ構成ツールの使用方法の詳細は、セキュリティ・ガイドセキュリティ構成を参照してください。

client.trustファイルには、ストアとのSSL接続を確立するために必要な証明書が含まれているため、このファイルがある場所をプロキシ・サーバーに指定する必要があります。このファイルが置かれているマシン上の物理的なロケーションを指定するには、oracle.kv.ssl.trustStoreプロパティを使用します。

SSLトランスポート・プロパティの設定

client.trustファイルの場所を指定する以外に、プロキシ・サーバーにSSLトランスポートを使用するように指示することも必要です。このためには、oracle.kv.transportプロパティを設定します。

プロキシ・サーバーのセキュリティ・プロパティの設定

Oracle NoSQL Databaseセキュア・ストアがインストールされると、client.securityというファイルが生成されます。このファイルには、プロキシ・サーバーに必要なセキュリティ・プロパティが含まれます。このファイルをclient.trustファイルおよびlogin.passwdファイルとともに、プロキシ・サーバーを実行するマシンにコピーします。これらのすべてのファイルは、インストール・プロセス中に作成されたものです。

ローカル・ホストのファイルの場所を調整するために、client.securityファイルの編集が必要になる場合があります。これを行うと、client.securityは次のようになります。

oracle.kv.auth.username=root
oracle.kv.auth.pwdfile.file=/security/login.passwd
oracle.kv.transport=ssl
oracle.kv.ssl.trustStore=/security/client.trust
oracle.kv.ssl.protocols=TLSv1.2,TLSv1.1,TLSv1
oracle.kv.ssl.hostnameVerifier=dnmatch(CN\=NoSQL) 

これらのファイルが準備されて正しく編集された後、クライアント・コードでストア接続を作成する際に、プロキシ・サーバーが実行されているディスク上のclient.securityファイルの場所と、クライアントが認証するユーザー名を指定する必要があります。この実行方法の例は、ストアへの接続を参照してください。