Open棟梁Project - マイクロソフト系技術情報 Wiki -[[戻る>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]]」を右クリックして「[[クレームベース認証]]の構成」をクリック -「操作」プルダウン・メニューで「[[クレームベース認証]]の構成」をクリック ***フェデレーション・メタデータのURLを入力 [#i936ae0f] 「セキュリティトークンサービスを指定します」のページで、~ [[STS>クレームベース認証#h4a44b62]]のフェデレーション・メタデータのURLを入力する。~ https://sts.contoso.com/FederationMetadata/2007-06/FederationMetadata.xml #SSLを444番ポートに変更していれば、https://sts.contoso.com:444とする。 ***クレーム暗号証明書 [#l2afb849] 「暗号証明書」を指定しますページで[[クレーム暗号証明書>#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-* 標準です。