Dataverse監査について調べる機会があったので、まとめてみた。
Dataverse監査
Dataverse監査は、Dataverseのテーブルや列に対する操作のログを保存する機能。
以下のような情報をログとして残したいときは、Dataverse監査を有効にする。
- だれが、いつ、レコードを作成/更新したか
- レコードのどの列が更新されたか、また更新前の値は何か
- 誰がレコードを削除したか
- 誰が、いつ、システムにアクセスしたか
そんなDataverse監査は以下のレベルで構成されている。
- 環境
- テーブル
- 列
まずは環境レベルで監査を有効にし、ログを残したいテーブルや列に対して監査を有効にしていく。
※監査ログはDataverseのログ容量を使用するため、すべてのログを残そうとするとすぐに容量が足りなくなるので、必要なテーブルと列だけログを残すのがよいとのこと。
Dataverse監査を有効にしてみる
実際にDataverse監査を有効にしてみる。
※Dataverse監査の有効/無効は、その環境の「システム管理者」または「システムカスタマイザー」のロールが必要。
環境レベルで有効にする
まずは環境レベルでの監査ログの有効化から。
Power Platform管理センターに移動して、監査ログを有効にする環境を選択し、[監査]の[管理]を押す。
監査設定が表示されるので、[監査の開始]をオンにして[保存]を押したら環境レベルの監査の設定は完了。
それ以外の設定はこんな感じ。
※今回はオフ
※今回はオフ
- アクセスのログ:オンにするとユーザーのシステムへのアクセス履歴が保存される。
- ログの読み取り:オンにするとDataverse監査のログがMicrosoft Purviewに送られる。
- 保持期間:ログを保持する期間。「永久」を選ぶとログは削除されなくなるけど、ログ容量に注意が必要。
テーブルレベルで有効にする
環境レベルで監査を有効にしたら、テーブルレベルで監査を有効にする。
テーブルを[追加]し、
[データに対する変更を監査する]をオンにする。
※すでに作成済みのテーブルは[プロパティ]から監査を有効にすることができる。
これでこのテーブルは監査対象になる。
監査ログの確認
保存した監査ログは「モデル駆動型アプリ(フォーム)」や「監査の概要ビュー」などから確認が可能。
- モデル駆動型アプリ(フォーム):レコード単位のログを見たい場合に便利
- 監査の概要ビュー:環境レベルでログを探したい場合に便利
モデル駆動型アプリ(フォーム)から確認
モデル駆動型アプリを作成し、ログを確認したいテーブルを追加。
アプリを起動し、ログを確認したいレコードのフォームを開いたら、[関連]の[監査履歴]を選択する。
するとそのレコードの作成/編集などのログを確認することができる。
※モデル駆動型アプリを作成しなくても[編集]→[フォームを使用して行を編集する]の手順でも確認可能。
監査の概要ビューから確認
Power Platform管理センターに移動し、ログを確認したい環境を開いたら[監査ログを削除]をクリック。
[監査ログの表示]を選択する。
すると環境を通してのログを確認することができる。
おまけ:列レベルで監査を無効にする
テーブルに列を追加するとき、既定で「監査を有効にする」がオンになっているので、カスタム列は基本的にログを保存するようになっているけど、特にログを保存する必要がない列については「監査を無効」にすることができる。
新しい列を追加する(または既にある列を編集する)際に、
[監査を有効にする]のチェックを外すと、ログが保存されなくなる。
監査を無効にすると、この列の値を変更しても、
ログは保存されないので、ログ容量の節約になる。
コメント