Hitachi

ノンストップデータベース HiRDB Version 10 構造型データベース機能


7.4.2 監査対象イベントの定義

定義系SQLのCREATE AUDIT文で監査対象イベントを定義します。CREATE AUDIT文の指定形式を次に示します。

〈この項の構成〉

(1) 指定形式

項番

指定形式

指定要否

1

CREATE AUDIT

   〔AUDITTYPE {PRIVILEGE|EVENT|ANY}〕

2

   FOR 操作種別

3

   〔選択オプション〕

4

   〔WHENEVER {SUCCESSFUL|UNSUCCESSFUL|ANY}〕

■各項目の詳細

項番

指定形式

指定要否

5

操作種別::={ANY

   |SESSION〔{セッション種別|ANY}〕

×

   |PRIVILEGE〔{権限操作種別|ANY}〕

×

   |DEFINITION〔{オブジェクト定義イベント種別|ANY}〕

×

   |ACCESS〔{オブジェクト操作イベント種別|ANY}〕

×

   |UTILITY〔{ユティリティイベント種別|ANY}〕

×

   |SDB_ACCESS〔{SDBデータベース操作イベント種別|ANY}〕

   |SDB_UTILITY〔{SDBユティリティ操作イベント種別|ANY}〕}

6

選択オプション::={ON オブジェクト名

          |BY AUTHORIZATION 認可識別子}

  オブジェクト名::=

      {FUNCTION 認可識別子.ルーチン識別子

      |INDEX 認可識別子.インデクス識別子

      |LIST 認可識別子.表識別子

      |PROCEDURE 認可識別子.ルーチン識別子

      |RDAREA RDエリア名

      |SCHEMA 認可識別子

      |TABLE 〔認可識別子. 〕表識別子

      |TRIGGER 認可識別子.トリガ識別子

      |TYPE 認可識別子.データ型識別子

      |VIEW 認可識別子.表識別子

      |SEQUENCE 認可識別子.順序数生成子識別子}

×

7

  セッション種別::=

    {CONNECT|DISCONNECT|AUTHORIZATION}

×

8

  権限操作種別::=

    {GRANT|REVOKE}

×

9

  オブジェクト定義イベント種別::=

    {CREATE|DROP|ALTER}

×

10

  オブジェクト操作イベント種別::=

    {SELECT|INSERT|UPDATE|DELETE|PURGE|ASSIGN

    |CALL|LOCK|NEXT VALUE}

×

11

  ユティリティイベント種別::=

    {PDLOAD|PDRORG|PDEXP|PDCONSTCK}

×

12

  SDBデータベース操作イベント種別::=

    {FETCH 〔FETCHオプション〕|STORE|MODIFY|ERASE

    |CLEAR|FETCHDB ALL}

13

  FETCHオプション::=FIRST

14

  SDBユティリティ操作イベント種別::=

    {PDSDBDEF|PDSDBLOD|PDSDBROG}

(凡例)

○:指定必須のオペランドまたは指定を検討するオペランドです。

×:関係のないオペランドのため,指定不要です。

注※

ON オブジェクト名は指定できません。操作種別にSDB_ACCESSまたはSDB_UTILITYを指定してON オブジェクト名を指定した場合,KFPA19680-Eメッセージが出力されてエラーとなります。

(2) オペランドの説明

ここでは,指定形式の項番5,6,12〜14のオペランドについてだけ説明します。そのほかのオペランドについては,マニュアル「HiRDB SQLリファレンス」の「CREATE AUDIT(監査対象イベントの定義)」を参照してください。

5)操作種別::={ANY

      |SDB_ACCESS〔{SDBデータベース操作イベント種別|ANY}〕

      |SDB_UTILITY〔{SDBユティリティ操作イベント種別|ANY}〕}

監査対象とする操作種別を指定します。個々の操作種別とANYは,個別に定義,および削除をします。例えば,SDB_UTILITYを定義した状態で,ANYだけをDROP AUDIT文で削除しても,SDB_UTILITYの定義は残ります(監査対象のままとなります)。

ANY

すべての操作種別を監査対象とします。ただし,次のオプションは無効になります。

  • SDBデータベース操作イベント種別のFETCHオプション

SDB_ ACCESS〔{SDBデータベース操作イベント種別|ANY}〕

SDBデータベース操作イベントを監査対象に定義する場合に指定します。ANYは,すべてのSDBデータベース操作イベントを監査対象に定義する場合に指定します。ただし,ANYを指定した場合,FETCHオプションは無効になります。

個々のSDBデータベース操作イベント種別とANYは,個別に定義,および削除をします。例えば,FETCHおよびANYを定義した状態で,ANYだけをDROP AUDIT文で削除しても,FETCHの定義は残ります(監査対象のままとなります)。

