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"です。