データ・ストアでのセキュリティの構成
データ・ストア・セキュリティの基本
Oracle NoSQL Databaseは安全に構成できます。
セキュアな構成では、NoSQLクライアント、ユーティリティおよびNoSQLデータ・ストア・コンポーネントの間のネットワーク通信はSSL/TLSを使用して暗号化され、すべてのプロセスが接続先のコンポーネントに対して自己認証を行う必要があります。セキュリティを有効にしてOracle NoSQL Databaseを構成することをお薦めします。
store-securityは、セキュリティが使用されているかどうかを指定します。noneを指定すると、セキュリティは使用されません。configureを指定すると、セキュリティを構成することを示します。configureを指定するか、store-securityパラメータを指定しない場合、makebootconfigプロセスは、その操作の一部としてsecurityconfigユーティリティを呼び出します。「有効化」を指定すると、セキュリティが使用されることを示します。「有効化」を指定する場合は、セキュリティ構成ユーティリティ(securityconfig)を使用してセキュリティを明示的に構成するか、前に作成したセキュリティ構成を別のシステムからコピーする必要があります。
                     ノート:
-store-securityパラメータを指定しない場合、デフォルトでセキュリティが構成されます。セキュア・インストールを完了するには、ストレージ・ノード・エージェントを起動する前に、securityconfigユーティリティを使用してセキュリティ・フォルダを作成する必要があります。 
                        
securityconfigツールを使用したセキュリティの構成
makebootconfigプロセスの前または後にsecurityconfigツールを実行できます。このツールは、セキュリティ・ディレクトリを作成し、セキュリティ関連のファイルも作成します。makebootconfigユーティリティは、次の2つのシナリオのいずれかでsecurityconfigツールを自動的に起動します。
                     - makebootconfigコマンドで、セキュア・データ・ストアの構成を明示的にリクエストする- store-security configureを指定します。
- makebootconfigコマンドでは、- store-securityパラメータを省略します。セキュリティ保護されたデータ・ストアは、デフォルトで構成されます。
securityconfigツールを起動します。java -Xmx64m -Xms64m 
-jar $KVHOME/lib/kvstore.jar 
securityconfig \
config create -root $KVROOT -kspwd (******)
Created files
$KVROOT/security/security.xml
$KVROOT/security/store.keys
$KVROOT/security/store.trust
$KVROOT/security/client.trust
$KVROOT/security/client.security
$KVROOT/security/store.passwd (Generated in CE version)
$KVROOT/security/store.wallet/cwallet.sso (Generated in EE version)
Created
 詳細は、セキュリティ・ガイドのSecurityconfigによるセキュリティの構成を参照してください。
-store-security configureを使用して最初のストレージ・ノードで構成されます。セキュリティを設定するには、セキュリティ・ディレクトリとそのディレクトリに含まれるすべてのファイルを、最初のストレージ・ノードから他のストレージ・ノードにコピーする必要があります。最初のストレージ・ノードからsecurity.zipまでのすべてのセキュリティ関連ファイルをZipで実行します。cd ; 
zip -r $HOME/security.zip $KVROOT/security; 
cd -
最初のストレージ・ノードから他のストレージ・ノードにsecurity.zipをコピーします。他のストレージ・ノードでは、security.zipファイルを解凍し、このセキュリティ情報(最初のストレージ・ノードからコピー)を使用します。次に、残りのストレージ・ノードの構成時に-store-security enableを使用します。
                  
ユーザーの作成とリモート・アクセスによるセキュリティの構成
セキュアなクラスタのユーザーを作成する必要があります。
リモート・アクセスに関してセキュリティを構成するには、次のステップを実行します:
- runadminコマンドを呼び出してストレージ・ノードで管理コマンドライン・インタフェース(CLI)ユーティリティを起動します。このコマンドは、- kvプロンプトを起動します。- java -jar $KVHOME/lib/kvstore.jar runadmin -host $KVHOST -port 5000 -security $KVROOT/security/client.security
-  
                           最初の管理ユーザーを作成します。この場合、ユーザー rootが定義されます。kv->execute 'CREATE USER root IDENTIFIED BY "password" ADMIN'
-  
                           readwriteロールを最初の管理ユーザーに付与します。kv->execute "GRANT readwrite TO USER root"
- 管理コマンドライン・インタフェース(CLI)ユーティリティを終了します。kv-> exit
-  
                           最初の管理ユーザーのパスワード・ストアを生成します。このステップでは、 $KVROOT/securityディレクトリにroot.passwdファイルを作成します。これらは、root.passwdを作成するためのコマンドです。java -Xmx64m -Xms64m \ -jar $KVHOME/lib/kvstore.jar securityconfig \ pwdfile create -file $KVROOT/security/root.passwdjava -Xmx64m -Xms64m \ -jar $KVHOME/lib/kvstore.jar securityconfig \ pwdfile secret \ -file $KVROOT/security/root.passwd -set -alias root -secret password
- 
                           
                           client.securityファイルをroot.loginという名前の別のファイルにコピーします。このclient.securityは、以前にsecurityconfigユーティリティによって作成されました。詳細は、「securityconfigツールを使用したセキュリティの構成」を参照してください。cp $KVROOT/security/client.security $KVROOT/security/root.login
- すべてのユーザー・セキュリティ・ファイルをzipで圧縮します。これは、データ・ストアのすべてのストレージ・ノードにコピーする必要があります。cd $KVROOT/security; zip -r root.zip root.* client.trust ; cd -
- すべてのストレージ・ノード(データ・ストア内の最初のストレージ・ノード以外)から、ユーザー・セキュリティ・ファイルを$KVROOT/securityディレクトリに解凍します。unzip -o $KVROOT/security/root.zip -d $KVROOT/security
-  
                           次のように、ストレージ・ノード上で実行されている管理ノードに別のストレージ・ノードからリモートでアクセスできます: java -Xmx64m -Xms64m \ -jar $KVHOME/lib/kvstore.jar runadmin \ -port 5000 -host node01 \ -security $KVROOT/security/root.login