Dynamics CRM 2011 クレームベース認証構成のポイント

みなさん、こんにちは。

今回は管理者向けの情報として Dynamics CRM 2011 の
クレームベース認証構成に関するポイントを紹介します。構成が
うまく行かない方は是非ご覧ください。

尚、クレームベース認証構成の手順書は以下のリンクに資料があります。(英語)

Microsoft Dynamics CRM 2011 and Claims-based Authentication.doc

クレームベース認証構成時に検討が必要なもの

クレームベース認証の構成を行う際、事前に検討が必要なものが
いくつかあります。以下に項目および検討事項を紹介します。

アドレス

クレームベース認証を構成する場合、以下のアドレスを事前に
検討してください。

- AD FS 2.0 用の URL
- Windows 統合認証用 Dynamics CRM URL
- インターネットに接続する展開用の URL

尚、インターネットに接続する展開用の URL には以下のものが
含まれます。

1. <組織名>.<ドメイン名>:<ポート番号>
特定の組織にアクセスするための URL です。組織名部分は組織作成時に
指定したものになるため、どうしても変更する場合は組織の再インポートが
必要となります。

2. auth.<ドメイン名>:<ポート番号>
インターネットに接続する展開に関する設定を持つアドレスです。

3. dev..<ドメイン名>:<ポート番号>
インターネットに接続する展開で利用する検出 Web サービスのアドレスです。

これらの URL は重複することが許されません。例えば組織名が CRM
である場合、インターネットに接続する展開で利用するアドレスは
CRM.<ドメイン名>:<ポート番号> となります。この場合、同じアドレスを
Windows 統合認証用のアドレスには利用できません。

DNS の登録

上記アドレスで利用する名前は、通常サーバー名とは異なるため、
DNS に新規登録が必要です。特にインターネットに接続する展開用の
URL は登録を忘れることが多いようです。

Service Principal Name の登録

利用するアドレスにもよりますが、AD FS 2.0 のアドレスでサーバー名とは
異なる名前を利用する場合、 SPN の登録が必要となります。SPN の登録
に関しては、IIS のバージョンや設定とも関連が深いため、以下の記事を
参考にしてください。

サービス プリンシパル名の登録

Service Principal Name (SPN) checklist for Kerberos authentication with IIS 7.0/7.5

証明書の検討

クレーム認証構成では HTTPS 通信が必須です。そのため HTTPS に
対応すべく証明書が必要となります。またやり取りするクレーム自体
暗号化するための証明書も必要となります。検証環境では共有の
証明書が利用できますが、本番ではセキュリティの観点から、分離する
ことをお勧めします。

各種アプリケーションの構成変更

クレーム認証構成後、Outlook クライアントや電子メールルーター等
Dynamics CRM 2011 を利用するアプリケーションを再構成する必要が
あります。

クレームベース認証構成時のポイント

次にクレームベース認証構成時に失敗しやすいポイントを紹介します。

Dynamics CRM 2011 HTTPS 対応

Dynamics CRM 2011 を HTTPS 対応にする場合は、IIS および展開
マネージャーでの設定が必要です。ポイントは以下の 3 点です。

1. IIS マネージャのバインド設定で、正しい証明書およびポートが
指定されているか。また HTTPS プロトコルのバインドが 1 つだけか。

以下の例では、ポートは 444、証明書はワイルドカード証明書を
指定しています。

image

2. 展開マネージャーの設定ができているか。展開マネージャー
起動後、トップノードを右クリックしてプロパティを確認。Web
アドレスタブに正しいアドレスを指定します。

以下の例では、Windows 統合認証用のアドレスとして
https://crm2011.contoso5.local:444/\<組織名> を利用する前提です。また
全ての Web サービスに同じ名前を利用しています。
※設定後は必ず IISRESET を行ってください。

image

3. 利用する証明書の秘密キーにアクセス権があるか。
MMC にローカルコンピューターの証明書スナップインを追加して
個人 | 証明書にある証明書を確認しまます。

証明書を右クリック | すべてのタスク | 秘密キーの管理より
Dynamics CRM 2011 サービス実行アカウントがキーに対する
アクセス権があるか確認してください。

クレームベース認証の構成

