監査の構成

Microsoft Dataverse の監査では、Organization テーブル の設定を使用し、キャプチャする監査履歴データの種類を決定するための個々のテーブルと列の定義します。 構成データは誰でも表示できますが、設定を変更するには、システム管理者またはシステム カスタマイザーの役割が必要です。 監査構成に加えられた変更 は、監査履歴に含まれます。

組織の設定を構成する

Organization テーブル コントロールの 4 つのプロパティでは、環境に対して監査を有効にする方法を制御します。 Organization テーブルには、単一の行が含まれています。 organizationid 列は主キーです。 行を直接クエリしてキー値を取得するか、WhoAmI メッセージを実行して WhoAmIResponse.OrganizationId プロパティの値を取得します。

次の表で、監査動作を制御する organization テーブル列について説明します。

Schema Name
論理名
表示名
タイプ 説明
IsAuditEnabled
isauditenabled
監査が有効
ブール型 環境に対して監査が有効になっているかどうか
AuditRetentionPeriodV2
auditretentionperiodv2
保持期間の設定の監査
整数 監査ログ レコードを保持する日数
既定値は 30 です。 有効な値は 1 日から 365,000 日 (約 1,000 年) です。 値が "-1" に設定されている場合、レコードは永久に保持されます。
管理者ガイド: 監査の開始/停止とアイテム保持ポリシーの設定
IsUserAccessAuditEnabled
isuseraccessauditenabled
ユーザー アクセス監査が有効
ブール型 ユーザー アクセス ログが有効かどうか
ユーザー アクセス ログを有効にするには、環境の監査も有効にする必要があります。
UserAccessAuditingInterval
useraccessauditinginterval
ユーザー認証の監査の間隔
整数 ユーザー アクセスが数時間でログ記録される頻度
既定値は 4 です。

組織の設定の取得

次のクエリを使用して、組織の設定を取得します。

要求:

GET [Organization URI]/api/data/v9.2/organizations?$select=
isauditenabled,
auditretentionperiodv2,
isuseraccessauditenabled,
useraccessauditinginterval HTTP/1.1

Accept: application/json  
OData-MaxVersion: 4.0  
OData-Version: 4.0
If-None-Match: null

応答:

HTTP/1.1 200 OK

{
    "@odata.context": "[Organization URI]/api/data/v9.2/$metadata#organizations(isauditenabled,auditretentionperiodv2,isuseraccessauditenabled,useraccessauditinginterval)",
    "value": [
        {
            "@odata.etag": "W/\"67404512\"",
            "isauditenabled": true,
            "auditretentionperiodv2": 30,
            "isuseraccessauditenabled": true,
            "useraccessauditinginterval": 4,
            "organizationid": "<organizationid value>"
        }
    ]
}

詳細情報

組織設定の変更

Organization テーブルの列の値を変更して、環境に対する監査の動作を変更します。 設定を変更するには、システム管理者またはシステム カスタマイザーのロールが必要です。

Web API または .NET 用の Dataverse SDK を使用して、組織の設定を変更できます。

テーブルと列を構成

組織の監査が有効になっている場合、監査用に有効化されたテーブルはすべて、監査が有効になっている全列の監査データを書き込みます。 主な制御は組織レベルであり、次にテーブル レベルです。

テーブルと列には、IsAuditEnabled という名の 管理プロパティ がそれぞれあり、監査が有効かどうかを制御します。

Item Web API .NET 用 SDK
テーブル EntityMetadata.IsAuditEnabled EntityMetadata.IsAuditEnabled プロパティ
Column AttributeMetadata.IsAuditEnabled AttributeMetadata.IsAuditEnabled プロパティ

IsAuditEnabled プロパティは、次のタイプで定義される管理プロパティです。

Web API .NET 用 SDK
BooleanManagedProperty ComplexType BooleanManagedProperty クラス

BooleanManagedProperty では 2 つの重要な特性があります:

Property Description
Value 設定が有効かどうかを決定します。
CanBeChanged テーブルか列が管理ソリューションに含まれ後、Value 設定が変更可能かどうか決定します。

