Open棟梁Project - マイクロソフト系技術情報 Wiki
目次 †
概要 †
CRMインターネット展開用の構成
IFD:Internet Facing Deployment
要件 †
Internet経由でのアクセスの場合に必要になる。
- ブラウザー経由
- Outlook用Microsoft Dynamics CRM経由
構成 †
- ポート転送などはサポートされていない。
- ケルベロス認証(イントラネット)か、
- クレームベース認証(インターネット)
要件 †
クレームベース認証でサポートするSTS
- WS-Trust v1.3
- ADFSの
- v2.0 : Windows Server 2008 R2 別途ダウンロードしてインストール
- v2.1 : Windows Server 2012 に同梱
- v2.2 : Windows Server 2012 R2 に同梱
Webサイト †
バインディング †
- HTTPSバインディング
- 単一のバインディング(HTTP+HTTPSはNG)
- ADFSが使用するのでCRMで「既定のWebサイト」(80番ポート)は使用しない。
- ただし、HTTPSバインディングの443番ポートはCRMで使用したいので、ADFSが使用する「既定のWebサイト」の
HTTPSバインディングのポートを443番ポートから(444番等へ)変更しておく。これは、ADFSのインストールの前に行っておく。
DNSレコード †
組織レコード †
検出 Web サービス †
Webアプリケーション †
証明書 †
デジタル証明書、公開キー証明書
フェデレーション サーバーのための証明要件
https://technet.microsoft.com/ja-jp/library/Gg308501.aspx
- サービス通信証明書
- STSのWebサイト(sts.contoso.com)の証明書
- IIS で使用する SSL 証明書と同じ証明書
- トークン解読証明書(ADFSが初期構成時に生成)
- SAMLトークンの解読
- 既定の解読証明書として IIS の SSL 証明書を使用する。
CRM †
- 内部名・外部名を使用してアクセスされる場合、
サブジェクトの別名に対応したSSLサーバ証明書を使用
- CRM Webサーバーの役割を複数のコンピュータにインストールする場合、
ワイルドカードに対応したSSLサーバ証明書を使用
証明書の更新 †
前提条件 †
前提条件のソフトウェア
準備 †
- ADFSの外部名(e.g.:sts.contoso.com)を指しているサービス通信証明書を
ウィザードの開始前にWebサイト上にインストールしておく必要がある。
インストール †
- ウィザードの起動
- スタンドアロン フェデレーションサーバー
- フェデレーションサービス名で証明書の選択
要求プロバイダー信頼の構成 †
- 要求プロバイダー信頼が自動的に追加
- 要求規則を要求プロバイダー信頼に追加
ウィザードを開始 †
以下のいずれかの方法でウィザードを開始
フェデレーション・メタデータのURLを入力 †
「セキュリティトークンサービスを指定します」のページで、
STSのフェデレーション・メタデータのURLを入力する。
https://sts.contoso.com/FederationMetadata/2007-06/FederationMetadata.xml
#SSLを444番ポートに変更していれば、https://sts.contoso.com:444とする。
クレーム暗号証明書 †
「暗号証明書」を指定しますページでクレーム暗号証明書を選択。
事前に、フロントの役割の全てにインストールしておく。
システムのチェック †
選択内容の確認 †
IFDが構成されている場合、IFDも無効化される。
http://www.firebrandtraining.dk/pdf/learn/microsoft/dynamics-crm-2015-courseware.pdf
コマンドレットの追加 †
Add-PSSnapin Microsoft.Crm.PowerShell
#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 2.0の証明書利用者信頼 †
証明書利用者信頼の追加 †
Dynamics CRMのクレームベース認証が有効になった後、
Dynamics CRMの証明書利用者信頼をADFSに追加する。
- IFDアクセスのみ、内部アクセスのみの場合、証明書利用者信頼は1つだけ。
- IFDアクセスと内部アクセスの場合、2つの証明書利用者信頼が必要。
ADFS管理コンソールの「操作」ウィンドウで
「証明書利用者信頼の追加」をクリックし、ウィザードで次の手順を実行。
- 「データソースの選択」の
「オンラインまたはローカルネットワークで公開されている証明書利用者についてのデータをインポートする」から、
Dynamics CRMのフェデレーション・メタデータのURLを入力する。
- 内部アクセスの場合
http://内部サーバー名:ポート/FederationMetadata?/2007-06/FederationMetadata?.xml
- IFDアクセスの場合
http://外部名/FederationMetadata?/2007-06/FederationMetadata?.xml
- 「表示名の指定」ページで表示名を入力
- 「発行承認規則の選択」ページで「すべてのユーザに対してこの証明書利用へのアクセスを許可する」をオンにする。
- , etc.
証明書利用者信頼の要求規則の追加 †
要求規則についての詳細は、この辺りを参照のこと。
- 要求規則を記述する。
- ADFSの
- 要求に適用される条件
- 承諾される入力方向の要求
- 発行される出力方向の要求
- 3つの要求規則が必要。
- UPNパススルー
- プライマリSIDパススルー
- Windowsアカウント名を名前に変換
- 手順
- ADFS管理コンソールで「証明書利用者信頼」に移動し、
「証明書利用者信頼」を右クリックし「要求規則の編集」をクリック。
テンプレ †
- 「要求規則の編集」のページで「規則の追加」をクリックする。
- 「変換要求規則の追加ウィザード」ページで「AAA」する。
- 要求規則名ボックスに「BBB」と入力する。
- 入力方向の要求の種類で「CCC」を選択する。
- 出力方向の要求の種類で「DDD」を選択する。
- すべての要求値をパススルーするオプションを選択する。
- 「完了」をクリックする。
- AAA:「入力方向の要求をパススルーまたはフィルター処理」を選択し「次へ」をクリックする。
- BBB:UPNパススルー(もしくはは同等の語句)
- CCC:UPN
- DDD:-
プライマリSIDパススルー †
- AAA:「入力方向の要求をパススルーまたはフィルター処理」を選択し「次へ」をクリックする。
- BBB:プライマリSIDパススルー(もしくはは同等の語句)
- CCC:プライマリSID
- DDD:-
Windowsアカウント名を名前に変換 †
- AAA:「要求規則テンプレート」で「入力方向の要求を変換」を選択し「次へ」をクリックする。
- BBB:Windowsアカウント名を名前に変換(もしくはは同等の語句)
- CCC:Windowsアカウント名
- DDD:名前
IFDの構成 †
展開マネージャでインターネットに接続する展開の構成ウィザードを開始
ウィザードを開始 †
以下のいずれかの方法でウィザードを開始
- 「操作」ウィンドウで「インターネットに接続する展開の構成」をクリック
- 「タスク」ウィンドウで「インターネットに接続する展開の構成」をクリック
- コンソール・ツリーで「Microsoft Dynamics CRM」を右クリックして「インターネットに接続する展開の構成」をクリック
- 「操作」プルダウン・メニューで「インターネットに接続する展開の構成」をクリック
ドメイン名 †
「ドメイン」ページで次のドメインを入力。
(DNSレコード参照
- 組織に接続するには外部ドメイン名の前に組織名をつける(?なにこれ?)。
- 検出 Web サービス
- 検出 Web サービスのホスト名
- dev.contoso.com
- 443以外のポートを使用する場合、
そのポート番号をドメイン名に付加する必要がある。
外部ドメイン名 †
「外部ドメイン」ページで次の外部URLを入力。
(DNSレコード参照
- Webアプリケーション
- 外部ドメイン名(外部URL)
- auth.contoso.com
- 443以外のポートを使用する場合、
そのポート番号をドメイン名に付加する必要がある。
システムのチェック †
選択内容の確認 †
IFDの無効化 †
http://www.firebrandtraining.dk/pdf/learn/microsoft/dynamics-crm-2015-courseware.pdf
コマンドレットの追加 †
Add-PSSnapin Microsoft.Crm.PowerShell
#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アクセスに対する証明書利用者信頼の追加 †
証明書利用者信頼の追加の(IFDアクセスの場合)の手順を実行。
参考 †
以下のように説明されている。
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: :認証基盤, :クレームベース認証