展開マネージャーよりクレームベース認証の構成が行えます。
その際以下の 3 点を注意してください。

1. フェデレーションメタデータ URL
ウィザードで指定するフェデレーションメタデータの URL に
正しい名前を入力してください。事前にブラウザよりアクセスが
可能か確認することをお勧めします。

※アクセス自体ができない場合、AD FS 2.0 サーバーで正しい
ポートを開いているか確認してください。
※ Internet Explorer 9 を利用している場合、空白の画面が
表示される場合があります。互換表示を試してください。

2. 証明書の指定
クレームの暗号化に利用する証明書を指定します。ここでは
自己署名も利用可能ですが、秘密キーに対するアクセス権が
正しく設定されているか確認してください。

※指定した証明書が見つからないと表示される場合、同一
名称の証明書が存在しないか確認してください。特に自己署名
の証明書を利用している場合は同一名称の証明書が作成されます。
利用するもの以外は削除してください。

※証明書の名前が 256文字を超えるとエラーとなります。
その場合は名前の短い証明書を利用してください。
https://support.microsoft.com/kb/2496441

3. 構成完了後、IISRESET をしてください。

AD FS 2.0 の構成

Dynamics CRM 2011 での構成が完了したら、AD FS 2.0
に証明書利用者信頼を追加します。その際は以下の 2 点を
注意してください。

1. 要求プロバイダー信頼に UPN の定義を設定
既定では Active Directory より UPN が返されません。
AD FS 2.0 管理コンソール | 信頼関係 | 要求プロバイダー信頼 |
Active Directory 右クリック | 要求規則の編集より、UPN のルール
が追加されている確認してください。

image

2. 証明書利用者信頼追加時に指定する URL は事前に
ブラウザで開けるか確認してください。特に以下の 3 点に
注意してください。

※ Dynamics CRM 2011 サーバーで必要なポートを許可します。

※ 既定のポート(443) 以外を利用している場合、URL にポートを
含めていることを確認します。

※ 証明書の秘密キーに Dynamics CRM サービスアカウントが
アクセス権があることを確認します。

インターネットに接続する展開の構成

以下の 3 点を注意してください。

1. 既定のポート (443) 以外を利用している場合、各種ドメインに
ポート番号を付与してください。また検出 Web サービスの項目は
ドメイン名だけでなく、フルの名前を指定します。また、HTTPS:// は
ここでは入力しないでください。

以下の例ではポート番号として 444 を利用しています。また検出
Web サービスに dev.contoso5.local:444 を利用します。

image

2. 次の画面でも、同様にポート番号が付与されているか確認します。

3. 構成完了後 IISRESET を行ってください。

AD FS 2.0 の構成

インターネットに接続する展開用に AD FS 2.0 を構成する際、以下の
点に関して注意してください。

1. 証明書利用者信頼追加時に指定する URL は事前に
ブラウザで開けるか確認してください。特に以下の 3 点に
注意してください。

※URL は展開マネージャーのウィザードの以下のページで指定した
アドレスになります。

image

この場合は https://auth.contoso5.local:444/FederationMetadata/2007-06/Federationmetadata.xml

※ 名前解決が正しく行えているか確認してください。

2. 構成した際、識別子が正しいか確認してください。正しい場合は
上記アドレスおよび検出 Web サービスのアドレス、組織のアドレスが
リストされます。

image

トラブルシューティング

AD FS 2.0 でうまく認証されない場合、トラブルシューティングの手法と
して、イベントログを活用できます。以下の手順でログを有効にします。

1. AD FS 2.0 管理コンソールを起動します。

2. トップノードを右クリックして、フェデレーション サービスのプロパティ
編集をクリックします。

image

3. イベントタブより、失敗の監査にチェックを入れて OK をクリックします。

4. 現象再現後、イベントビューワーを開きます。

5. 以下のディレクトリにログが出力されます。

image

6. エラーの確認後、設定を戻しておきます。

まとめ

Dynamics CRM 2011 のクレーム認証の構成は、ポイントをうまく
抑えておけば失敗することなく構成可能ですが、失敗した場合
原因の特定が困難な場合が多くあります。

うまく構成できない場合は、上記チェックリストをご参照ください。

- Dynamics CRM サポート 中村 憲一郎