パスワード・ストア・ファイル

パスワード・ストア・ファイルは、認証およびセキュアな通信に必要なパスワードなどの機密情報を安全に格納するために使用されるメカニズムです。このメカニズムは、Oracle NoSQL DatabaseのCommunity EditionおよびEnterprise Editionバージョンで使用できます。パスワード・ストア・ファイルは暗号化されていないファイルです。不正なアクセスを防ぐために、読取り保護されています。

パスワード・ストア・ファイルを使用してパスワードを格納する場合は、securityconfigユーティリティまたはmakebootconfigユーティリティを使用してストア・セキュリティを構成する際に、パスワード管理メカニズムとしてパスワード・ファイル(pwdfile)を指定する必要があります。

次の手順は、これを行う方法を示しています。

  • securityconfigの使用:
    securityconfigユーティリティを実行し、セキュリティを備えた基本ストア構成を設定します。securityconfigユーティリティの詳細は、「Securityconfigによるセキュリティの構成」を参照してください。
    java -Xmx64m -Xms64m -jar $KVHOME/lib/kvstore.jar securityconfig
    パスワード管理メカニズムを指定するには、config createコマンドを-pwdmgrオプションとともに使用します。この場合、メカニズムはpwdfileです。
    security-> config create -pwdmgr pwdfile -root $KVROOT
    Enter a password for the Java KeyStore:
  • makebootconfigの使用:
    -store-security configureオプションを指定してmakebootconfigユーティリティを実行します。makebootconfigユーティリティの詳細は、「Makebootconfigによるセキュリティの構成」を参照してください。たとえば:
    java -Xmx64m -Xms64m \
    -jar KVHOME/lib/kvstore.jar makebootconfig \
    -root KVROOT -port 5000 \
    -host node01 -harange 5010,5020 \
    -store-security configure -pwdmgr pwdfile -capacity 3
    Enter a password for the Java KeyStore: 

ストアのパスワードを入力してから、検証のために再入力します。構成ツールによって、セキュリティ関連ファイルが生成されます。store.passwdファイルは、キーストア・アクセス・パスワードを含むパスワード・ストア・ファイルです。これには、サーバー・プロセスにのみ認識される必要がある機密情報が含まれます。このファイルはサーバー側に残しておく必要があります。

client.securityおよびclient.trustファイルをクライアントにコピーし、データ・ストアへの接続時に使用する必要があります。
Created files
    $KVROOT/security/store.keys
    $KVROOT/security/store.trust
    $KVROOT/security/client.trust
    $KVROOT/security/client.security
    $KVROOT/security/store.passwd
    $KVROOT/security/security.xml
Created

パスワード・ストア・ファイルを作成して操作し、ユーザー・パスワードを格納できます。ユーザー・パスワードは、データ・アクセスおよび操作時に、付与された権限に基づいてデータベースに対して個々のユーザーまたはクライアントを認証するために必要となります。

次のコマンドは、これを行う方法を示しています。

新規パスワード・ストア・ファイルを作成するには、pwdfile createコマンドを実行します。
pwdfile create -file <password store file>
たとえば:
security-> pwdfile create -file $KVROOT/security/login.pwd
Created

名前(別名)と関連付けられた機密(パスワード)を操作するには、pwdfile secretコマンドを実行します。

pwdfile secret -file <password store file> 
{-set | -delete} -alias <alias>

ユーザーが-setオプションを指定した場合、ユーザーは指定した別名に対する新しいパスワードの入力、および新しいパスワードの検証が求められます。

-deleteオプションが指定されている場合、ストアから別名が削除されます。

たとえば、ユーザーJohnに関連付けられているシークレット(パスワード)を操作するには、次のようにpwdfileシークレット・コマンドを実行します:
security-> pwdfile secret -file $KVROOT/security/login.pwd -set -alias John
Enter the secret value to store: <password for user John>
Re-enter the secret value for verification: <password for user John>
Secret created

ユーザーとして認証するには、データ・ストアへの接続時に、ユーザー名およびパスワード・ファイルをセキュリティ・プロパティとして指定する必要があります。これを行うには、前に作成したsecurityフォルダにあるclient.securityファイルのコピーを作成します。client.securityファイルには、クライアントがデータ・ストアに安全に接続するために必要なセキュリティ・プロパティおよび構成の詳細が含まれています。コピーしたファイルに、ユーザー名およびパスワード・ファイルを含む追加プロパティを含めます。

次の手順は、これを行う方法を示しています。

securityフォルダに存在するclient.securityファイルのコピーを作成します。これをuser.loginと呼ぶことにします。
cp client.security user.login
user.loginファイルに次の追加プロパティを含めます:
oracle.kv.auth.username=John
oracle.kv.auth.pwdfile.file=$KVROOT/security/login.pwd
これで、user.loginを使用して、ユーザーJohnとしてストアに安全に接続できるようになりました:
java -Xmx64m -Xms64m -jar lib/kvstore.jar runadmin -port 8000 -host localhost -security kvroot/security/user.login
Logged in to Admin as John
kv->