Dynamics CRM 2013 IFD 構成時の AD FS Tips

みなさん、こんにちは。

今回は Microsoft Dynamics CRM 2013 を IFD 構成にした際の AD FS の Tips をお届けします。
※以下の内容は Windows Server 2012 R2 AD FS を利用して検証しています。

サインアウトしないオプション

IFD を構成した場合ユーザーはフォーム認証画面でユーザー名とパスワードを入力する
必要がありますが、毎回入力することを避けたい場合 AD FS の設定を変更することで、
以下のように「サインアウトしない」オプションを表示できます。

image

手順

1. AD FS サーバーにログインして PowerShell を起動します。

2. 以下のコマンドを実行します。※サーバーレベルでの変更となります。
>Set-AdfsProperties –EnableKmsi $true

3. 以下のコマンドで設定値を確認できます。
>Get-AdfsProperties

4. ブラウザから IFD アドレスにアクセスします。

効果

サインアウトしないチェックボックスにチェックを入れてログインした
場合、一旦ブラウザを再起動しても再度ユーザー名、パスワードを
入力する必要がありません。
※ただしトークンの期限が完全に切れてしまった場合は再入力が
必要です。

トークンの有効期間を延長する

Microsoft Dynamics CRM の IFD では、ログインしたタイミングで AD
FS よりクレーム認証のトークンを受理しますが、既定で 60 分の有効
期限が設定されています。期限が切れる 20 分前に以下のメッセージが
表示されます。

image

この作業を行わずに期限が切れた場合は、一旦ブラウザを再起動して
ログイン作業を行う必要があり、上記で紹介したサインアウトしない
オプションを有効にしていても例外ではありません。

期限を延ばすには以下の手順で作業を行います。

手順

1. AD FS サーバーにログインして PowerShell を起動します。

2. 以下のコマンドで現在 AD FS に登録されている証明書利用者
信頼の名前とトークンの有効期限一覧を確認します。
>Get-AdfsRelyingPartyTrust | Select Name, TokenLifeTime
※ 値が 0 の場合は既定値です。

3. 以下のコマンドで任意の証明処利用者信頼のトークン有効期限を
指定します。
>Set-AdfsRelyingPartyTrust –TargetName <上記で確認した名前> –TokenLifeTime <分>

効果

指定した時間 20 分前まで、上記の確認メッセージが出ず利用できます。

テスト環境で証明書チェーンの確認を行わない

テスト段階で、AD FS は本番環境のものを利用するが、Microsoft
Dynamics CRM はテスト環境を利用していて、本番環境からテスト
環境に対する証明書チェーンの確認が行えない場合があります。

その場合はあくまでテスト目的で確認の設定をオフにすることで
対処が可能です。

手順

1. AD FS サーバーにログインして PowerShell を起動します。

2. 以下のコマンドで現在 AD FS に登録されている証明書利用者
信頼の名前とトークンの有効期限一覧を確認します。
>Get-AdfsRelyingPartyTrust | Select Name, SigningCertificateRevocationCheck

3. 以下のコマンドで証明書チェーンの確認を無効にできます。
>Set-AdfsRelyingPartyTrust –TargetName <上記で確認した名前> –SigningCertificateRevocationCheck None

効果

ログインに成功します。

- 中村 憲一郎