CData Software Blog

クラウド連携のCData Software の技術ブログです。

Dynamics 365(CRM)・Dataverse の監査ログをExcel から取得する:CData Excel-Addin for Dynamics 365 for Sales

f:id:sugimomoto:20210419111809p:plain

こんにちは。CData Software Japanリードエンジニアの杉本です。

CData に良く問い合わせが来る Dynamics 365(CRM)・Dataverseのトピックとして、監査ログの取得があります。

f:id:sugimomoto:20210419111451p:plain

確かにDynamics 365の監査ログって、取得しづらいんですよね。

Excel エクスポートボタンが画面についていないですし、内部構造も若干複雑で、Web API経由で取得するのもちょっと面倒な代物です。

でも、取得できると、ユーザーが普段どんなエンティティを使っているのか? どんな操作をしているのか? いつWeb アクセスしているか? などの情報が取れるので、Dynamics 365(CRM)を活用していくにあたって、結構重要な情報なので用途は多いと思います。

通常であれば、Web APISDKを使って、ガリゴリするところですが、CData Excel-Addinを利用することで、かなり簡単に監査データにアクセスできるので、紹介してみたいと思います。

なお、手順としてはDynamics 365 for Sales(Customer Engagement)を元にしていますが、Dataverseでも同様に実施できます。

www.cdata.com

www.cdata.com

監査ログの有効化

今回はトライアル環境に接続したので、予め監査ログを有効化しておきます。

「詳細設定」→「管理」→「システムの設定」を表示し、「監査」タブから「監査の開始」と必要な監査対象をそれぞれ有効化しておきましょう。

f:id:sugimomoto:20210419111502p:plain

有効化後、監査概要ビューに移動することで、監査ログが確認できます。

f:id:sugimomoto:20210419111509p:plain

CData Excel-Addin for Dynamics 365 for Salesのセットアップ

続いて取得するためのツールとして、「CData Excel-Addin for Dynamics 365 for Sales」もしくは、「Dataverse」をセットアップします。

以下のページから、トライアルを取得できます。

www.cdata.com

www.cdata.com

f:id:sugimomoto:20210419111516p:plain

なお、今回はExcel Add-inで行いましたが、Power BI Connectorを使っても同じことができます。(ちなみに、なぜかPower BI 純正のコネクターではAuditにアクセスできませんでした。不思議です。)

www.cdata.com

f:id:sugimomoto:20210419111526p:plain

セットアップ後、Excelを起動して「CData」タブから「データの取得」→「取得元:D365Sales」を選択します。

f:id:sugimomoto:20210419111537p:plain

最初に接続設定の画面が開くので以下のプロパティを設定して、アクセスしましょう。

プロパティ名 備考
Organization URL 例)https://XXXX.crm7.dynamics.com 対象の組織URLを指定します。
Include Formatted Values True 関連項目を表示するための設定です。

f:id:sugimomoto:20210419111552p:plain

ポイントは、「Include Formatted Values」のプロパティをTureにしておくことです。これにより通常の取得よりも詳しい内容が取得できるようになります。

www.cdatablog.jp

入力後、接続テストをクリックすると以下のようにブラウザが立ち上がり、接続プロセスが開始されます。

f:id:sugimomoto:20210419111557p:plain

ログインし、接続許可を行うことで、接続設定が完了します。

f:id:sugimomoto:20210419111603p:plain

監査ログを取得する

それでは実際に監査ログを取得してみましょう。監査ログは「autids」というテーブルでアクセスできます。

f:id:sugimomoto:20210419111609p:plain

「audits」テーブルを選択後、必要なカラムを選択してデータ取得を行います。今回はすべてのカラムをとりあえず取得してみます。

f:id:sugimomoto:20210419111615p:plain

以下のような形でデータが取得できました。

ユーザーアクセスや変更の内容が確認できますね。

f:id:sugimomoto:20210419111625p:plain

更新データはどのように見えるのか?

では、もうちょっと詳しくどのようにこのデータが見えるのか、確認してみましょう。

試しに取引先企業データに対して、以下のような更新を行ってみました。

f:id:sugimomoto:20210419111634p:plain

監査概要ビューでは更新イベントとして以下のような記録されています。

f:id:sugimomoto:20210419111639p:plain

詳細画面を開くと、各項目の更新情報が取得できます。

f:id:sugimomoto:20210419111645p:plain

これをExcel Add-inから取得してみると、下記のような結果が得られます。

書き込みを行ったエンティティやどんなアクションを実施したのか、エンティティのプライマリフィールドの情報を出ていますね。

f:id:sugimomoto:20210419111652p:plain

ただ、各項目の値がそれぞれどのように変更されたか、については取得できませんでした。確認できるのは、Attirbutemaskで更新された項目のIDだけとなっています。この点は利用する際は要注意です。