Dynamics CRM クライアント SDK バージョンを更新し、ACSの参照を除外する方法

みなさん、こんにちは。

Azure Access Control Service (ACS)の廃止に伴い、古いSDK を使用しているSDK クライアントを 更新する必要があります。本記事では更新対象のSDKクライアントの特定方法と更新方法をご紹介します。

Dynamics 365 バージョン8.2 (Online) 環境ではこちらの対応を実施しないと認証処理がエラーで失敗しますので即日対応が必要です。Dynamics CRM 8.1 Online 環境では 2017年6月30日 から同様にエラーが発生するようになるので、この日までに対応が必要となります。Dynamics 365 8.2, Dynamics CRM 8.1 設置型環境では 2017年6月30日以降もエラーは発生しませんが、サポートされる構成にするために可能な限り早く、SDK クライアントを最新のものに更新する必要があります。サポートされるSDK と CRM Server の組み合わせについては チームブログ をご確認ください。

本記事は、海外チームのブログにて投稿された内容を基に記載しています。

情報元: Update Dynamics CRM Client SDK version to avoid calls to ACS

===================================================

問題

Azure Access Control Service (以下 ACS) の廃止に伴って、 SDK の認証コードで、 ACS へのすべての
リファレンスを削除する変更が必要となります。Microsoft Dynamics CRM Online 2016 Update 1 (v8.1.1)
および Microsoft Dynamics 365 (v8.2) のバージョンからは、サーバー側の Live ID サポートと ACS の
依存関係を削除しました。これにより、クライアント側でも ACS への参照を除外するために SDK を更新する必要があります。

影響されるバージョン

クライアント コンポーネントは Microsoft.Xrm.SDK.DLL を使って Dynamics CRM  と対話するアプリケーションです。Email Router, Dynamics Connector, Unified Service Desk 等はクライアント コンポーネントの例です。下記にある "クライアント コンポーネントの更新" の箇所にクライアント コンポーネントの一覧があります。

Microsoft.Xrm.SDK.DLL バージョン 8.0 以下の SDK を使用しているクライアント コンポーネントが更新対象となります。該当するクライアント コンポーネントは最新のSDKを使用するように更新する必要があります。

Client-side component SDK

 

クライアント コンポーネントの更新

以下は ACS を使用する可能性のあるクライアント コンポーネントです。

  • カスタムアプリケーション - Dynamics CRM と対話するウェブ・Windows・コンソールアプリケーションを開発している場合以下の対処を実施します
    • 該当アプリケーションがあるサーバーで Microsoft.XRM.SDK.dll をファイル検索します。ファイルを見つけた場合チームブログサイトにある表を使ってダウンロードすべきSDKのバージョンを確認します。
    • 該当アプリケーションが使用している .NET バージョンとアプリケーションが対話している Dynamics 365 CRM サービスのバージョンを確認します。
    • を使って、.NET バージョン、Dynamics 365 CRM サービス バージョンにあった SDK バージョンを特定し、/bin フォルダー配下にある Microsoft.XRM.SDK.dll を最新のSDK dll と置換します。

Replace Microsoft.XRM.SDK.dll with latest version of SDK dll

  • サードパーティ製品 - パートナもしくは ISV が開発したDynamics CRM と対話するサードパーティ製品を使用している場合、以下の対処を実施します。
    • 該当アプリケーションがあるサーバーで Microsoft.XRM.SDK.dll をファイル検索します。検索したファイルのバージョンが 8.1.x 未満である場合、製品提供者に対応方針についてお問合せします。
  • ADX Studio v7.x - Portal 開発のために ADX Studio v7.x を使用している場合、Adoxio チームがまとめた以下の技術文書に記載された方法で対応します。
  • Unified Service Desk (USD) - 使用している USD クライアントのバージョンが USD 2.1, USD 2.2 未満である場合、 USD 2.2 以上にアップグレードします
  • Email Router - 使用している Email Router のバージョンが Email Router 8.1, Email Router 8.2 未満の場合、以下のサイトから最新のアップデートをダウンロードし、インストールします。
  • Dynamics Connector - Dynamics Connector を使用し、ERP システム(GP/AX/NAV/SL) にアクセスしている場合、以下の技術情報にある手順で対処します。
  • Report Authoring 拡張 - 使用している Report Authoring 拡張 のバージョンが 8.0 以下の場合 Dynamics 365 (設置型) 2016 年 12 月 Service Pack にあるCRM2016-Srs-KB3154952-LangID-amd64.exe を適用し、バージョンを8.2 にします。
  • Developer Toolkit - 使用している  Developer Toolkit が v8.0 以下の Microsoft.Xrm.SDK.DLL を使用している場合以下のサイトから最新の Developer Toolkit を入手し、インストールします。

以下の表に各クライアントコンポーネントと Dynamics CRM バージョンの組み合わせでの対応方法をまとめています。

クライアントコンポーネント Dynamics CRM バージョン が 8.0 以下の場合の対応 Dynamics CRM/Dynamics 365 バージョンが 8.1 もしくは 8.2 の場合の対応
カスタムアプリケーション Microsoft.Xrm.SDK.DLL が 8.0 以下の場合 チームブログ が推奨する SDK クライアントを使用する Microsoft.Xrm.SDK.DLL が 8.0 以下の場合 チームブログ が推奨する SDK クライアントを使用する
サードパーティ製品 Microsoft.Xrm.SDK.DLL が 8.0 以下の場合、製品提供者に対応方針についてお問合せします Microsoft.Xrm.SDK.DLL が 8.0 以下の場合、製品提供者に対応方針についてお問合せします
ADX V7.X チームブログ が推奨する SDK クライアントを使用する チームブログ が推奨する SDK クライアントを使用する
Unified Service Desk (USD) 最新 の USD 2.2 を使用するか チームブログ が推奨する SDK クライアントを使用する 最新 の USD 2.2 を使用する
Dynamics Connector チームブログ が推奨する SDK クライアントを使用する 最新のSDK を使ってチームブログにある手順を実施します。
Email Router チームブログ が推奨する SDK クライアントを使用する SDK 8.2 を使用する Email Router の最新の更新を適用する
Report Authoring 拡張 チームブログ が推奨する SDK クライアントを使用する Report Authoring 拡張の最新の更新を適用する
Developer Toolkit チームブログ が推奨する SDK クライアントを使用する 最新の Developer Toolkit を使用する

トラブルシュート方法

HTTP プロキシ(Fiddler など) や  router ログを使ってクライアントコンポーネントが ACS 認証用の URL にアクセスしているかを確認できます。例えば Fiddler トレースから以下のように ACS 関連のサービスに対するリクエストが発行されていることが確認できます。

 

Fiddler trace

 

以下が確認すべきACS 関連のサービスです。

 

リージョン サービス
APAC  dynamicscrmapac.accesscontrol.windows.net
EMEA dynamicscrmemea.accesscontrol.windows.net
NA dynamicscrmna.accesscontrol.windows.net
OCE dynamicscrmoce.accesscontrol.windows.net
JPN dynamicscrmjpn.accesscontrol.windows.net
SAM dynamicscrmsam.accesscontrol.windows.net

 

– Dynamics 365 サポート 早川
※本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります