ALTER AUDIT POLICY ステートメント
ALTER AUDIT POLICY ステートメントは、現行サーバーの監査ポリシーの定義を変更します。
呼び出し
このステートメントは、アプリケーション・プログラムに組み込むか、あるいは対話式に発行することができます。 これは、DYNAMICRULES の実行動作がパッケージに効力を持つ場合にのみ、動的に準備できる実行可能ステートメントです (SQLSTATE 42509)。
許可
このステートメントの許可 ID が持つ特権には、SECADM 権限が含まれている必要があります。
構文
説明
- ポリシー名
- 変更する監査ポリシーを指定します。 これは、1 部構成の名前です。 これは、SQL ID です (通常 ID または区切り ID)。 名前は、現行のサーバー上の既存の監査ポリシーを一意的に識別するものでなければなりません (SQLSTATE 42704)。
- カテゴリー
- 新規の状況値が指定される 1 つ以上の監査カテゴリーのリスト。 ALL が指定されない場合、明示的に指定されないカテゴリーの STATUS は未変更のままとなります。
- すべて
- すべてのカテゴリーを同じ状況に設定します。 EXECUTE カテゴリーは WITHOUT DATA です。
- AUDIT
- 監査設定が変更されるとき、または監査ログがアクセスされるときにレコードを生成する。
- CHECKING
- データベース・オブジェクトまたは関数へのアクセス試行またはその操作試行の許可検査中にレコードを生成します。
- CONTEXT
- データベースの操作が実行されるとき、操作コンテキストを表示するレコードを生成する。
- EXECUTE
- SQL ステートメントの実行を示すレコードを生成します。
- WITHOUT DATA または WITH DATA
- 任意のホスト変数およびパラメーター・マーカーに指定される入力データ値を EXECUTE カテゴリーの一部としてログに記録するかどうかを指定します。
- WITHOUT DATA
- 任意のホスト変数およびパラメーター・マーカーに指定される入力データ値は EXECUTE カテゴリーの一部としてログに記録されません。
- WITH DATA
- 任意のホスト変数およびパラメーター・マーカーに指定される入力データ値は EXECUTE カテゴリーの一部としてログに記録されます。 すべての入力値がログに記録されるわけではありません。 特に、LOB、LONG、XML、および構造化タイプのパラメーターは NULL 値となります。 日付、時刻、およびタイム・スタンプの各フィールドは ISO 形式でログに記録されます。 入力データ値はログに記録される前にデータベース・コード・ページに変換されます。 コード・ページの変換に失敗してもエラーは戻されず、変換前のデータがログに記録されます。
- OBJMAINT
- データ・オブジェクトが作成またはドロップされたときにレコードを生成します。
- SECMAINT
- オブジェクト特権、データベース特権、または DBADM 権限が付与されたとき、または取り消されたときにレコードを生成します。 レコードは、データベース・マネージャー・セキュリティー構成パラメーター sysadm_group、sysctrl_group、または sysmaint_group が変更されたときにも生成されます。
- SYSADMIN
- SYSADM、SYSMAINT、または SYSCTRL 権限を必要とする操作が実行されるとき、 レコードを生成する。
- VALIDATE
- ユーザーが認証されたとき、またはユーザーに関連したシステム・セキュリティー情報が取得されたときにレコードを生成します。
- 状況
- 指定されたカテゴリーの状況を指定します。
- BOTH
- 成功したイベントと失敗したイベントがどちらも監査されます。
- FAILURE
- 失敗したイベントだけが監査されます。
- 成功
- 成功したイベントだけが監査されます。
- NONE
- このカテゴリーのイベントは監査されません。
- ERROR TYPE
- 監査エラーを戻すか、無視するかを指定します。
- NORMAL
- 監査によって生成されたエラーはすべて無視され、実行される操作に関連したエラーの SQLCODE だけがアプリケーションに戻されます。
- AUDIT
- 監査機能自体で発生したエラーを含む、すべてのエラーがアプリケーションに戻されます。
ルール
- AUDIT 排他 SQL ステートメントの後は、COMMIT または ROLLBACK ステートメントでなければなりません (SQLSTATE 5U021)。 AUDIT 排他 SQL ステートメントは次のとおりです。
- AUDIT
- CREATE AUDIT POLICY、ALTER AUDIT POLICY、または DROP (AUDIT POLICY)
- ロールまたはトラステッド・コンテキストが監査ポリシーと関連付けられる場合は DROP (ROLE) または DROP (TRUSTED CONTEXT)
- AUDIT 排他 SQL ステートメントをグローバル・トランザクション (例えば XA トランザクション) 内で発行することはできません (SQLSTATE 51041)。
注
- データベース・パーティション全体を通じて、同時に実行できる非コミットの AUDIT 排他 SQL ステートメントは 1 つのみです。 非コミットの AUDIT 排他 SQL ステートメントが実行されている場合、後続の AUDIT 排他 SQL ステートメントは、現行の AUDIT 排他 SQL ステートメントがコミットまたはロールバックされるまで待機します。
- 変更はシステム・カタログに書き込まれますが、コミットされるまでは有効になりません。 これは、ステートメントを発行する接続の場合でも当てはまります。
- 変更される監査ポリシーが現在データベース・オブジェクトと関連付けられている場合、変更はそれによって影響を受けるアプリケーションの次の作業単位までは有効になりません。 例えば、監査ポリシーがデータベースで使用されている場合、現行の作業単位はその COMMIT または ROLLBACK ステートメントが完了するまではポリシーに対する変更を認識しません。
例
DBAUDPRF という名前の監査ポリシーの SECMAINT、CHECKING、および VALIDATE カテゴリーが成功と失敗の両方を監査するように変更します。
ALTER AUDIT POLICY DBAUDPRF
CATEGORIES SECMAINT STATUS BOTH,
CHECKING STATUS BOTH,
VALIDATE STATUS BOTH