除外リスト監査:特定のテーブルやフィールドの監査をアクティブ/非アクティブにする方法Description デフォルトの ServiceNow インスタンスでは、システムはさまざまなテーブルやフィールドを監査するように設定されています。 ただし、あるケースにおいては、この監査を特定のテーブルやフィールドに対して無効にしたり有効にしたりする必要があるかもしれません。 この記事では、特定のテーブルやテーブル内のフィールドでこの監査を有効または無効にする方法について説明します。 特定のテーブルでサポートされる監査の標準的なメカニズムには、包含リストの監査と除外リストの監査の 2 つがあります。 包含リストの監査では、変更を監査するテーブルの特定のフィールドを指定します。 除外リストの監査では、監査対象外として設定された特定のフィールドを除き、テーブルのすべてのフィールドを監査対象として設定します。 通常の監査メカニズムでは、監査テーブル (sys_audit など) に、特定のテーブルのフィールド値の変更が記録されます。 たとえば、インシデントテーブルのステータスフィールドの監査が有効になっている場合、インシデントレコードのステータスフィールドの値を変更すると、次のような監査レコードが生成されます。 この記事では、特定のフィールドまたは特定のテーブルを監査するための一般的な手順について詳しく説明します。 ただし、場合によっては、代わりにテーブル監査包含リストの設定が必要になるかもしれません。包含リストによる監査は、管理者が特定のテーブルの少数の特定のフィールドのみを監査し、そのテーブルのフィールドの残りの部分は監査しない場合に最適です。 一部のテーブルで包含リストを設定して監査する方法の詳細については、「追加情報」セクションを参照してください。 手順 監査は、フィールドまたはテーブルのレベルで有効または無効にできます。次のセクションでは、テーブルレベルで監査オプションを変更し (これにより、デフォルトでそのテーブルのすべてのフィールドが監査される)、特定のテーブルをフィールドレベルで監査する手順について詳しく説明します。 個々のテーブルに対する監査の設定 インスタンス上の特定のテーブルは、そのテーブルのすべてのフィールドをグローバルに監査するように設定できます。 これにより、そのテーブルのすべての非システムレベルのフィールドが監査されます。 システムフィールドは通常、「sys」プリフィックスで始まるフィールドです。 インスタンス上のテーブルに対してこの監査を設定するには、次の手順を実行します。 インスタンスの admin 権限を持つアカウントで、インスタンスにログインします。インスタンスで、[システム定義] > [辞書] を参照します。リストをフィルタリングして、監査を有効にするテーブルに対応するテーブル名を持ち、タイプフィールドの値がコレクションであるレコードを見つけます。 このリストに監査列が表示されない場合は、歯車アイコンをクリックして、監査フィールドを表示するようにリストを設定します。監査を変更するレコードに対応する監査列をダブルクリックします。これで、フィールドが編集可能になります。 このテーブルの監査を有効にするか無効にするかに応じて、値を true または false に変更します。(選択したテーブルの監査を有効にするには true を使用し、無効にするには false を使用する)。 選択が完了したら、緑色のチェックアイコンをクリックして変更を保存します。 個々のフィールドに対する監査の設定 (除外リストの監査) テーブル内の個々のフィールドは、除外リストの監査または包含リストの監査のいずれかを使用して、レコード内のそのフィールドに対する変更の監査を有効または無効に設定できます。ここでは、除外リストの監査の手順について詳しく説明します。 以下のようにしてすばやく設定することができます。インスタンスの admin 権限を持つアカウントで、インスタンスにログインします。メニューナビゲーターを使用して、インスタンスの [システム定義] > [辞書] を参照します。インスタンスの辞書レコードのリストが表示されます。検索結果をフィルタリングして、監査設定を変更するテーブルとフィールドの [テーブル名] と [フィールド名] (列名フィールド) を表示します。 選択したフィールドの辞書レコードが表示されます。[詳細ビュー] というタイトルの関連リンクをクリックすると、このレコードの詳細が表示されます。 このレコードの [属性] テキストボックスフィールドを見つけます。 除外リストの監査スキームを使用する場合に、このテーブルのこのフィールドの監査を無効にするには、このフィールドに「no_audit=true」というテキストを追加します。 [属性] フィールドのテキストボックスに既に値が含まれている場合は、フィールドに現在表示されている最後の属性の後にコンマを追加し、その後に no_audit=true テキストを追加します。 [属性] フィールドが現在空の場合は、テキストボックスにテキスト no_audit=true を追加するだけです。この属性を追加したら、[更新] ボタンをクリックします。 除外リストの監査用に設定されているテーブルで、現在監査されないように設定されているフィールドの監査を有効にするには、包含リストの監査を使用して、alm_asset などのテーブルのフィールド変更をキャプチャできるようにします。このアプローチの詳細と、no_audit 属性の値 (true/false) が無意味である理由については、:『[Auditing] New audit modes introduced in [Istanbul] and how to enable auditing for a table that is set to [no_audit] out-of-box (OOB) using the new inclusion-list audit mode, so that it is not overwritten after an upgrade and it continues to audit the field. ([監査] [Istanbul] で導入された新しい監査モードと、新しい包含リスト監査モードを使用して、初期設定で [no_audit] に設定されたテーブルの監査を有効にする方法)』を参照してください。 Additional Information前述のとおり、管理者が希望する場合は、包含リストを使用して、監査対象の特定のテーブルの特定のフィールドを決定できます。 このオプションは通常、テーブル上のすべてのフィールドのごく一部のみを監査用に設定する場合に最適です。 特定のテーブルの包含リスト監査構成を設定する方法については、『KB 記事 KB0724176 - How to use Field Inclusion list with Table Field Auditing (テーブルフィールド監査でフィールド包含リストを使用する方法)』を参照してください。