目次
新規または既存のOracle NoSQL Databaseインストールに対して、セキュリティを追加できます。
Oracle NoSQL Databaseの新規または既存の単一ホスト・デプロイメントにセキュリティを追加するには、次の項を参照してください。複数ノード・デプロイメントについては、「複数ノードのセキュア・デプロイメント」を参照してください。
次の各例では、Oracle NoSQL Databaseの新規または既存の単一ホスト・デプロイメントにセキュリティを追加する方法を説明します。
Oracle NoSQL Databaseをセキュアにインストールする手順は、次のとおりです。
makebootconfig
ユーティリティを必要な-store-security
オプションとともに実行して、セキュリティを備えた基本ストア構成を設定します。
java -Xmx256m -Xms256m \ -jar KVHOME/lib/kvstore.jar makebootconfig \ -root KVROOT -port 5000 \ -admin 5001 -host node01 -harange 5010,5020 \ -store-security configure -pwdmgr pwdfile -capacity 1
この例では、-store-security configure
が使用されるため、security configuration
ユーティリティがmakebootconfigプロセスの一部として実行され、キーストア・ファイルに使用するパスワードの入力が求められます。
Enter a password for the Java KeyStore:
ストアのパスワードを入力してから、検証のために再入力します。この場合、パスワード・ファイルが使用され、securityconfig
ツールによって次のセキュリティ関連ファイルが自動生成されます。
Enter a password for the Java KeyStore: *********** Re-enter the KeyStore password for verification: *********** Created files: security/client.trust security/client.security security/store.keys security/store.trust security/store.passwd security/security.xml
マルチホスト・ストア環境では、securityディレクトリおよびここに含まれるすべてのファイルを、ストレージ・ノードをホストする各サーバーにコピーする必要があります。
ストレージ・ノード・エージェント(SNA)を起動します。
nohup java -Xmx256m -Xms256m \ -jar KVHOME/lib/kvstore.jar start -root KVROOT&
セキュアな構成の新規作成されたストアの初回起動時には、アクセスを認証するための使用可能なユーザー定義がありません。不正アクセスのリスクを抑えるために、管理によって許可されるのは実行中のホストからの接続のみとなります。このセキュリティ手段は、不正アクセスに対する完全な予防策にはなりません。KVStoreが動作するマシンへのローカル・アクセスを可能にしないことが重要です。また、完全認証なしで管理にアクセスできる期間を最小限にするために、このステップの直後にステップ5、6および7を実行する必要があります。セキュアなストアの保守の詳細は、「構成の保護ガイドライン」を参照してください。
KVStoreサーバー・ホスト(node01)上で、runadmin
をセキュリティ・モードで起動します。このためには、次のコマンドを使用します。
java -Xmx256m -Xms256m \ -jar KVHOME/lib/kvstore.jar \ runadmin -port 5000 -host node01 \ -security KVROOT/security/client.security Logged in admin as anonymous
configure -name
コマンドを使用すると、構成するKVStoreの名前を指定できます。
kv-> configure -name mystore Store configured: mystore
管理ユーザーを作成します。この場合、ユーザーroot
が定義されます。
kv-> plan create-user -name root -admin -wait Enter the new password: ******** Re-enter the new password: ******** Executed plan 6, waiting for completion... Plan 6 ended successfully
ユーザーの作成および管理の詳細は、「ユーザー管理」を参照してください。
新規パスワード・ファイルを作成し、クライアントに対して管理ユーザー(root)としてのログインを許可するために必要な資格証明を格納します。
java -Xmx256m -Xms256m \ -jar KVHOME/lib/kvstore.jar securityconfig \ pwdfile create -file KVROOT/security/login.passwd java -Xmx256m -Xms256m \ -jar KVHOME/lib/kvstore.jar securityconfig pwdfile secret \ -file KVROOT/security/login.passwd -set -alias root Enter the secret value to store: ******** Re-enter the secret value for verification: ******** Secret created OK
パスワードは、前のステップで管理用に設定したパスワードと一致する必要があります。
ユーザーの作成および管理の詳細は、「ユーザー管理」を参照してください。
この時点では、rootユーザーとしてストアに接続できます。ログインするには、-username <user>
runadmin引数を使用するか、セキュリティ・ファイルに"oracle.kv.auth.username"プロパティを指定します。
この例では、セキュリティ・ファイル(mylogin.txt)が使用されます。ログインするには、次のコマンドを使用します。
java -Xmx256m -Xms256m \ -jar KVHOME/lib/kvstore.jar runadmin -port 5000 \ -host localhost -security mylogin Logged in admin as root
ファイルmylogin.txt
は、認証用に追加のプロパティ設定が含まれる、client.security
ファイルのコピーである必要があります。このファイルには次のような内容が含まれます。
oracle.kv.auth.username=root oracle.kv.auth.pwdfile.file=KVROOT/security/login.passwd oracle.kv.transport=ssl oracle.kv.ssl.trustStore=KVROOT/security/client.trust oracle.kv.ssl.protocols=TLSv1.2,TLSv1.1,TLSv1 oracle.kv.ssl.hostnameVerifier=dnmatch(CN\=NoSQL)
詳細は、「ユーザー・ログイン」を参照してください。
既存のOracle NoSQL Databaseインストールにセキュリティを追加する手順は、次のとおりです。
KVStoreインスタンスを停止します。
java -Xmx256m -Xms256m \ -jar KVHOME/lib/kvstore.jar stop \ -root KVROOT
securityconfig
ユーティリティを実行し、セキュリティを備えた基本ストア構成を設定します。
java -Xmx256m -Xms256m \ -jar KVHOME/lib/kvstore.jar securityconfig
config create
コマンドを-pwdmgr
オプションとともに使用して、ストアへのアクセスに必要なパスワードの保持に使用されるメカニズムを指定します。この場合、Oracle Walletが使用されます。Oracle Walletは、Oracle NoSQL Database EEバージョンでのみ使用できます。CEデプロイメントでは、かわりにpwdfile
オプションを使用する必要があります。
config create -pwdmgr wallet -root KVROOT Enter a password for the Java KeyStore:
ストアのパスワードを入力してから、検証のために再入力します。構成ツールによって、いくつかのセキュリティ関連ファイルが自動生成されます。
Enter a password for the Java KeyStore: *********** Re-enter the KeyStore password for verification: *********** Created files: security/security.xml security/store.keys security/store.trust security/store.wallet/cwallet.sso security/client.security security/client.trust
マルチホスト・ストア環境では、securityディレクトリおよびここに含まれるすべてのファイルを、ストレージ・ノードをホストする各サーバーにコピーする必要があります。
config add-security
コマンドを使用して、作成したセキュリティ構成を追加します。
security-> config add-security -root KVROOT -secdir security -config config.xml Configuration updated.
このコマンドの実行中、securityconfig
ツールにより参照先ファイルの存在が検証され、セキュリティ構成を参照するために指定のブートストラップ構成ファイルが更新されます。このプロセスは通常、KVStoreインスタンスが停止した状態で実行されるものであり、ストアの各ストレージ・ノード上で実行される必要があります。
ストレージ・ノード・エージェント(SNA)を起動します。
nohup java -Xmx256m -Xms256m \ -jar KVHOME/lib/kvstore.jar start -root KVROOT&
KVStoreサーバー・ホスト(node01)上で、runadmin
をセキュリティ・モードで起動します。このためには、次のコマンドを使用します。
java -Xmx256m -Xms256m \ -jar KVHOME/lib/kvstore.jar \ runadmin -port 5000 -host node01 \ -security KVROOT/security/client.security Logged in admin as anonymous.
このコマンドにより、SSLが接続メソッドとして設定され、生成されたトラストストア・ファイル(client.security)のコピーが指定されます。SSLプロパティの詳細は、「SSL通信プロパティ」を参照してください。
管理ユーザーを作成します。この場合、ユーザーroot
が定義されます。
kv-> plan create-user -name root -admin -wait Enter the new password: ******** Re-enter the new password: ******** Executed plan 8, waiting for completion... Plan 8 ended successfully
ユーザーの作成および管理の詳細は、「ユーザー管理」を参照してください。
新規ウォレット・ファイルを作成し、クライアントに対して管理ユーザー(root)としてのログインを許可するために必要な資格証明を格納します。
java -Xmx256m -Xms256m \ -jar KVHOME/lib/kvstore.jar securityconfig \ wallet create -dir KVROOT/security/login.wallet java -Xmx256m -Xms256m \ -jar KVHOME/lib/kvstore.jar securityconfig wallet secret \ -dir KVROOT/security/login.wallet -set -alias root Enter the secret value to store: ******** Re-enter the secret value for verification: ******** Secret created OK
パスワードは、前のステップで管理用に設定したパスワードと一致する必要があります。
ユーザーの作成および管理の詳細は、「ユーザー管理」を参照してください。
この時点では、rootユーザーとしてストアに接続できます。ログインするには、-username <user>
runadmin引数を使用するか、セキュリティ・ファイルに"oracle.kv.auth.username"プロパティを指定します。
この例では、oracle.kv.securityプロパティが使用されます。ログインするには、次のコマンドを使用します。
java -Xmx256m -Xms256m \ -Doracle.kv.security=mylogin \ -jar KVHOME/lib/kvstore.jar runadmin -port 5000 -host localhost Logged in admin as root
ファイルmylogin.txt
は、認証用に追加のプロパティ設定が含まれる、client.security
ファイルのコピーである必要があります。このファイルには次のような内容が含まれます。
oracle.kv.auth.username=root oracle.kv.auth.wallet.dir=KVROOT/security/login.wallet oracle.kv.transport=ssl oracle.kv.ssl.trustStore=KVROOT/security/client.trust oracle.kv.ssl.protocols=TLSv1.2,TLSv1.1,TLSv1 oracle.kv.ssl.hostnameVerifier=dnmatch(CN\=NoSQL)
詳細は、「ユーザー・ログイン」を参照してください。