機能
SET SYSTEM PARAMETER文では、セキュリティパラメタを設定します。
記述形式
一般規則
すでにパラメタ値が設定されている場合は指定された値に置き換えます。
同じパラメタを複数指定することはできません。
監査ログデータベースに接続した状態からは実行できません。監査ログデータベース以外のデータベースに接続してから実行してください。
セキュリティ形態パラメタ名とセキュリティ形態パラメタ値
USER_CONTROL = {YES | NO}
利用者登録の使用宣言を行うかどうかを指定します。利用者登録の使用宣言は、登録された利用者のみにデータベースのアクセスを許可するシステムにする場合に指定します。省略した場合は、NOが指定されたものとみなします。NOを指定して実行した場合、登録されている利用者は削除されます。
利用者登録の使用宣言を行います。
利用者登録の使用宣言を行いません。
注意
監査ログパラメタのAUDITに利用者が指定されている場合、利用者登録の使用宣言をNOからYESに変更できません。
監査ログパラメタのAUDITから利用者の指定を外してください。
ROLE_RANGE = { LEVEL1 | LEVEL0 }
本パラメタは、運用系コマンド(rdbfmt、rdbsloader、rdbsaloader、rdbsuloader、rdbunlまたはrdbunlxコマンド)に対するロールの使用を有効にするかどうかを指定します。運用系コマンドに対するロールの使用宣言は、各コマンドで必要な権限を含むロールを付与されている利用者に対し、運用系コマンドの実行を許可する場合に指定します。
LEVEL1を指定することにより、コマンドの実行者への権限付与がロールを使用して行えるため、権限管理作業のコストを削減させることができます。
省略された場合は、標準セキュリティ運用時、標準運用時ともにLEVEL0が指定されたとみなします。
本パラメタは、CREATE USER文、ALTER USER文での利用者ごとの設定はできません。
上記の運用系コマンドに対するロールの使用を有効にします。
上記の運用系コマンドに対するロールの使用を有効にしません。
注意
LEVEL1は標準運用時のみ指定可能です。
標準セキュリティ運用時に、LEVEL1を指定した場合は無視されます。
パラメタ値にLEVEL1を指定すると、運用系コマンドの実行に必要な権限を含むロールが付与されている利用者は、運用系コマンドが実行できるようになります。意図しない利用者に運用系コマンドが実行されないように注意して、パラメタ値を変更してください。
権限の付与はGRANT文で行います。詳細は“3.47 GRANT文”を参照してください。
ユーザパラメタ名とユーザパラメタ値
ユーザパラメタには、以下のパラメタが指定できます。なお、SET SYSTEM PARAMETER文ではDEFAULT_ROLEを指定することはできません。
ユーザパラメタは利用者ごとに設定が可能です。利用者ごとの設定は、CREATE USER文またはALTER USER文で行います。これらのパラメタは、“USER_CONTROL=YES”を指定している場合に指定できます。
ユーザパラメタの設定値は、次のコネクション接続時に有効になります。
注意
以下のユーザパラメタは、Symfoware Server Enterprise Extended Editionを利用した場合のみ指定できます。ただし、ロードシェア運用時は使用できません(指定時はJYP4441Eを出力してエラーとなります)。
MAX_CONNECTION
MAX_MEMORY_USE
MAX_WORKFILE_USE
MAX_WORKFILE_NUM
MAX_TRAN_TIME
MAX_TRAN_MEM
MAX_WAIT_TIME
RESOURCE_LIMIT_CHECK
PASSWORD_CHANGE_TIME = 日数
何日前からパスワードの変更を勧めるかの日数を指定します。指定できる範囲は、0~128です。単位は日数です。省略した場合は、0が指定されたとみなします。0を指定すると変更催促を行いません。この日数を超えてサーバに接続すると、サーバに接続しSQL文を実行することはできますが、CONNECT文または最初に実行するSQL文で変更督促が行われます。
PASSWORD_LIMIT_TIME = 日数
パスワードの期限を指定します。指定できる範囲は、0~128および-1です。単位は日数です。省略した場合は、0が指定されたとみなします。0を指定すると無制限になります。-1を指定すると1回だけパスワードが有効となります。この日数を超えてサーバに接続すると、CONNECT文または最初に実行するSQL文がエラーになりサーバに接続できません。
INVALID_PASSWORD_WAIT_TIME = 待ち時間
パスワードが誤りの時の待ち時間を指定します。指定できる範囲は、0~5です。単位は秒です。省略した場合は、4が指定されたとみなします。誤ったパスワードを指定してCONNECT文を実行すると、CONNECT文の処理は指定した秒数だけ待ち状態になりエラーとなります。
INVALID_PASSWORD_TIME = 回数
パスワードを連続して失敗できる回数を指定します。指定できる範囲は、0~10です。単位は回数です。省略した場合は、5が指定されたとみなします。
MIN_PASSWORD_SIZE = パスワードサイズ
パスワードに最低限必要なバイト数を指定します。指定できる範囲は、6~8です。省略した場合は、6が指定されたとみなします。
本パラメタはSET USER PASSWORD文でパスワードを変更する場合に変更後のパスワードの長さがチェックされます。
MAX_CONNECTION = コネクション数
1人の利用者がSymfoware/RDBシステムに対して、同時に接続可能なコネクション数を指定します。
指定できる範囲は、0~32767です。省略した場合は、1が指定されたとみなします。0を指定すると無制限になります。
MAX_MEMORY_USE = メモリの最大量
1つのコネクションで使用可能なメモリ量を指定します。
指定できる範囲は、0~32767です。単位はメガバイトです。省略した場合は、16が指定されたとみなします。0を指定すると無制限になります。
コネクションの接続が完了するまでのメモリの最大量は、Symfoware/RDBシステムに対して設定された値になります。
MAX_WORKFILE_USE = 作業用ファイルの最大量
1つのコネクションで使用可能な作業用ファイルの量を指定します。
指定できる範囲は、0~32767です。単位はメガバイトです。省略した場合は、0が指定されたとみなします。0を指定すると無制限になります。
MAX_WORKFILE_NUM = 作業用ファイルの数
1つのコネクションで使用可能な作業用ファイルの数を指定します。
指定できる範囲は、0~32767および -1です。単位は個です。省略した場合は、16が指定されたとみなします。0を指定すると無制限になります。-1を指定すると作業用ファイルを作成することはできません。
MAX_TRAN_TIME = 実行時間
1つのトランザクションで使用可能な時間を指定します。
指定できる範囲は、0~32767です。単位は秒です。省略した場合は、300が指定されたとみなします。0を指定すると無制限になります。
時間超過を検出した場合には、接続中のコネクションが切断されます。
MAX_TRAN_MEM = メモリ量
1つのトランザクションで使用可能なトランザクション用メモリ量を指定します。
指定できる範囲は、0~32767です。単位はキロバイトです。省略した場合は、1024が指定されたとみなします。0を指定すると無制限になります。
MAX_WAIT_TIME = 時間
アプリケーションの無応答待ち時間を指定します。
指定できる範囲は、0~32767です。単位は分です。省略した場合は、無制限が指定されたとみなします。0を指定すると無制限になります。
時間超過を検出した場合には、接続中のコネクションが切断されます。コネクションの接続が完了するまでの最大の無応答の待ち時間は、Symfoware/RDBシステムに対して設定された値になります。
RESOURCE_LIMIT_CHECK = {USER | CONNECTION}
SET SESSION AUTHORIZATION文の実行時に、SET SESSION AUTHORIZATION文で指定した利用者の使用可能な資源量を変更するかどうかを指定します。
省略した場合は、USERが指定されたものとみなします。
本パラメタは、CREATE USER文、ALTER USER文での利用者ごとの設定はできません。
使用可能な資源量を変更します。
使用可能な資源量を変更しません。
監査ログパラメタ名と監査ログパラメタ値
監査ログパラメタには、以下のパラメタが指定できます。
注意
監査ログパラメタは、ロードシェア運用時は使用できません(設定しても無視されます)。
AUDIT_SESSION_SUCCESS = {YES | NO}
接続に成功したアプリケーションの実行に関する監査ログを取得するかどうかを指定します。省略した場合は、NOが指定されたとみなします。
監査ログを取得します。
監査ログを取得しません。
AUDIT_SESSION_FAIL = {YES | NO}
接続に失敗したアプリケーションの実行に関する監査ログを取得するかどうかを指定します。省略した場合は、NOが指定されたとみなします。
監査ログを取得します。
監査ログを取得しません。
AUDIT_ACCESS_SUCCESS = {YES | NO}
表およびプロシジャルーチンなどの資源に対するアクセスで成功したものの監査ログを取得するかどうかを指定します。省略した場合は、NOが指定されたとみなします。
監査ログを取得します。
監査ログを取得しません。
AUDIT_ACCESS_FAIL = {YES | NO}
表およびプロシジャルーチンなどの資源に対するアクセスで失敗したものの監査ログを取得するかどうかを指定します。省略した場合は、NOが指定されたとみなします。
監査ログを取得します。
監査ログを取得しません。
AUDIT_SQL = {YES | NO}
アプリケーションから実行されるSQL文とSQL文の実行時間に関する監査ログを取得するかどうかを指定します。省略した場合は、NOが指定されたとみなします。
AUDIT_SQL=NOを指定した場合、AUDIT_SQLBINDの指定に関わらず、SQL文の入力に関する情報の監査ログは取得されません。
監査ログのビュー表AUDIT_SQLおよびAUDIT_SQLBINDが存在しない監査ログ表の場合は、本パラメタの値に関係なく、アプリケーションから実行されるSQL文とSQL文の実行時間に関する監査ログは取得されません。これらの情報を取得する場合は、rdbauditコマンドのVLオプションで監査ログ表のバージョンを確認し、バージョンが0の場合は、“インストールガイド(サーバ編)”の“Symfoware Server移行時の作業手順”の“環境の作成”を参照して監査ログ表を再作成してください。
監査ログを取得します。
監査ログを取得しません。
AUDIT_SQLBIND = {YES | NO}
アプリケーションから実行されるSQL文の監査ログを取得する場合に、SQL文の入力に関する情報の監査ログを取得するかどうかを指定します。省略した場合は、NOが指定されたとみなします。
AUDIT_SQL=NOを指定した場合、AUDIT_SQLBINDの指定に関わらず、SQL文の入力に関する情報の監査ログは取得されません。
監査ログのビュー表AUDIT_SQLおよびAUDIT_SQLBINDが存在しない監査ログ表の場合は、本パラメタの値に関係なく、SQL文の入力に関する情報の監査ログは取得されません。これらの情報を取得する場合は、rdbauditコマンドのVLオプションで監査ログ表のバージョンを確認し、バージョンが0の場合は、“インストールガイド(サーバ編)”の“Symfoware Server移行時の作業手順”の“環境の作成”を参照して監査ログ表を再作成してください。
監査ログを取得します。
監査ログを取得しません。
AUDIT_MANAGE = {YES | NO}
管理者の実行に関する監査ログを取得するかどうかを指定します。省略した場合は、NOが指定されたとみなします。
監査ログを取得します。
監査ログを取得しません。
AUDIT_ERROR = {YES | NO}
システムにおける重大なエラー、その他の事象の監査ログを取得するかどうかを指定します。省略した場合は、NOが指定されたとみなします。
監査ログを取得します。
監査ログを取得しません。
AUDIT = ANY [BY USER [EXCEPT] (認可識別子[{, 認可識別子}…])]
監査ログを取得する利用者を限定します。省略した場合はすべての利用者の監査ログを取得します。
利用者をデータベースで管理する場合とOSで管理する場合のどちらの運用でも設定することができます。
AUDITパラメタの設定は、実行中のアプリケーションまたはコマンドに対して即時に有効となります。
オペランドに“ANY”のみを指定した場合は、すべての利用者の監査ログを取得します。
同じ利用者を複数指定することはできません。
利用者登録の使用宣言を行っている場合、定義されていない利用者は指定できません。利用者定義の詳細については、“3.24 CREATE USER文(利用者定義文)”を参照してください。
本パラメタを指定した場合、指定した利用者を除いた利用者の監査ログを取得します。
監査ログを取得する利用者を限定します。
EXCEPTを省略した場合
監査ログを取得する利用者名を指定します。
EXCEPTを指定した場合
監査ログを取得しない利用者名を指定します。
18文字以内の先頭が英字で始まる英数字、または9文字以内の日本語文字列を指定します。
以下の情報は、AUDITパラメタの設定に関係なく常に取得されます。
セションに関する情報(接続失敗時)
エラーに関する情報
注意
誤った利用者を設定すると監査ログが正しく取得できません。
設定後、正しく設定されているか必ず確認してください。
設定されている内容は、rdbprtコマンドのmオプションにPARAMを指定して実行することで確認できます。
AUDIT_LOG_FULL = {STOP | REUSE | CANCEL}
監査ログデータベースが満杯時の対処方法を指定します。省略した場合は、CANCELが指定されたとみなします。
Symfoware/RDBを強制停止します。
一番古い監査ログエレメントを再利用します。
注意
監査ログエレメントは満杯になると循環利用され、古い監査ログの内容が上書きされて失われます。そのため、監査ログエレメントが満杯になる事象を検出して監査ログを外部媒体にバックアップする運用を行う必要があります。詳細は“RDB運用ガイド”の“監査ログデータベースのバックアップと初期化”を参照してください。
監査ログの取得を停止して、メッセージログファイルに出力します。
注意
メッセージログファイルへの出力は、監査ログデータベースへの出力と比べて時間かかります。そのため、監査ログエレメントが満杯になる事象を検出して監査ログを外部媒体にバックアップする運用を行う必要があります。詳細は“RDB運用ガイド”の“監査ログデータベースのバックアップと初期化”を参照してください。
監査ログデータベースを暗号化している場合でも、メッセージログファイルに出力するログは暗号化しません。そのため、機密情報が漏洩する可能性があります。このような場合の危険性を回避するためには、“STOP”を指定するか、監査ログの取得範囲にSQL文を含めずに、監査ログ運用を行ってください。
使用例
利用者制御を使用し、パスワードの期限“PASSWORD_LIMIT_TIME”を30日に設定します。
SET SYSTEM PARAMETER USER_CONTROL = YES, PASSWORD_LIMIT_TIME = 30