Securityconfigによるセキュリティの構成
次のコマンドを使用して、makebootconfigプロセスの前または後にsecurityconfig
ツールを実行することもできます。
java -Xmx64m -Xms64m -jar <KVHOME>/lib/kvstore.jar securityconfig
securityconfigを使用したセキュリティ構成の作成、追加、削除またはマージの詳細は、次の各項を参照してください。
セキュリティ構成の作成
config create
コマンドを使用して、セキュリティ構成を作成できます。
config create
-root <secroot> [ -secdir <security dir> ]
[-pwdmgr { pwdfile | wallet <class-name>} ]
[-kspwd <password> ]
[-external-auth {kerberos}]
[-krb-conf <kerberos configuration>]
[-kadmin-path <kadmin utility path>]
[-instance-name <database instance name>]
[-admin-principal <kerberos admin principal name>]
[-kadmin-keytab <keytab file>]
[-kadmin-ccache <credential cache file>]
[-princ-conf-param <param=value>]*
[-param [client:|ha:|internal:|]<param>=<value>]*
説明:
-
-root <secroot>
セキュリティ構成が作成されるディレクトリを指定します。このディレクトリが完全なKVROOTである必要はありませんが、ディレクトリは存在する必要があります。
-
-external-auth {kerberos}
では、外部認証サービスとしてKerberosを指定します。このオプションは、Oracle NoSQL Database EEバージョンでのみ使用できます。コマンドラインでキータブまたは資格証明キャッシュが指定されていない場合は、対話型バージョンのsecurityconfig
ユーティリティが実行されます。このフラグを使用すると、Oracle NoSQL Databaseは、Kerberos認証に必要なセキュリティ・ファイルを標準構成に基づいて生成できます。お薦めはしませんが、非標準構成を使用することもできます。これを行うには、Oracle NoSQL Databaseサービス・プリンシパルの手動登録を参照してください
このフラグが許可されるのは、
-store-security
フラグの値が構成または有効化として指定されている場合のみです。実行中のストアからKerberos認証を削除するには、
userExternalAuth
security.xmlパラメータの値をNONE
に設定します。ここで、
-external-auth
には、次のフラグを指定できます。-
-admin-principal <kerberos admin principal name>
Kerberos管理インタフェースにログインするために使用するプリンシパルを指定します。これは、kadminのキータブまたはパスワードを使用して管理インタフェースに接続する場合に必要となります。
-
-kadmin-ccache <credential cache file>
kadmin/ADMINHOSTのサービス・チケットを含む、Kerberos資格証明のキャッシュ・ファイルの完全なパス名を指定します。
ADMINHOST
は、管理サーバーまたはkadmin/adminサービスの完全修飾ホスト名です。指定しない場合、ユーザーは、Kerberos管理インタフェースへのログイン中にプリンシパルのパスワードの入力を求められます。このフラグを
-kadmin-keytab
フラグと同時に指定することはできません。 -
-kadmin-keytab <keytab file>
Kerberos管理ユーザーのプリンシパルと暗号化されたキーが格納されるKerberosキータブ・ファイルの場所を指定します。セキュリティ構成ツールでは、指定されたキータブ・ファイルを使用して、Kerberos管理インタフェースにログインします。
キータブ・ファイルのデフォルトの場所は、Kerberos構成ファイルで指定されます。そこでキータブが指定されていない場合は、ファイル
user.home/krb5.keytab
が検索されます。キータブを使用してKerberos管理にログインする場合は、
-admin-principal
フラグを指定する必要があります。指定しないと、適切な管理プリンシパルが認識されません。このフラグを-kadmin-ccache
フラグと同時に指定することはできません。 -
-kadmin-path <kadmin utility path>
Kerberos kadminユーティリティの絶対パスを示します。デフォルト値は
/usr/kerberos/sbin/kadmin
です。 -
-krb-conf <kerberos configuration>
デフォルト・レルムとKDC情報を含むKerberos構成ファイルの場所を指定します。指定しない場合、デフォルト値は
/etc/krb5.conf
です。 -
-princ-conf-param <param=value>*
構成デフォルトの上書きを可能にする反復可能な引数。
krbPrincValidity
パラメータを使用して、Oracle NoSQL Database Kerberosサービス・プリンシパルの有効期限を指定します。krbPrincPwdExpire
パラメータを使用して、Oracle NoSQL Database Kerberosサービス・プリンシパルのパスワード有効期限を指定します。krbKeysalt
パラメータを使用して、キータブ・ファイルの生成に使用するkeysaltリストを指定します。
-
-
-secdir <security dir>
セキュリティ構成を保持するKVROOT内のディレクトリの名前を指定します。これは、指定されたsecrootに対して相対的な名前で指定する必要があります。指定しない場合、デフォルト値は"security"です。
-
-pwdmgr [ pwdfile | wallet ]
キーストアへのアクセスなどに必要なパスワードの保持に使用されるパスワード・マネージャ・メカニズムを示します。
ここでは、-pwdmgrに次のオプションを指定できます。
-
-pwdmgr pwdfile
パスワード・ストアが読取り保護されたクリアテキストのパスワード・ファイルであることを示します。これはOracle NoSQL Database CEデプロイメントにのみ使用できるオプションです。代替実装を指定できます。
pwdfile
の操作の詳細は、「パスワード・ストア・ファイル」を参照してください。 -
-pwdmgr wallet
パスワード・ストレージ・メカニズムとしてOracle Walletを指定します。このオプションは、Oracle NoSQL Database EEバージョンでのみ使用できます。
Oracle Wallet
の操作の詳細は、「Oracle Wallet」を参照してください。
-
-
-param [client:|ha:|internal:|]<param>=<value>]
構成デフォルトの上書きを可能にする反復可能な引数。この値は、"truststore"などの単純パラメータまたは"client:serverKeyAlias"などの修飾パラメータのいずれかとなります。修飾形式で指定した場合、修飾子("client"など)がセキュリティ構成内のトランスポートを指定し、割当はそのトランスポート固有のものとなります。単純形式の場合、パラメータのタイプに応じて、securityParams構造またはファイル内のすべてのトランスポートに適用されます。
securityconfigを使用したセキュリティの構成の詳細は、Oracle NoSQL Databaseのセキュア・インストールの実行を参照してください。
securityconfigを使用したKerberosの構成の詳細は、Kerberos認証サービスを参照してください。
セキュリティ構成の追加
config add-security
コマンドを使用して、前に作成したセキュリティ構成を追加できます。
config add-security
-root <kvroot> [-secdir <security dir>]
[-config <config.xml>]
ノート:
このコマンドの実行中、securityconfig
ツールにより参照先ファイルの存在が検証され、セキュリティ構成を参照するために指定のブートストラップ構成ファイルが更新されます。このプロセスは通常、KVStoreインスタンスが停止した状態で実行されるものであり、ストアの各ストレージ・ノード上で実行される必要があります。
説明:
-
-root <kvroot>
KVStoreルート・ディレクトリを引数として指定する必要があります。
-
-secdir <security dir>
セキュリティ構成を保持するKVROOT内のディレクトリの名前を指定します。これは、KVROOTに対して相対的な名前で指定する必要があります。指定しない場合、デフォルト値は"security"です。
-
-config <config.xml>
更新されるブートストラップ構成ファイルを指定します。これは、KVROOTに対して相対的な名前で指定する必要があります。指定しない場合、デフォルト値は"config.xml"です。
Kerberosを外部認証サービスとして使用する場合、config add-kerberos
コマンドを使用して、前に作成したセキュリティ構成を追加できます。
config add-kerberos -root <secroot> [-secdir <security dir>]
[-krb-conf <Kerberos configuration>]
[-kadmin-path <kadmin utility path>]
[-instance-name <database instance name>]
[-admin-principal <kerberos admin principal name>]
[-kadmin-keytab <keytab file> ]
[-kadmin-ccache <credential cache file>]
[-princ-conf-param <param=value>]*
[-param <param=value>]*
セキュリティ構成の検証
config verify
コマンドを使用して、セキュリティ構成の一貫性と正確性を検証できます。
config verify -secdir <security dir>
説明:
-
-secdir <securitydir>
セキュリティ構成を保持するKVROOT内のディレクトリの名前を指定します。これは、KVROOTに対して相対的な名前で指定する必要があります。指定しない場合、デフォルト値は"security"です。
次に例を示します。
security-> config verify -secdir security
Security configuration verification passed.
セキュリティ構成の更新
config update
コマンドを使用して、セキュリティ構成のセキュリティ・パラメータを更新できます。
config update -secdir <security dir> [-param <param=value>]*
説明:
-
-secdir <securitydir>
セキュリティ構成を保持するKVROOT内のディレクトリの名前を指定します。これは、KVROOTに対して相対的な名前で指定する必要があります。指定しない場合、デフォルト値は"security"です。
-
-param <param=value*>
更新するセキュリティ・パラメータのリスト。
次に例を示します。
security-> config update -secdir security -param clientAuthRequired=false
Security parameters updated.
セキュリティ構成の表示
config show
コマンドを使用して、すべてのセキュリティ構成情報を出力できます。
config show -secdir <security dir>
説明:
次に例を示します。
security-> config show -secdir security
Security parameters:
certMode=shared
internalAuth=ssl
keystore=store.keys
keystorePasswordAlias=keystore
passwordClass=oracle.kv.impl.security.filestore.FileStoreManager
passwordFile=store.passwd
securityEnabled=true
truststore=store.trust
internal Transport parameters:
clientAllowProtocols=TLSv1.2,TLSv1.1,TLSv1
clientAuthRequired=true
clientIdentityAllowed=dnmatch(CN=NoSQL)
clientKeyAlias=shared
serverIdentityAllowed=dnmatch(CN=NoSQL)
serverKeyAlias=shared
transportType=ssl
client Transport parameters:
clientAllowProtocols=TLSv1.2,TLSv1.1,TLSv1
serverIdentityAllowed=dnmatch(CN=NoSQL)
serverKeyAlias=shared
transportType=ssl
ha Transport parameters:
allowProtocols=TLSv1.2,TLSv1.1,TLSv1
clientAuthRequired=true
clientIdentityAllowed=dnmatch(CN=NoSQL)
serverIdentityAllowed=dnmatch(CN=NoSQL)
serverKeyAlias=shared
transportType=ssl
Keystore:
security/store.keys
Keystore type: JKS
Keystore provider: SUN
Your keystore contains 1 entry
shared, Jun 1, 2016, PrivateKeyEntry,
Certificate fingerprint (SHA1): A6:54:9C:42:13:66:DC:E9:A8:62:DB:
A8:87:FD:DE:23:F7:AD:11:FB
Keystore:
security/store.trust
Keystore type: JKS
Keystore provider: SUN
Your keystore contains 1 entry
mykey, Jun 1, 2016, trustedCertEntry,
Certificate fingerprint (SHA1):A6:54:9C:42:13:66:DC:E9:A8:62:DB:
A8:87:FD:DE:23:F7:AD:11:FB
-
-secdir <securitydir>
セキュリティ構成を保持するKVROOT内のディレクトリの名前を指定します。これは、KVROOTに対して相対的な名前で指定する必要があります。指定しない場合、デフォルト値は"security"です。
セキュリティ構成の削除
なんらかの理由で既存のインストールのセキュリティを無効にする場合、config remove-security
コマンドを使用できます。
config remove-security -root <kvroot> [-config >config.xml>]
ノート:
このコマンドの実行中、securityconfig
ツールにより、セキュリティ構成を参照するために指定のブートストラップ構成ファイルが更新されます。このプロセスは通常、KVStoreインスタンスが停止した状態で実行されるものであり、ストアの各ストレージ・ノード上で実行される必要があります。
説明:
-
-root <kvroot>
KVStoreルート・ディレクトリを引数として指定する必要があります。
-
-config <config.xml>
更新されるブートストラップ構成ファイルを指定します。これは、KVROOTに対して相対的な名前で指定する必要があります。指定しない場合、デフォルト値は"config.xml"です。
次に例を示します。
security-> config remove-security -secdir security
Configuration updated.
トラストストア構成のマージ
トラストストア・エントリをあるセキュリティ構成から別のセキュリティ構成にマージする場合、config merge-trust
コマンドを使用します。このコマンドは、特にSSLキー/証明書の更新が必要な場合に、セキュリティ保守を実行する際に便利です。SSLキーおよび証明書の更新ガイドラインを参照してください
config merge-trust
-root <secroot> [-secdir <security dir>]
-source-root <secroot> [-source-secdir <security dir>]
ノート:
このコマンドの実行中、securityconfig
ツールにより参照先ファイルの存在が検証され、ソース・セキュリティ構成からプライマリ・セキュリティ構成に信頼エントリが結合されます。
説明:
-
-root <secroot>
更新されるセキュリティ構成が含まれるディレクトリを指定します。このディレクトリが完全なKVROOTである必要はありませんが、ディレクトリが存在し、既存のセキュリティ構成が含まれる必要があります。
-
-secdir <security dir>
セキュリティ構成を保持するsecroot内のディレクトリの名前を指定します。これは、secrootに対して相対的な名前で指定する必要があります。指定しない場合、デフォルト値は"security"です。
-
-source-root <secroot>
新規信頼情報を提供するセキュリティ構成が含まれるディレクトリを指定します。このディレクトリが完全なKVROOTである必要はありませんが、ディレクトリが存在し、既存のセキュリティ構成が含まれる必要があります。
-
-source-secdir <security dir>
新規信頼情報を提供するソースsecroot内のsecurityディレクトリの名前を指定します。指定しない場合、デフォルト値は"security"です。