Dynamics CRM 2013 IFD 構成における Windows Server 2012 R2 AD FS のサポート
※ (2014-9-1 AD FS 2.2 を Windows Server 2012 R2 AD FS に修正。コメントありがとうございました。)
みなさん、こんにちは。
前回までモバイルおよびリッチクライアント開発について紹介して
きましたが、設置型におけるサンプルを紹介前準備として、今回は
設置型の IFD 構成における Windows Server 2012 R2 AD FS の
サポートを紹介します。
Windows Server 2012 R2 Active Directory Federation Service (AD FS)
Microsoft Dynamics CRM 2013 は、以前のバージョンに引き続き、
クレーム認証および Internet Facing Deployment (IFD) をサポート
しますが、サポートする STS サーバーとして、新たに Windows Server
2012 R2 AD FS をサポートします。
Jason Web Token (JWT) を利用した非ブラウザアプリケーションを
利用した REST エンドポイントのアクセスを行うためには、 Windows
Server 2012 R2 AD FS が必須です。
Microsoft Dynamics CRM 2013 はインストール先のサーバーとして、
現時点で Windows Server 2012 R2 をサポートしていないため、別の
サーバー に対してインストールを行ってください。
※ Update Rollup 2 で Windows Server 2012 R2 へのインストールを
サポートしました。
構成の手順の変更点
基本的な構成の手順は、以前のバージョンと同様ですが一部異なる
手順があります。これまでの手順はこちらを参照してください。
不要となる手順
要求プロバイダー信頼において、UPN 用の追加要求規則が不要と
なります。これは既定で UPN をパススルーする規則が追加されて
いるためです。
追加で必要となる手順
Windows Server 2012 R2 AD FS は既定でイントラネット用のフォーム認証が
無効ですが Microsoft Dynamics CRM 2013 の IFD はフォーム認証が必要となる
ため、以下手順でフォームの有効化を行ってください。
1. Windows Server 2012 R2 AD FS サーバーへ管理者権限でログインします。
2. サーバー マネージャーのツールより AD FS の管理を開きます。
3. 認証ポリシーをクリックします。
4. 右側の画面のプライマリ認証にあるグローバル設定より編集を
クリックします。
5. イントラネットの項目で、フォーム認証にチェックを入れます。
6. OK をクリックします。
この手順を行わない場合、IFD アドレスで接続すると以下の画面が
表示されます。
また Windows Server 2012 R2 AD FS のイベントログには、以下
エラーが記録されます。
ソース : AD FS
イベント ID : 364
エラー内容
パッシブな要求のフェデレーション中にエラーが発生しました。
追加データ
プロトコル名:
wsfed
証明書利用者: <IFD のアドレス>
例外情報:
Microsoft.IdentityServer.Service.Policy.PolicyServer.Engine.InvalidAuthenticationTypePolicyException: MSIS7102: 要求された認証方法は STS でサポートされていません。
まとめ
クレーム認証および IFD 構成はこれまでと変わりありませんが、
Windows Server 2012 R2 AD FS を利用する場合は手順が若干異なり
ます。OAuth 認証を行うためには Windows Server 2012 R2 AD FS が
必須ですので、設置型で Windows ストアアプリケーションを開発
予定の場合はご注意ください。
- 中村 憲一郎
Comments
Anonymous
January 16, 2014
Can you please translate this in English? It would be very handy since the information is not available elsewhereAnonymous
January 20, 2014
The comment has been removedAnonymous
January 21, 2014
Unfortunately, I couldn't find English version of this blog.However, Implementation Guide for Microsoft Dynamics CRM 2013 has information regarding Windows Server 2012 R2 AD FS configuration. Please download it from download center and look for "Post-installation and configuration guidelines for Microsoft Dynamics CRM 2013" part.Please let me know if you have any questions.Kenichiro Nakamrua - Japan MicrosoftAnonymous
February 11, 2014
Arend,We just published white paper about IFD configuration, which covers Windows Server 2012 R2 AD FS setup which I explained here. Please check it out.www.microsoft.com/.../details.aspxKenichiro Nakamrua - Japan MicrosoftAnonymous
March 09, 2014
いつも参考にさせて頂いております。ADFSに関して質問させてください。1つのドメインに2つのDynamics CRM 2011のインスタンス(展開)がある環境でADFS 2.2でIFD構成にしたのですが、シングルサインオンが出来ませんでした。片方のDynamics CRMにADFSでログインし、もう片方のDynamics CRMにアクセスしたところエラーとなりサーバでは「CryptographicException : Key not valid for use in specified state.」といったエラーが発生します。(CookieのDecodeで失敗している模様)2つのDynamics CRMにアクセスするには都度サインアウトしないといけない状況です。Dynamics CRMは複数インスタンス(展開)同士のシングルサインオンはサポートされていないのでしょうか?Anonymous
March 09, 2014
コメントをいただき、ありがとうございます。大変申し訳ございませんが、ご質問いただいた内容については文献がなく、弊社サポートサービスにて調査、回答させていただきたく思います。お手数ですがサポートセンターまで同様の内容にてお問い合わせいただけますでしょうか。よろしくお願いいたします。中村 憲一郎Anonymous
August 30, 2014
AD FS 2.2という表記は存在しないと思われます (通称は3.0の方が通じやすいようです)公式にはWindows Server 2012 R2 AD FS あたりじゃないでしょうか?Anonymous
August 31, 2014
コメントありがとうございます。ご指摘の通り正式名用は Windows Server 2012 R2 AD FS です。通称としてはご認識の通り AD FS 2.2 と 3.0 という言葉が出ていますがいずれも RTM 前に使われていた仮称であることを確認しました。ご指摘ありがとうございました。中村 憲一郎Anonymous
July 14, 2015
いつも参考にさせていただいております。 1つのWindows2012サーバーにDCRM2013、SQLServer、ADFSをインストールしてクレーム認証を実現しようとしています。 「Dynamics CRM 2011 クレームベース認証構成のポイント」と今回の記事を元に、一般の方のブログなどを参考にして設定してみましたが、ADFSの設定が終わった段階でDCRMを起動すると、原因不明のエラーが発生しましたとブラウザ上に表示されます。(ブラウザの半分は青いイメージの画像が表示されます) サーバのイベントビューアーを参照すると、下記エラーが発生していました。 「パッシブな要求のフェデレーション中にエラーが発生しました。 プロトコル名: wsfed 例外情報: Microsoft.IdentityServer.Web.InvalidScopeException: MSIS7007: 要求された証明書利用者信頼 'dcrm02.dcrmdomain.local/& は指定されていないか、またはサポートされていません。証明書利用者信頼が指定されていた場合は、証明書利用者信頼にアクセスするための許可がない可能性があります。詳細については、管理者に問い合わせてください。 場所 Microsoft.IdentityServer.Web.Protocols.WSFederation.WSFederationSignInContext.Validate() 場所 Microsoft.IdentityServer.Web.Protocols.WSFederation.WSFederationProtocolHandler.GetRequiredPipelineBehaviors(ProtocolContext pContext) 場所 Microsoft.IdentityServer.Web.PassiveProtocolListener.OnGetContext(WrappedHttpListenerContext context)」 証明者利用者信頼の設定は完了しています。 どこに問題があるのでしょうか? お忙しいとは思いますがご回答いただけたら非常に助かります。 よろしくお願いします。Anonymous
July 15, 2015
コメントをいただき、ありがとうございます。 頂いた内容で既知の問題としての情報が見つからなかったため、弊社サポートサービスにて調査、回答させていただきたく思います。 大変お手数ですが弊社サポートサービスまでお問い合わせ頂けますでしょうか。 ご不便をおかけして申し訳ございません。Anonymous
July 15, 2015
Kensuke様 お忙しい中、調査いただきありがとうございました。 サポートサービスに問い合わせてみます。 お手数おかけして申し訳ありませんでした。