SDB_UTILITY〔{SDBユティリティ操作イベント種別|ANY}〕

SDBユティリティ操作イベントを監査対象に定義する場合に指定します。ANYはすべてのSDBユティリティ操作イベントを監査対象とします。個々のSDBユティリティ操作イベント種別とANYは,個別に定義,および削除をします。例えば,PDSDBLOD,PDSDBROG,およびANYを定義した状態で,ANYだけをDROP AUDIT文で削除しても,PDSDBLODおよびPDSDBROGの定義は残ります(監査対象のままとなります)。

6)選択オプション::={ON オブジェクト名|BY AUTHORIZATION 認可識別子}
ON オブジェクト名

このオプションは指定できません。操作種別にSDB_ACCESSまたはSDB_UTILITYを指定してON オブジェクト名を指定した場合,KFPA19680-E メッセージが出力されてエラーとなります。

BY AUTHORIZATION 認可識別子

監査証跡を取得するイベント実行者を絞り込む場合に指定します。監査対象とするイベント実行者の認可識別子を指定してください。指定しない場合は,すべてのイベント実行者が対象となります。

SDBユティリティ操作イベントを指定している場合は,指定できません。指定した場合,KFPA19680-Eメッセージが出力されてエラーとなります。

12)SDBデータベース操作イベント種別::={FETCH 〔FETCHオプション〕

|STORE|MODIFY|ERASE|CLEAR|FETCHDB ALL}

SDBデータベース操作イベントを監査対象として定義する場合に指定します。SDBデータベース操作イベント種別とその監査イベントが発生する操作を次の表に示します。

表7‒8 SDBデータベース操作イベント種別とその監査イベントが発生する操作

SDBデータベース操作イベント種別

権限チェックの監査イベントが発生する操作(AUDITTYPEにPRIVILEGEを指定した場合)

イベントの最終結果の監査証跡を取得する監査イベントが発生する操作(AUDITTYPEにEVENTを指定した場合)

FETCH

なし

  • レコードの検索(FETCH)の実行

  • 位置指示子の位置づけ(FIND)の実行

STORE

レコードの格納(STORE)の実行

MODIFY

レコードの更新(MODIFY)の実行

ERASE

レコードの削除(ERASE)の実行

CLEAR

レコードの一括削除の実行

FETCHDB ALL

複数レコードの検索(FETCHDB ALL)の実行

13)FETCHオプション::=FIRST

SDBデータベース操作イベント種別のFETCHオプションを指定します。

FIRST

4V FMBまたはSD FMBのSDBデータベースを対象にした監査証跡取得オプションです。

FETCHはすべてのレコード検索をイベントの対象としますが,FIRSTを指定した場合,各レコード型に対して検索のイベントが成功した最初のレコードの監査証跡だけを取得し,以降の検索イベントで成功した同じレコード型の監査証跡は取得しません。ただし,同じレコード型であっても,レコード検索のイベントが失敗した場合は監査証跡を取得します。このオプションは,個別開始ごとにファミリ単位にルートレコードを含め,その配下の子レコードに対して適用されます。そのため,同じレコード型へのアクセスであっても,ルートレコードのキーが変わった場合(ルートレコードへの位置づけが発生した場合),イベントの対象として監査証跡が取得されます。

また,レコード検索処理の途中でこのオプションのイベント定義が有効になった場合,そのタイミングで同一レコード型に対する2回目以降の検索レコードは取得されません。

FIRSTは,4V AFMのSDBデータベースで指定しても無効になります。

FIRSTを指定する場合は,WHENEVERの指定をANYにする必要があります。操作種別でANYまたはSDB_ACCESSでANYを指定した場合,このオプションの指定は無効になります。また,FETCHとFETCH FIRSTの定義が同時に存在した場合は,FETCHの定義として動作します。このため,FETCH FIRSTの機能でイベントを取得するためには,操作種別でANYまたはSDB_ACCESSでANYを指定しないで,操作種別のイベントを個々に定義し,かつイベント種別のFETCHはFETCH FIRSTだけを定義する必要があります。

14)SDBユティリティ操作イベント種別::={PDSDBDEF|PDSDBLOD|PDSDBROG}

SDBユティリティ操作イベントを監査対象として定義します。SDBユティリティ操作イベント種別とその監査イベントが発生する操作を次の表に示します。

表7‒9 SDBユティリティ操作イベント種別とその監査イベントが発生する操作

SDBユティリティ操作イベント種別

権限チェックの監査イベントが発生する操作(AUDITTYPEにPRIVILEGEを指定した場合)

イベントの最終結果の監査証跡を取得する監査イベントが発生する操作(AUDITTYPEにEVENTを指定した場合)

PDSDBDEF

pdsdbdefコマンドの実行

同左

PDSDBLOD

pdsdblodコマンドの実行

PDSDBROG

pdsdbrogコマンドの実行

(3) SDBデータベース操作イベントのオペランドの指定と監査対象イベントの関係

SDBデータベース操作のイベント定義では,操作種別とそのほかのオペランドとの組み合わせによっては,監査証跡が出力されないことがあります。そのような定義の指定をした場合は,KFPA19680-Eメッセージが出力されます。

イベントタイプ,イベントサブタイプの指定とAUDITTYPEの指定可否を次の表に示します。

表7‒10 イベントタイプ,イベントサブタイプの指定とAUDITTYPEの指定可否

イベントタイプ(操作種別)

イベントサブタイプ(SDBデータベース操作イベント種別)

AUDITTYPEの指定可否

PRIVILEGE

EVENT

ANY

ANY

該当しません。

SDB_ACCESS

FETCH

×

STORE

×

MODIFY

×

ERASE

×

CLEAR

×

FETCHDB ALL

×

ANY

×

(凡例)

○:指定できます。

△:指定できるが,SDB_ACCESSに関する権限チェックの監査証跡は出力されません。

×:指定できません(KFPA19680-Eメッセージが出力されてエラーとなります)。

(4) SDBユティリティ操作イベントのオペランドの指定と監査対象イベントの関係

SDBユティリティ操作イベントのオペランドの指定と監査対象イベントの関係を次の表に示します。

表7‒11 SDBユティリティ操作イベントのオペランドの指定と監査対象イベントの関係

項番

AUDITTYPEの指定

操作種別の指定

SDBユティリティ操作イベント種別の指定

選択オプションの指定

監査対象イベント

1

PRIVILEGE

SDB_UTILITY

PDSDBDEF

なし

pdsdbdefコマンド実行時のCONNECT権限チェックを監査対象イベントにします。

2

あり

この指定の組み合わせはエラーになります。

3

PDSDBLOD

なし

pdsdblodコマンド実行時のCONNECT権限チェックを監査対象イベントにします。

4

あり

この指定の組み合わせはエラーになります。

5

PDSDBROG

なし

pdsdbrogコマンド実行時のCONNECT権限チェックを監査対象イベントにします。

6

あり

この指定の組み合わせはエラーになります。

7

ANY

なし

項番1,3,5のすべてを監査対象イベントにします。

8

あり

この指定の組み合わせはエラーになります。

9

ANY

指定なし

なし

項番1,3,5のすべてを監査対象イベントにします。

10

あり

この指定をしても,項番7の項目は,監査対象イベントにはなりません。

11

EVENT

SDB_UTILITY

PDSDBDEF

なし

pdsdbdefコマンドの次の操作を監査対象イベントにします。

  • *ENTRY DICTIONARY文,*ALTER DICTIONARY文,*DELETE DICTIONARY文の実行

  • *CHECK DICTIONARY文の実行

  • *ENTRY DIRECTORY文,ALTER DIRECTORY文,DELETE DIRECTORY文の実行

  • SDBディレクトリ情報ファイルの作成

  • pdsdbdefコマンドの終了

12

あり

この指定の組み合わせはエラーになります。

13

PDSDBLOD

なし

pdsdblodコマンドの終了を監査対象イベントにします。

14

あり

この指定の組み合わせはエラーになります。

15

PDSDBROG

なし

pdsdbrogコマンドの終了を監査対象イベントにします。

16

あり

この指定の組み合わせはエラーになります。

17

ANY

なし

項番11,13,15のすべてを監査対象イベントにします。

18

あり

この指定の組み合わせはエラーになります。

19

ANY

指定なし

なし

項番11,13,15のすべてを監査対象イベントにします。

20

あり

この指定をしても,項番17の項目は,監査対象イベントにはなりません。

21

ANY

SDB_UTILITY

PDSDBDEF

なし

項番1および11を監査対象イベントにします。

22

あり

この指定の組み合わせはエラーになります。

23

PDSDBLOD

なし

項番3および13を監査対象イベントにします。

24

あり

この指定の組み合わせはエラーになります。

25

PDSDBROG

なし

項番5および15を監査対象イベントにします。

26

あり

この指定の組み合わせはエラーになります。

27

ANY

なし

項番21,23,25のすべてを監査対象イベントにします。

28

あり

この指定の組み合わせはエラーになります。

29

ANY

指定なし

なし

項番21,23,25のすべてを監査対象イベントにします。

30

あり

この指定をしても,項番27の項目は,監査対象イベントにはなりません。