Dataverseのテーブルや列に対する操作(作成・更新・削除など)のログをとる|Dataverse監査

Dataverse監査について調べる機会があったので、まとめてみた。

スポンサーリンク

Dataverse監査

Dataverse監査は、Dataverseのテーブルや列に対する操作のログを保存する機能

以下のような情報をログとして残したいときは、Dataverse監査を有効にする。

  • だれが、いつ、レコードを作成/更新したか
  • レコードのどの列が更新されたか、また更新前の値は何か
  • 誰がレコードを削除したか
  • 誰が、いつ、システムにアクセスしたか
そんなDataverse監査は以下のレベルで構成されている。

  • 環境
  • テーブル

まずは環境レベルで監査を有効にし、ログを残したいテーブルや列に対して監査を有効にしていく。

※監査ログはDataverseのログ容量を使用するため、すべてのログを残そうとするとすぐに容量が足りなくなるので、必要なテーブルと列だけログを残すのがよいとのこと。

Dataverse監査を有効にしてみる

実際にDataverse監査を有効にしてみる。
 
※Dataverse監査の有効/無効は、その環境の「システム管理者」または「システムカスタマイザー」のロールが必要

環境レベルで有効にする

まずは環境レベルでの監査ログの有効化から。

Power Platform管理センターに移動して、監査ログを有効にする環境を選択し、[監査]の[管理]を押す。
監査設定が表示されるので、[監査の開始]をオンにして[保存]を押したら環境レベルの監査の設定は完了。
それ以外の設定はこんな感じ。
※今回はオフ

  • アクセスのログ:オンにするとユーザーのシステムへのアクセス履歴が保存される。
  • ログの読み取り:オンにするとDataverse監査のログがMicrosoft Purviewに送られる。
  • 保持期間:ログを保持する期間。「永久」を選ぶとログは削除されなくなるけど、ログ容量に注意が必要。

テーブルレベルで有効にする

環境レベルで監査を有効にしたら、テーブルレベルで監査を有効にする。

テーブルを[追加]し、
[データに対する変更を監査する]をオンにする。
※すでに作成済みのテーブルは[プロパティ]から監査を有効にすることができる。

これでこのテーブルは監査対象になる。

監査ログの確認

保存した監査ログは「モデル駆動型アプリ(フォーム)」や「監査の概要ビュー」などから確認が可能。

  • モデル駆動型アプリ(フォーム):レコード単位のログを見たい場合に便利
  • 監査の概要ビュー:環境レベルでログを探したい場合に便利

モデル駆動型アプリ(フォーム)から確認

モデル駆動型アプリを作成し、ログを確認したいテーブルを追加。
アプリを起動し、ログを確認したいレコードのフォームを開いたら、[関連]の[監査履歴]を選択する。
するとそのレコードの作成/編集などのログを確認することができる。
※モデル駆動型アプリを作成しなくても[編集]→[フォームを使用して行を編集する]の手順でも確認可能。

監査の概要ビューから確認

Power Platform管理センターに移動し、ログを確認したい環境を開いたら[監査ログを削除]をクリック。
[監査ログの表示]を選択する。
すると環境を通してのログを確認することができる。

おまけ:列レベルで監査を無効にする

テーブルに列を追加するとき、既定で「監査を有効にする」がオンになっているので、カスタム列は基本的にログを保存するようになっているけど、特にログを保存する必要がない列については「監査を無効」にすることができる

新しい列を追加する(または既にある列を編集する)際に、
[監査を有効にする]のチェックを外すと、ログが保存されなくなる。
監査を無効にすると、この列の値を変更しても、
ログは保存されないので、ログ容量の節約になる。

コメント

タイトルとURLをコピーしました