本文是前段時間爲開發部門搭建CRM2011 claims-based認證的測試環境的步驟記錄,將使用ADFS爲crm2011配置基於聲明驗證claims-based authentication的IFD模式。
對於IFD配置的身份驗證方式,crm2011和crm4.0已經徹底不一樣。crm4.0 時代部署IFD身份驗證基於表單來完成,ifd配置過程能夠經過更改配置文件或用微軟提供的IFD部署工具完成,整個過程比較簡便,在IFD部署完成後,從安全性的角度考慮都會建議使用HTTPS來發布IFD配置。在新版的crm2011中配置IFD,部署的步驟相對繁雜一些,新版的IFD部署採用基於聲明的身份驗證Claims-based Authentication。
在crm2011 IFD部署中使用ADFS(Active Directory Federation Services 2.0)做爲身份驗證提供者。當用戶經過internet鏈接到crmweb站點時,會跳轉到ADFS服務。該服務接收到用戶登陸信息後將經過內部AD對信息進行驗證,AD驗證結果返回ADFS,並由ADFS發出一個安全token給用戶,再提交給crm2011 web站點。在安全token中包含了用戶信息,組成員關係從而肯定用戶訪問受權。
我在測試環境的搭建拿3部windows server2008 R2服務器分別充當AD中的DC 並配置證書服務, APP 角色安裝crm2011,DB角色安裝sql2008R2。如下是涉及的配置過程。
A.基礎環境部署
1).首先安裝配置好活動目錄,並在DC上啓用證書服務
2).在DB 角色服務器安裝sql2008R2
3).在APP角色服務器安裝crm2011
B.爲ADFS服務申請證書,因爲是測試環境,證書的頒發都由DC完成,爲方便管理,建議申請通配符證書。
1). 在IIS管理器,建立一個證書請求,並以webserver模板建立一個friendly name爲 *.contoso.com的證書。
2). 將新頒發的證書導出,後續步驟須要在APP 角色服務器上使用到該證書。
C.在app配置證書並安裝ADFS2.0。
1).將導出的證書導入到APP中,計算機帳戶的我的證書和受信任的根證書的存儲路徑中都導入一份證書副本,不然將影響到ADFS在安裝過程當中識別正確的證書。
2).有點須要注意的是ADFS的安裝須要更改iis默認站點,因此在配置crm2011時,須要把crm2011安裝到一個新的站點,我選用的是:5555爲端口的一個新站點。
在iis管理器中爲默認站點啓用HTTPS並選中剛纔頒發的*.contoso.com 爲ssl證書,默認端口443。爲CRM2012 站點啓用SSL,並選*.contoso.com 爲ssl證書,在444端口偵聽ssl鏈接。
3).安裝ADFS.完成安裝後,打開配置配置嚮導,配置Federation server
4). 配置Federation server,由於使用通配符證書,須要爲Federation service指定一個名稱。在操做中我設置爲Fed.contoso.com
fed.contoso.com 將會是Federation service 的對外接口,在生產環境中須要配置DNS保證internet上的可訪問性。
D. 完成ADFS的安裝後,須要配置crm的claim-based authentication。
1)在配置claim-based authentication 以前須要啓用CRM2011的HTTPS,上面有個步驟是對IIS站點中的crm站點啓用HTTPS,這個步驟須要到Deployment manager中啓用HTTPS,如圖,能夠將圖中涉及到的名稱改成帶有公網域名信息的FQDN格式:
2)配置claim-based authentication 。這個過程將肯定Federation service 的URL。
注意圖中顯示的URL, 前半部分正是在安裝過程當中指定的federation service 名稱。能夠在IE整直接訪問這個URL,以肯定ADFS的安裝正確性。若是正確安裝ADFS,服務正常的話,能夠經過這個URL打開一個關於Federation service 的XML文件。
3)爲claim-based authentication 選擇證書,確認配置後便可應用設置。
E.確認ADFS證書的配置。經過ADFS管理器,能夠查看證書信息。
將會發現token-signing 和token-Decrypting 證書不受信任,能夠手動把它們添加爲首信任的證書
F. 配置CRM 2011 IFD。以下圖,正確填寫域名信息和申請的證書域名應一致。
提供外部認證的URL
覈實配置信息,並完成配置。
F。添加trust relay。這個步驟將crm2011 web站點服務添加爲其中的一個trust relay,和ADFS服務關聯起來。以下圖,須要提供上面步驟設置的IFD external access URL。
***這裏還有一個細節須要注意,因爲我在安裝CRM2011採用的是域帳號爲服務帳號,該服務帳號要求有ADFS服務證書的私鑰讀權限,不然在配置trust replay部分將會報錯,從URL導入數據時候會出現INTERNAL 500的錯誤。按照下圖更改權限。
選擇issuance authorization rules
覈實配置
G。在ADFS管理器的claim provider trusts中爲ACTIVE DIRECTORY 加入一條關於UPN的新claim rules。
以下圖加入一條UPN的rule
H。編輯Relaying party trusts 中的crm服務對應的3條claim rule。
1)分別添加UPN 和primary sid 相關的rule,這兩條有以Pass through or filter an incoming claim爲模板
2)添加一條以transform an incoming claim 爲模板添加一條將登陸名轉換爲內部用戶名的rule
I。完成以上工做後,重啓IIS,測試IFD
跳轉到ADFS服務,並由adfs提供登陸驗證
提交驗證後,ADFS和AD進行驗證,經過後打開CRM
本文出自 「我思故我在 」 博客,請務必保留此出處http://itseeker.blog.51cto.com/369078/564864 web