テーブルを追加する管理ソリューションの発行元は、ソリューションをインストールするユーザーが監査を有効にできないようにする可能性があります。 一部の Dataverse システム テーブルでは、CanBeChanged プロパティが false に設定されているので、監査用に有効または無効にすることはできません。 マネージド プロパティに関する詳細

注意

IsAuditEnabled プロパティでは、テーブル用のデータの変更を監査するまたは列用の監査を有効にするのラベルを使用し、単純なブール値プロパティとしてデザイナーに公開されます。 CanBeChanged プロパティはで、プログラムを読み取りまたは設定のみできます。

監査が有効になっているテーブルを検出

テーブル定義をクエリして IsAuditEnabled プロパティを確認し、どのテーブルが監査をサポートするか、どのテーブルを変更できるかを決定します。

このクエリは、監査が有効になっているすべてのパブリック テーブルの Logicalname を返します。

要求:

GET [Organization URI]/api/data/v9.2/EntityDefinitions?$select=
LogicalName,
IsAuditEnabled
&$filter=IsAuditEnabled/Value eq true 
and IsPrivate eq false

Accept: application/json  
OData-MaxVersion: 4.0  
OData-Version: 4.0
If-None-Match: null

応答:

{
    "@odata.context": "[Organization URI]/api/data/v9.2/$metadata#EntityDefinitions(LogicalName,IsAuditEnabled)",
    "value": [
        {
            "LogicalName": "account",
            "MetadataId": "70816501-edb9-4740-a16c-6a5efbc05d84",
            "IsAuditEnabled": {
                "Value": true,
                "CanBeChanged": true,
                "ManagedPropertyLogicalName": "canmodifyauditsettings"
            }
        },
    < list truncated for brevity >
    ]
}

詳細情報

監査が有効になっている列を検出

列定義をクエリして IsAuditEnabled プロパティを確認し、どの列が監査をサポートするか、どの列を変更できるかを決定します。

要求:

GET [Organization URI]/api/data/v9.0/EntityDefinitions(LogicalName='account')/Attributes?$select=
LogicalName,
IsAuditEnabled
&$filter=IsAuditEnabled/Value eq true

Accept: application/json  
OData-MaxVersion: 4.0  
OData-Version: 4.0
If-None-Match: null

応答:

{
    "@odata.context": "[Organization URI]/api/data/v9.2/$metadata#EntityDefinitions('account')/Attributes(LogicalName,IsAuditEnabled)",
    "value": [
        {
            "@odata.type": "#Microsoft.Dynamics.CRM.StringAttributeMetadata",
            "LogicalName": "emailaddress3",
            "MetadataId": "97fb4aae-ea5d-427f-9b2b-9a6b9754286e",
            "IsAuditEnabled": {
                "Value": true,
                "CanBeChanged": true,
                "ManagedPropertyLogicalName": "canmodifyauditsettings"
            }
        },
    < list truncated for brevity >
    ]
}

詳細: Web API を使用してテーブル定義をクエリ

監査用テーブルおよび列を有効化または無効化

監査をサポートするテーブルと列を変更する場合は、それぞれの IsAuditEnabled.Value プロパティを更新します。

Tables

API Property 詳細情報
Web API EntityMetadata.IsAuditEnabled.Value テーブル更新の定義
.NET 用 SDK EntityMetadata.IsAuditEnabled.Value テーブルを取得して更新する

Columns

API Property 詳細情報
Web API AttributeMetadata.IsAuditEnabled.Value 列の更新
.NET 用 SDK AttributeMetadata.IsAuditEnabled.Value 列の更新

重要

変更内容は、テーブルのカスタマイズを公開するまでは有効になりません。

列変更の公開

PublishXml メッセージを使用して、テーブルのカスタマイズを公開します。

要求:

POST [Organization URI]/api/data/v9.2/PublishXml HTTP/1.1

Accept: application/json  
OData-MaxVersion: 4.0  
OData-Version: 4.0
If-None-Match: null

{
    "ParameterXml": "<importexportxml><entities><entity>account</entity></entities></importexportxml>"
}

応答:

HTTP/1.1 204 OK 

詳細情報

詳細情報

参照

管理者ガイド: Dataverse 監査を管理する
管理者ガイド: システム設定監査タブ
監査の概要
監査済みデータの変更履歴を取得する
監査データを削除

注意

ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)

この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。