データ・ストアでのセキュリティの構成
データ・ストア・セキュリティの基本
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
を使用します。
ユーザーの作成とリモート・アクセスによるセキュリティの構成
セキュア・クラスタのユーザーを作成する必要があります。
リモート・アクセスにセキュリティを構成するには、次のステップを参照してください。
-
最初の管理ユーザーを作成します。この場合、ユーザー
root
が定義されます。kv->execute 'CREATE USER root IDENTIFIED BY "password" ADMIN'
-
readwrite
ロールを最初の管理ユーザーに付与します。kv->execute "GRANT readwrite TO USER root"
-
最初の管理ユーザーのパスワード・ストアを生成します。このステップでは、
$KVROOT/security
ディレクトリにroot.passwd
ファイルを作成します。これらは、root.passwd
を作成するためのコマンドです。java -Xmx64m -Xms64m \ -jar $KVHOME/lib/kvstore.jar securityconfig \ pwdfile create -file $KVROOT/security/root.passwd java -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
ユーティリティによって作成されました。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