Dataverse 監査機能は、多くの企業に共通する外部および内部監査、コンプライアンス、セキュリティ、およびガバナンス ポリシーを満たすのに役立ちます。 Dataverse 監査では、Dataverse データベースを使用する環境内の顧客レコードに加えた変更がログに記録されます。 Dataverse 監査は、環境のアプリまたは SDK を介したユーザー アクセスも記録します。
Dataverse 監査は、カスタマイズされたすべての、またはカスタマイズ可能なテーブルや列でサポートされます。 Dataverse は監査ログを格納し、ログ ストレージ容量を消費します。 監査ログは、1 つのレコードの [監査履歴 ] タブと、1 つの環境のすべての監査操作の [ 監査の概要 ] ビューで表示できます。 また、web API または SDK for Microsoft .NETを使用して監査ログを取得することもできます。 監査ログは、監査が有効になっているテーブルのレコードを変更すると作成されます。 更新の監査ログは、新しい値が列の古い値と異なる場合に作成されます。
ヒント
エンティティ関連の用語の使用は、使用するプロトコルまたはクラス ライブラリによって異なります。 プロトコルまたはテクノロジーに応じた用語 を参照してください。
監査ログは、レコードの [ 監査履歴 ] タブと [ 監査の概要 ] ビューに遅延が表示されることがあります。 この遅延は、監査ログが Dataverse ログ ストレージに格納され、データベース ストレージに格納されなくなったために発生します。
単一レコードの監査履歴
監査の概要ビュー (すべての監査ログ)
監査ログは、管理者や必要な特権を持つ他のユーザーが次のような質問に答えるのに役立ちます。
- だれが、いつ、レコードを作成または更新したか。
- レコードのどのフィールドが更新されたか。
- 更新前のフィールドの値は何だったか。
- だれが、いつ、システムにアクセスしていたか。
- だれがレコードを削除したか。
次の操作を監査できます。
- テーブル、列、組織のレベルでの監査を変更します。 たとえば、環境またはテーブルに対する監査の有効にします。
- レコードの作成、更新、および削除の操作。
- レコードの共有特権の変更。
- レコードの N:N の関連付けまたは関連付け解除。
- セキュリティ ロールの変更。
- 監査ログの削除。
- ローカライズ可能なエンティティ フィールドに加えられた変更 (製品エンティティ名や説明フィールドなど) の場合、ロケール ID (LCID) が監査レコードに表示されます。
監査は、テーブルまたは列定義の変更をサポートしておらず、また認証中もサポートされません。 さらに、監査は取得操作またはエクスポート操作もサポートしていません。 Dataverse 監査に加えて、 Dataverse とモデル駆動型アプリのアクティビティ ログ を有効にして、データ取得操作とエクスポート操作をログに記録できます。
次の一覧は、監査できない非カスタマイズ可能なテーブルを列挙しています。 このリストは、各テーブルの定義で CanModifyAuditSettings 列の値 false をテストすることによって取得されました。
- ActivityPointer
- Annotation
- BulkOperation
- Calendar
- CalendarRule
- CustomerOpportunityRole
- Discount
- DiscountType
- IncidentResolution
- KbArticle
- KbArticleComment
- KbArticleTemplate
- Notification
- OpportunityClose
- OrderClose
- ProductPriceLevel
- QuoteClose
- RecurrenceRule
- Resource
- ResourceGroup
- ResourceGroupExpansion
- ResourceSpec
- SalesLiteratureItem
- SalesProcessInstance
- サービス
- サブジェクト
- Template
- UoM
- UoMSchedule
- Workflow
- WorkflowLog
環境に対する監査を構成する
監査は、環境、テーブル、列の 3 つのレベルで構成できます。 まず、環境レベルで監査を有効にします。 テーブル内のデータ変更をログに記録するには、テーブルと列の監査を有効にします。
ユーザー アクセスの監査 (ログ アクセス) またはアクティビティ ログ (ログの読み取り) を有効にするには、環境レベルで監査を有効にします。 アクティビティ ログを有効にするオプションは、MicrosoftOffice の最小ライセンス要件が満たされている場合にのみ表示されます。
ヒント
ユーザー アクセスまたはアクティビティ ログは、運用環境の Purview にのみ送信されます。
監査を有効または無効にするには、システム管理者またはシステム カスタマイザーロールまたは同等のアクセス許可が必要です。
監査は、Power Platform 管理センターとPower Apps ポータルを使用して手動で構成できます。 プログラムで監査を構成することもできます。 詳細については、「 監査の概要」を参照してください。
環境の監査を有効にする
多くの企業に共通する外部および内部監査、コンプライアンス、セキュリティ、ガバナンス のポリシーを満たすために、Dynamics 365 アプリ間の共通エンティティのコンプライアンス ページを介して監査を自動的に有効にすることができます。
システム管理者またはシステム カスタマイザーロールまたは同等のアクセス許可として、次の手順を実行します。
- Power Platform 管理センターにサインインします。
- 左側のメニューから、[セキュリティ]>[コンプライアンス]を選択します。
- 監査 タイルを選択します。
- 監査を有効にする環境を選択します。
- 監査の設定を選択します。 [監査] ウィンドウで、[監査を有効にする] を選択します。
- Dynamics 365 アプリ全体でCommon エンティティを監査対象にするかどうかを選択します。
- ドロップダウン メニューを選択して、 イベント ログのリテンション期間 を確認して更新します。
- データ保持ポリシーを満たす期間を選択します。
オプション Common entities across Dynamics 365 apps を選択すると、次の表の監査が有効になります。
| カテゴリ | テーブル |
|---|---|
| 共通エンティティ | systemuser |
| 共通エンティティ | ロール |
| 共通エンティティ | レポート |
| 共通エンティティ | goalrollupquery |
| 共通エンティティ | メトリック |
| 共通エンティティ | ゴール |
| 共通エンティティ | bulkoperation |
| 共通エンティティ | list |
| 共通エンティティ | salesliterature |
| 共通エンティティ | 製品 |
| 共通エンティティ | リード |
| 共通エンティティ | 連絡先 |
| 共通エンティティ | アカウント |
| 共通エンティティ | activitypointer |
| Sales | opportunitysalesprocess |
| Sales | leadtoopportunitysalesprocess |
| Sales | 請求書 |
| Sales | 受注 |
| Sales | クォート |
| Sales | 競合企業 |
| Sales | 営業案件 |
| Marketing | キャンペーン |
| CustomerService | translationprocess |
| CustomerService | expiredprocess |
| CustomerService | newprocess |
| CustomerService | phonetocaseprocess |
| CustomerService | サービス |
| CustomerService | コントラクト |
| CustomerService | kbarticle |
| CustomerService | ナレッジ記事 |
| CustomerService | queueitem |
| CustomerService | インシデント |
| CustomerService | socialprofile |
| セキュリティ | ソリューション |
| セキュリティ | エンティティ |
| セキュリティ | チーム |
| セキュリティ | 職位 |
| セキュリティ | 組織 |
| セキュリティ | fieldsecurityprofile |
| セキュリティ | businessunit |
ヒント
監査の保有期間を [永続的] に設定すると、システムはログを削除しません。 監査保持期間を他の値に設定すると、監査レコードが保持ポリシーで定義されている時間を超えた時点からログが継続的に削除されます。
たとえば、保持ポリシーが 30 日に設定されているとします。 30 日前から 1 秒前に作成された監査レコードの削除が開始されます。
各監査ログには、現在アクティブな保持期間がスタンプされます。 ここで保持期間を変更しても、既存のレコードの保持期間は変更されません。 新しい保持期間は、アイテム保持ポリシーの変更後に作成されたすべての新しいレコードに適用されます。 たとえば、保存期間が 30 日から 90 日に変更されたとします。 30 日後にバックグラウンドで変更される前に作成された監査レコードが削除されます。 90 日後にバックグラウンドで変更された後に作成された監査レコードが削除されます。
次の表では、環境の監査を有効にしたときに使用できるアイテム保持ポリシーの設定について説明します。
| 設定 | 説明 |
|---|---|
| これらのログの保持ポリシーを設定する | 既定: 永久 |
| カスタム保持ポリシーを設定する | 最大: 24,855 日。 前の設定で [カスタム ] を選択した場合に表示されます。 |
重要
監査の保持期間は、Model-driven apps (オンプレミス) または顧客独自の暗号化キーで暗号化された環境では使用できません。
環境の監査を開始または停止する
次の表では、環境の監査に使用できる設定について説明します。
| 設定 | 説明 |
|---|---|
| 監査の開始 | 監査を開始または停止します。 |
| アクセスのログ | (一般的にサインインにより) システムにアクセスするとログに記録されます。 |
| ログの読み取り | ログは Microsoft Purview コンプライアンス ポータル に送信されます。 |
システム管理者またはシステム カスタマイザー、または同等のアクセス許可を持つユーザーは、次の手順を実行します。
- Power Platform 管理センターにサインインします。
- ナビゲーション ウィンドウで、管理を選択します。
- [ 管理 ] ウィンドウで、[ 環境] を選択し、環境を選択します。
- 設定を選択します。
- [ 監査とログ ] を展開し、[ 監査設定] を選択します。
- 環境で監査ログを保持する期間を設定します。 [ これらのログを保持する] で、ログを保持する期間を選択します。
- グローバル監査設定を選択して、Microsoft Dynamics 365システム設定を開きます。 そこから、[ 監査の開始] を オンにして、監査するエンティティを選択します。 [OK] を選択.
- [監査設定] ページで、[ 保存] を選択します。
ヒント
[セキュリティ] ページの監査オプションを使って、保持ポリシーを設定します。 このオプションを使用すると、既存のログに保持ポリシーを柔軟に適用できます。
詳細については、組織設定の構成を参照してください。
Web アプリの特定のアプリに対する監査をオンにする
このタスクを完了するには、システム管理者またはシステム カスタマイザーロール、または同等のアクセス許可が必要です。
この機能を使用すると、複数のテーブル (エンティティ) の監査をすばやく同時に有効にすることができます。 テーブルのグループ化は、Dynamics 365 アプリケーションに対応します。 たとえば、Sales テーブルは Sales Hub アプリに対応します。
Web アプリで、設定>詳細設定 の順に移動します。
システム>管理 を選択します。
[監査] タブ を 選択します。
追跡するテーブル (エンティティ) を選択します。特定のテーブルの監査を開始または停止するには、次のチェック ボックスをオンまたはオフにします。
- 共通エンティティ。 取引先企業、取引先担当者、目標、製品、およびユーザーなどの共通のエンティティを追跡します。
- 営業エンティティ。 競合企業、営業案件、請求書、受注、および見積もりなどの営業関連エンティティを追跡します。
- マーケティング エンティティ。 キャンペーン テーブル活動を追跡します。
- 顧客サービス エンティティ。 サポート案件、契約、キュー、およびサービス テーブル活動を追跡します。
[OK] を選択.
Power Apps で 1 つ以上のテーブルと列の監査を構成する
このタスクを完了するには、システム管理者またはシステム カスタマイザーロール、または同等のアクセス許可が必要です。
システム管理者またはシステム カスタマイザーの資格情報を使用して、Power Apps にサインインします。
監査を構成したい環境を選択します。
ヒント
ソリューションの一部として監査構成を管理します。 この方法を使用すると、カスタマイズの検索、独自のソリューション発行済みプレフィックスの適用、他の環境への配布用のソリューションのエクスポートを簡単に行うことができます。 ソリューションの詳細については、「ソリューション を使用してカスタマイズする」を参照してください。 ソリューションを使用する場合は、監査用に構成するすべてのテーブルをソリューションに追加し、ソリューションを保存して発行する前に手順 3 から 8 を実行します。
Dataverse>テーブル を選択します。
テーブルを選択します。
コマンド バーで編集を選択します。
コマンド バーで、テーブルのプロパティを編集するを選択します。
詳細オプション を展開します。
データに対する変更を監査するチェックボックスを選択します。
保存を選びます。
コマンド バーで <- 戻る を選択します。
スキーマ の下で、列 を選択します。
監査をオンにする列を選択して、詳細オプションを展開します。
監査を有効にするチェックボックスを選択します。
保存を選びます。
編集するすべてのテーブルと列について、手順 3 から 10 を繰り返します。
テーブルおよび列の監査を有効または無効にする
システム管理者またはカスタマイザーは、テーブルとテーブルの特定の列の既定の監査設定を変更できます。
テーブルの監査のオン/オフを切り替える
システム管理者またはシステム カスタマイザーの資格情報を使用して、Power Apps にサインインします。
監査を構成したい環境を選択します。
ヒント
ソリューションの一部として監査構成を管理します。 この方法を使用すると、カスタマイズの検索、独自のソリューション発行済みプレフィックスの適用、他の環境への配布用のソリューションのエクスポートを簡単に行うことができます。 詳細については、「 ソリューションを使用してカスタマイズする」を参照してください。 ソリューションを使用する場合は、監査用に構成するすべてのテーブルをソリューションに追加し、ソリューションを保存して発行する前に手順 3 から 8 を実行します。
Dataverse>テーブル を選択します。
テーブルを選択します。
コマンド バーで編集を選択します。
コマンド バーで、テーブルのプロパティを編集するを選択します。
詳細オプション を展開します。
テーブルの監査を有効にするには データに対する変更を監査する チェックボックスをオンにします。
または
テーブルの監査を無効にするには データに対する変更を監査する チェックボックスをオフにします。
保存を選びます。
環境の監査設定で [ログの読み取り ] を有効にする場合は、 単一レコードの監査を有効にする必要があります。開いたときにレコードをログ に記録し、 複数レコードの監査を行います。開いているページの監査設定に表示されているすべてのレコードをログ に記録して、このテーブルから監査ログを読み取ります。
カスタマイズを公開します。 単一テーブルを公開するには、取引先企業などのテーブルを選択し、ツール バーで 公開 を選択します。
テーブルの特定の列の監査を有効または無効にする
- 特定の列で監査をオンにするテーブルで、列 を選択します。
- 1 つの列の監査を有効または無効にするには、列を開き、[全般] セクションの [詳細設定] オプションを展開して、[監査を有効にする] オプションを選択またはオフにします。
- 保存を選びます。
- カスタマイズを公開します。 単一テーブルを公開するには、取引先企業などのテーブルを選択し、ツール バーで 公開 を選択します。
詳細については、Microsoft Dataverse 開発者ガイド: 監査の構成 >テーブルと列の構成 を参照してください。
ヒント
列の監査を無効にすると、前後の値が "*" としてMicrosoft Purviewに送信されます。 アクセスを制御するための列レベルのセキュリティの詳細について説明します。
Choice データ型の元のラベルの監査を有効または無効にする
既定では、 Choice データ型の現在のラベルの説明が監査ログに表示されます。 たとえば、色の選択列があり、ラベルの説明が赤、白、青の 3 色であるとします。 ユーザーが赤を選択してレコードを更新すると、監査レコードには赤が選択されたことが表示されます。 後で選択データ型でラベルの説明を ピンク 色に変更すると、監査レコードに ピンク色が表示されます。
ユーザーが監査ログで選択した元のラベルを表示する場合は、この auditsetting{"StoreLabelNameforPicklistAudits":true} を true に設定します。 enable auditsettingする方法について説明します。
ヒント
StoreLabelNameforPicklistAuditsを true に設定すると、監査レコードの表示に関する新しい監査ユーザー エクスペリエンスが [監査の概要] ビューに表示されます。
モデル駆動型アプリの監査履歴は、既定の動作を表示し続けます。
モデル駆動型アプリで監査履歴使用する
監査履歴は、ユーザーが 1 つのレコードの更新履歴を理解するのに役立ちます。 "このレコードが作成されたのはいつ、誰によって作成されたか"、"特定のフィールドを変更したユーザーと前の値を変更したユーザー"、"他のユーザーとレコードを共有したユーザー" などの質問に回答します。
レコードの 監査履歴を表示 するには、監査履歴の表示権限が必要です。
モデル駆動型アプリでレコードを選択します。
関連タブを選択し、監査履歴を選択します。
[ フィルターオン] でフィールドを選択して、変更履歴を表示するフィールドで結果をフィルター処理します。
監査の概要ビューを使用する
監査の概要ビューは、環境内のすべての監査ログの包括的な一覧です。 さまざまな列をフィルター処理することで、[ 監査の概要] ビューのユーザーは、時間の経過と同時に環境で何が起こったかを理解できます。 「ユーザーが実行したアクションとタイミング」、「特定のレコードを削除したユーザー」、「ユーザーのロールを変更したユーザー」などの質問に答えるのに役立ちます。
監査の概要ビューを表示するには、概要ビューの表示権限が必要です。
[監査の概要] ページには、次の 2 つの方法があります。
環境の アプリ メニューから Power Platform 環境設定 アプリを選択します。
アプリからバナーの [設定] アイコンを選択し、[ 詳細設定] を選択し、[ System>Auditing>Audit Summary view] を選択します。
ヒント
レコード 列フィルターは機能せず、今後削除される予定です。 エンティティ 列フィルターの 等しい および 等しくない フィルター オプションでは、テーブル値を表示しません。 エンティティでフィルター処理するには、[ 包含 ] オプションを使用し、テーブル名を入力します。
監査ログを削除
[監査] カードで、[ログの削除] を選択します。
監査ログの表示を選択します。
[ フィルターの有効化/無効化] オプションを使用して、監査レコードの一覧を絞り込みます。 一度に複数のフィルターを適用できます。
ヒント
[変更日] 列でのみ並べ替えることができます。
監査ログのエクスポートは現在サポートされていません。 環境から監査データを取得するには、.NET用の Web API または SDK を使用します。 詳細については、「 監査されたデータ変更の履歴を取得および削除する」を参照してください。
Email.description や Annotation などの大きな属性値は、5 KB または約 5,000 文字に制限されます。 上限付きの属性値は、"lorem ipsum, lorem ip... など、テキストの末尾に 3 つのドットによって認識されます。 ".
詳細については、「 Dataverse 開発者ガイド: 監査されたデータ変更の履歴を取得する」を参照してください。
レコードの変更履歴を削除する
Dataverse 監査は、単一レコードの監査履歴全体の削除をサポートします。 この機能は、顧客からデータの削除要求に対応する場合に便利です。
ユーザーがこのアクションを実行するには、監査レコード変更履歴削除の特権が必要です。
レコードの監査履歴は、モデル駆動型アプリケーションの 監査履歴 と環境の 監査の概要 ビューで削除できます。
レコードの監査履歴タブでレコードの変更履歴を削除する
モデル駆動型アプリでレコードを選択します。
関連タブを選択し、監査履歴を選択します。
[フィルターオン] で [すべてのフィールド] を選択し、[変更履歴の削除] を選択して、選択したレコードのすべてのログを削除します。
[削除] を選択して確定します。
監査の概要ビューでレコードの変更履歴を削除する
監査カードで、ログの削除を選択します。
監査ログの表示を選択します。
監査履歴で行を選択し、[ 変更履歴の削除 ] を選択して、選択したレコードのすべてのログを削除します。
[削除] を選択して確定します。
ログ ストレージの削減: 監査ログの削除 – レガシー プロセス
Dataverse 監査を有効にすると、アプリは監査ログを作成し、そこにレコードとユーザー アクセスへの変更を保存します。 不要になったら、これらの監査ログを削除して、ログ容量スペースを解放できます。
警告
監査ログを削除すると、その監査ログの対象期間の監査履歴を表示することはできません。
- アプリの右上で、設定>詳細設定>設定>監査 を選択します。
- [ 監査ログの管理 ] を選択し、[ 監査ログの表示] を選択します。
- 最も古い監査ログを選択し、[ ログの削除] を選択します。
- [OK] を選択して確定します。
ヒント
削除できるのはシステム上で最も古い監査ログだけです。 複数の監査ログを削除するには、十分な数のログを削除するまで、最も古い使用可能な監査ログの削除を繰り返します。
ログ ストレージの削減: 監査ログの削除 – 新しいプロセス
Dataverse 監査を有効にすると、アプリは監査ログを作成し、そこにレコードとユーザー アクセスへの変更を保存します。 不要になったら、これらの監査ログを削除して、ログ容量スペースを解放できます。
次の表では、監査ログを削除するために使用できるオプションについて説明します。
| ログの削除 | 説明 | システム ジョブ名 |
|---|---|---|
| テーブル別 | 監査ログを削除する 1 つ以上のテーブルを選択します。 既定では、監査データが含まれているかどうかにかかわらず、環境内のすべてのテーブルが表示されます。 | [number of] のテーブルのログを削除します。 |
| ユーザーおよびシステム別にログにアクセス | すべてのアクセス ログを削除します。 このアクションにより、すべてのユーザーとシステムのすべてのログが削除されます。 | アクセス ログを削除します。 |
| 選択した日付までのすべてのログ | 選択した日付までのログを削除します。 | [timestamp] までのすべてのログを削除します。 |
警告
監査ログを削除すると、その監査ログの対象となるテーブル、ユーザー アクセス、または期間の監査履歴を表示できなくなります。
統一インターフェイスの右上隅で、設定>詳細設定>設定 を選択します。
- Power Platform 管理センター にサインインし、環境を選択します。
- ナビゲーション ウィンドウで、管理を選択します。
- 管理ウィンドウで環境を選択します。 環境を選択します。
- 監査の下で、監査ログの削除を選択します。
- 削除するログを選択する方法を選択します。
- [ 削除] を選択し、確認します。
ヒント
監査ログは、非同期のバックグラウンド システム ジョブで削除されます。 削除の期間は、削除する監査レコードの量によって異なります。 現在の割合では、1 日あたり約 1 億レコード、または 1 時間あたり約 400 万レコードです。
監査削除ジョブの状態を監視するには、次のセクションを参照してください。
システム ジョブの監視
システム ジョブを監視する方法については、「システム ジョブの 監視」を参照してください。
監査削除ジョブの状態を監視する
監査削除ジョブの状態を監視するには、Power Platform 管理センターの 一括削除 ビューを使用します。
- Power Platform 管理センターにサインインします。
- ナビゲーション ウィンドウで、管理を選択します。
- 管理ウィンドウで環境を選択します。 環境を選択します。
- 設定>データ管理>一括削除 を選択します。
- システム ジョブ名を選択して、削除ジョブの詳細を開きます。
Azure Synapse Link for Dataverse を使用して監査データにアクセスする
Azure Synapse Link for Dataverse を使用して監査テーブルをリンクし、Power BIを使用してレポートを作成し、外部および内部監査、コンプライアンス、ガバナンスのニーズを満たします。 詳細については、「Access audit data using Azure Synapse Link for Dataverse and Power BI」を参照してください。
Microsoft Purviewの Power Platform アクティビティ ログ データにアクセスする
Microsoft Purviewの Power Platform アクティビティ ログ データにアクセスして、Power Platform 環境内のユーザーアクティビティとシステムアクティビティを分析およびレポートします。 この統合により、Purview のデータ ガバナンスとコンプライアンス機能を活用して、組織の監査要件を満たすことができます。 詳細については、「