Open棟梁Project - マイクロソフト系技術情報 Wiki
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。

-[[戻る>CRMのインストールと構成]]

* 目次 [#q84dae9b]
#contents

*概要 [#e461100f]
CRMインターネット展開用の構成~
IFD:Internet Facing Deployment

-Microsoft Dynamics CRM の IFD を構成する~
https://technet.microsoft.com/ja-jp/library/dn609803.aspx

**要件 [#v2442526]
Internet経由でのアクセスの場合に必要になる。
-ブラウザー経由
-Outlook用Microsoft Dynamics CRM経由

**構成 [#l249c4bf]
-ポート転送などはサポートされていない。
-ケルベロス認証(イントラネット)か、
-[[ケルベロス認証]](イントラネット)か、
-[[クレームベース認証]](インターネット)

*要件 [#m04366fd]

**[[クレームベース認証]] [#c0f1531b]
[[クレームベース認証]]でサポートする[[STS>クレームベース認証#h4a44b62]]

-WS-Trust v1.3
-[[ADFS>フェデレーション サービス (AD FS)]]の
--v2.0 : Windows Server 2008 R2 別途ダウンロードしてインストール
--v2.1 : Windows Server 2012 に同梱
--v2.2 : Windows Server 2012 R2 に同梱

**Webサイト [#kcb8f402]
***バインディング [#d634955b]
-HTTPSバインディング
-単一のバインディング(HTTP+HTTPSはNG)

***[[ADFS>フェデレーション サービス (AD FS)]]同居の場合 [#zdfb3a8d]
-[[ADFS>フェデレーション サービス (AD FS)]]が使用するのでCRMで「既定のWebサイト」(80番ポート)は使用しない。
-ただし、HTTPSバインディングの443番ポートはCRMで使用したいので、[[ADFS>フェデレーション サービス (AD FS)]]が使用する「既定のWebサイト」の~
HTTPSバインディングのポートを443番ポートから(444番等へ)変更しておく。これは、[[ADFS>フェデレーション サービス (AD FS)]]のインストールの前に行っておく。

**DNSレコード [#t67883b3]
***[[ADFS>フェデレーション サービス (AD FS)]] [#se50d41a]
-sts.contoso.com
***組織レコード [#a4c3fbb1]
-contosoinc.contoso.com
***検出 Web サービス [#n6d3388e]
-dev.contoso.com
***Webアプリケーション [#fe26d3fb]
-auth.contoso.com

**証明書 [#f43fa113]
デジタル証明書、公開キー証明書

***[[ADFS>フェデレーション サービス (AD FS)]] [#l86c070a]
フェデレーション サーバーのための証明要件~
https://technet.microsoft.com/ja-jp/library/Gg308501.aspx

-サービス通信証明書
--[[STS>クレームベース認証#h4a44b62]]のWebサイト(sts.contoso.com)の証明書
--IIS で使用する SSL 証明書と同じ証明書

-トークン証明書([[ADFS>フェデレーション サービス (AD FS)]]が初期構成時に生成)
--メタデータの署名
--[[SAML]]トークンの署名

-トークン解読証明書([[ADFS>フェデレーション サービス (AD FS)]]が初期構成時に生成)
--[[SAML]]トークンの解読
--既定の解読証明書として IIS の SSL 証明書を使用する。

***CRM [#a40c6829]

-Webサイト暗号証明書

--CRMのWebサイトの証明書

--内部名・外部名を使用してアクセスされる場合、~
サブジェクトの別名に対応したSSLサーバ証明書を使用

--CRM Webサーバーの役割を複数のコンピュータにインストールする場合、~
ワイルドカードに対応したSSLサーバ証明書を使用

-クレーム暗号証明書
--CRMとSTS間のデータ暗号化。
--CRMの[[Webサイト暗号証明書>#ke089d26]]と同じものでも良い。
--[[フロントエンドの役割>CRMのサーバ機能#jc08216b]]の全てにインストール。

--[[CRMAppPool]]
---CRM Webサーバーの役割の[[実行アカウント>サービス・タスク系のいろいろ#ib21db08]]である[[CRMAppPool]]は、~
クレーム暗号証明書の秘密鍵に対する読み取りアクセス許可が必要。~

---[[管理ツール>マイクロソフト管理コンソール(MMC)]]の[[証明書スナップイン>マイクロソフト管理コンソール(MMC)#leb0cc60]]を使用して、暗号証明書に対する読み取りアクセス許可を追加する。

***証明書の更新 [#x1d972ed]
-有効期限切れの1ヶ月前には更新する計画を立てる。

-[[ADFS>フェデレーション サービス (AD FS)]]が初期構成時に生成する証明書は自動更新。
--トークン証明書
--トークン解読証明書

*[[ADFS>フェデレーション サービス (AD FS)]] 2.0の初期構成 [#j9a85692]

**前提条件 [#ne04a873]
前提条件のソフトウェア
-PowerShell
-.NET 3.5 SP1
-IIS
-WIF

**準備 [#a714474b]
-[[ADFS>フェデレーション サービス (AD FS)]]の外部名(e.g.:sts.contoso.com)を指しているサービス通信証明書を~
ウィザードの開始前にWebサイト上にインストールしておく必要がある。

**インストール [#na61f952]
-ウィザードの起動
-スタンドアロン フェデレーションサーバー
-フェデレーションサービス名で証明書の選択

**要求プロバイダー信頼の構成 [#f4d136f9]
-要求プロバイダー信頼が自動的に追加
-要求規則を要求プロバイダー信頼に追加
--[[Active Directory>ドメイン サービス (AD DS)]]の要求規則の編集→規則の追加
--要求規則テンプレート→LDAP属性を要求として送信
--規則の構成
---要求規則名:[[UPN]]要求規則
---属性のストア:[[Active Directory>ドメイン サービス (AD DS)]]
---LDAP属性:[[User-Principal-Name>UPN]]
---出力方向の要求の種類:[[UPN]]

*[[Dynamics CRM]]で[[クレームベース認証]]を構成 [#q311f515]

-[[展開マネージャ>CRMの展開マネージャを使用した管理#pbc49393]]で[[クレームベース認証]]を有効にする。
-[[Dynamics CRM]]のための証明書利用者信頼を追加する。
-構成すると自動的に有効になり、内部アクセスと外部アクセスに適用される。

**[[展開マネージャ>CRMの展開マネージャを使用した管理#pbc49393]]で構成 [#ffac127c]

***ウィザードを開始 [#j71824a1]
以下のいずれかの方法でウィザードを開始
-「操作」ウィンドウで「[[クレームベース認証]]の構成」をクリック
-「タスク」ウィンドウで「[[クレームベース認証]]の構成」をクリック
-コンソール・ツリーで「Microsoft [[Dynamics CRM]]」を右クリックして「[[クレームベース認証]]の構成」をクリック
-コンソール・ツリーで「Microsoft [[Dynamics CRM]]」を右クリック~
して「[[クレームベース認証]]の構成」をクリック
-「操作」プルダウン・メニューで「[[クレームベース認証]]の構成」をクリック

***フェデレーション・メタデータのURLを入力 [#i936ae0f]
「セキュリティトークンサービスを指定します」のページで、~
[[STS>クレームベース認証#h4a44b62]]のフェデレーション・メタデータのURLを入力する。~
https://sts.contoso.com/FederationMetadata/2007-06/FederationMetadata.xml

#SSLを444番ポートに変更していれば、https://sts.contoso.com:444とする。

***クレーム暗号証明書 [#l2afb849]
「暗号証明書」を指定しますページで[[クレーム暗号証明書>#ld870d92]]を選択。
「暗号証明書」を指定しますページで[[クレーム暗号証明書>#ld870d92]]を選択。~
事前に、[[フロントの役割>CRMのサーバ機能#jc08216b]]の全てにインストールしておく。

***システムのチェック [#rc064440]

***選択内容の確認 [#k76372ab]
-[[Dynamics CRM]]のフェデレーション・メタデータのURLをメモする。~
[[ADFS>フェデレーション サービス (AD FS)]]に信頼されている証明書利用者として[[Dynamics CRM]]を追加する時に使用する。

***[[クレームベース認証]]の無効化 [#b7f28b44]
IFDが構成されている場合、IFDも無効化される。

**[[PowerShell]]で構成 [#o9057dd0]
http://www.firebrandtraining.dk/pdf/learn/microsoft/dynamics-crm-2015-courseware.pdf

***コマンドレットの追加 [#s270cdef]
 Add-PSSnapin Microsoft.Crm.PowerShell

***[[クレームベース認証]]を有効にする。 [#eb0ec74b]
 #Get the current settings into a variable
 $ClaimsSettings = Get-CrmSetting claimssettings
 #Set the enabled parameter to true
 $ClaimsSettings.Enabled = $true
 #Set the Encryption certificate and the Federation Metadata URL
 $ClaimsSettings.EncryptionCertificate = "CN=*.contoso.com, OU=Domain Control Validated, O=*.contoso.com"
 $ClaimsSettings.FederationMetadataUrl = "https://sts.contoso.com/federationmetadata/2007-06/federationmetadata.xml"
 #Enable claims-based authentication
 Set-CrmSetting $ClaimSettings

#SSLを444番ポートに変更していれば、https://sts.contoso.com:444とする。

*[[ADFS>フェデレーション サービス (AD FS)]] 2.0の証明書利用者信頼 [#i3b58ef9]

**証明書利用者信頼の追加 [#y88f4ae8]
[[Dynamics CRM]]の[[クレームベース認証]]が有効になった後、~
[[Dynamics CRM]]の証明書利用者信頼を[[ADFS>フェデレーション サービス (AD FS)]]に追加する。

-IFDアクセスのみ、内部アクセスのみの場合、証明書利用者信頼は1つだけ。
-IFDアクセスと内部アクセスの場合、2つの証明書利用者信頼が必要。

[[ADFS>フェデレーション サービス (AD FS)]]管理コンソールの「操作」ウィンドウで~
「証明書利用者信頼の追加」をクリックし、ウィザードで次の手順を実行。

-「データソースの選択」の~
「オンラインまたはローカルネットワークで公開されている証明書利用者についてのデータをインポートする」から、~
[[Dynamics CRM]]のフェデレーション・メタデータのURLを入力する。
--内部アクセスの場合~
http://内部サーバー名:ポート/FederationMetadata/2007-06/FederationMetadata.xml
--IFDアクセスの場合~
http://外部名/FederationMetadata/2007-06/FederationMetadata.xml

-「表示名の指定」ページで表示名を入力
-「発行承認規則の選択」ページで「すべてのユーザに対してこの証明書利用へのアクセスを許可する」をオンにする。
-, etc.

**証明書利用者信頼の要求規則の追加 [#waf77c20]
要求規則についての詳細は、[[この辺り>WS-Federation#uf2a5ae6]]を参照のこと。

-要求規則を記述する。
--[[ADFS>フェデレーション サービス (AD FS)]]の
---要求に適用される条件
---承諾される入力方向の要求
---発行される出力方向の要求

-3つの要求規則が必要。
--[[UPN]]パススルー
--プライマリ[[SID]]パススルー
--Windowsアカウント名を名前に変換

-手順
--[[ADFS>フェデレーション サービス (AD FS)]]管理コンソールで「証明書利用者信頼」に移動し、~
「証明書利用者信頼」を右クリックし「要求規則の編集」をクリック。

***テンプレ [#he5045f1]
-「要求規則の編集」のページで「規則の追加」をクリックする。
-「変換要求規則の追加ウィザード」ページで「AAA」する。
-要求規則名ボックスに「BBB」と入力する。
-入力方向の要求の種類で「CCC」を選択する。
-出力方向の要求の種類で「DDD」を選択する。
-すべての要求値をパススルーするオプションを選択する。
-「完了」をクリックする。

***[[UPN]]パススルー [#q81e834d]
-AAA:「入力方向の要求をパススルーまたはフィルター処理」を選択し「次へ」をクリックする。
-BBB:[[UPN]]パススルー(もしくはは同等の語句)
-CCC:[[UPN]]
-DDD:-

***プライマリ[[SID]]パススルー [#i7b8eb95]
-AAA:「入力方向の要求をパススルーまたはフィルター処理」を選択し「次へ」をクリックする。
-BBB:プライマリ[[SID]]パススルー(もしくはは同等の語句)
-CCC:プライマリ[[SID]]
-DDD:-

***Windowsアカウント名を名前に変換 [#d2383c1a]
-AAA:「要求規則テンプレート」で「入力方向の要求を変換」を選択し「次へ」をクリックする。
-BBB:Windowsアカウント名を名前に変換(もしくはは同等の語句)
-CCC:Windowsアカウント名
-DDD:名前

*IFDの構成 [#ca2466c5]
**[[展開マネージャ>CRMの展開マネージャを使用した管理#pbc49393]]で構成 [#ha5d1610]
[[展開マネージャ>CRMの展開マネージャを使用した管理#pbc49393]]でインターネットに接続する展開の構成ウィザードを開始

***ウィザードを開始 [#g051eeab]
以下のいずれかの方法でウィザードを開始
-「操作」ウィンドウで「インターネットに接続する展開の構成」をクリック
-「タスク」ウィンドウで「インターネットに接続する展開の構成」をクリック
-コンソール・ツリーで「Microsoft [[Dynamics CRM]]」を右クリックして「インターネットに接続する展開の構成」をクリック
-「操作」プルダウン・メニューで「インターネットに接続する展開の構成」をクリック

***ドメイン名 [#accd2725]
「ドメイン」ページで次のドメインを入力。

([[DNSレコード>#t67883b3]]参照

-Webアプリケーション
--外部ドメイン名
--contoso.com

-組織レコード
--外部ドメイン名
--contoso.com

--組織に接続するには外部ドメイン名の前に組織名をつける(?なにこれ?)。
---contosoinc.contoso.com

-検出 Web サービス
--検出 Web サービスのホスト名
--dev.contoso.com

-443以外のポートを使用する場合、~
そのポート番号をドメイン名に付加する必要がある。
--contoso.com:444など。

***外部ドメイン名 [#lc90739d]
「外部ドメイン」ページで次の外部URLを入力。

([[DNSレコード>#t67883b3]]参照

-Webアプリケーション
--外部ドメイン名(外部URL)
--auth.contoso.com

-443以外のポートを使用する場合、~
そのポート番号をドメイン名に付加する必要がある。
--contoso.com:444など。

***システムのチェック [#y5083111]
***選択内容の確認 [#f01b7e7e]
***IFDの無効化 [#k172f31e]

**[[PowerShell]]で構成 [#g14b74f0]
http://www.firebrandtraining.dk/pdf/learn/microsoft/dynamics-crm-2015-courseware.pdf

***コマンドレットの追加 [#s270cdef]
 Add-PSSnapin Microsoft.Crm.PowerShell

***[[クレームベース認証]]を有効にする。 [#eb0ec74b]
 #Get the current settings into a variable
 $IFDSettings = Get-CrmSetting ifdsettings
 #Set the enabled parameter to true
 $IFDSettings.Enabled = $true
 #Set the IFD Domain Values
 $IFDSettings.DiscoveryWebServiceRootDomain="dev.contoso.com"
 $IFDSettings.ExternalDomain="auth.contoso.com"
 $IFDSettings.OrganizationWebServiceRootDomain="contoso.com"
 $IFDSettings.WebApplicationRootDomain="contoso.com"
 #Enable claims-based authentication
 Set-CrmSetting $IFDSettings

**IFDアクセスに対する証明書利用者信頼の追加 [#f826a8e9]
[[証明書利用者信頼の追加>#i3b58ef9]]の(IFDアクセスの場合)の手順を実行。

*参考 [#k0643495]
**[[ADFS>フェデレーション サービス (AD FS)]]での[[クレームベース認証]] [#v0581167]
以下のように説明されている。

Microsoft Dynamics CRM >> Active Directory およびクレームベース認証~
https://msdn.microsoft.com/ja-jp/library/Gg334502.aspx

>Security Assertion Markup Language (SAML) トークンの
-パッシブ モード (Microsoft Dynamics CRM, CRM Onlineで WS-Federation を使用する場合) または
-アクティブ モード (Windows Communication Foundation (WCF) クライアントで WS-Trust を使用する場合) 

>での使用を規定する一連の WS-* 標準です。

----
Tags: [[:認証基盤]], [[:クレームベース認証]]


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS