現在越來越多的企業使用ADFS作為單點登錄,我希望今天的內容能幫助大家了解如何配置ADFS和SharePoint 2013。安裝配置SharePoint2013這塊就不做具體描述了,今天主要講一下怎么安裝配置ADFS3.0。
1. ADFS安裝
- 在ADFS服務器上,以域管理員Administrator身份登錄,以管理員身份啟動Powershell,運行命令“Install-WindowsFeature -name ADFS-Federation”安裝ADFS Windows角色功能。
- 啟動服務器管理器,單擊右上角黃色旗幟
3. 單擊“在此服務器上配置聯合身份驗證服務”
4. 單擊“下一步”
4. 單擊“下一步”
5. 單擊“導入”
6. 選擇在2.5中導出的證書,單擊“打開”
7. 輸入證書的導出時設置的密碼
8. 輸入下述信息:
- 聯合身份驗證服務名稱:ADFS.***.COM –注意需要在DNS中建立相應的A記錄
- 聯合身份驗證服務名稱:*** Test –該名稱任意,會顯示在登錄頁面上
單擊“下一步”
9. 單擊“選擇”
10. 輸入ADFS服務賬戶名稱,單擊“檢查名稱”后,單擊“確定”
11. 輸入ADFS服務的密碼,單擊“下一步”
12. 單擊“下一步”
13. 單擊“下一步”
14. 單擊“配置”
15. 單擊“關閉”完成配置
16. 啟動瀏覽器,在地址欄輸入“https://adfs.****.com/federationmetadata/2007-06/federationmetadata.xml “ 回車,正確顯示ADFS metadata頁面,證明ADFS服務已經正確配置。
2. ADFS端配置
2.1 導出令牌簽名證書
在服務器管理中,單擊“工具-ADFS管理”啟動ADFS管理工具
在左邊導航欄,依次選擇“服務-證書”,然后選擇“令牌簽名”,在右邊操作欄,選擇查看證書
單擊“復制到文件”
單擊“下一步”
單擊下一步
指定證書存放位置和文件名,單擊“下一步”
單擊“完成”,注意該證書在配置SharePoint時需要。
2.2 創建信賴方信任
在ADFS 管理工具,瀏覽到“信任關系-信賴方信任”,在右邊操作欄,選擇“添加信賴方信任”啟動向導
單擊“啟動”
選擇“手動輸入有關信賴方的數據”,單擊下一步
輸入信賴方顯示名稱和注釋,用於在ADFS中標識信賴方,不可重復,單擊“下一步”
默認是用ADFS配置文件,單擊“下一步”
單擊“下一步”
選擇“啟用對WS-Federation被動協議的支持”(對於微軟產品和.NET開發的應用,都可以選擇該協議,對於Java等其他異構系統,請選擇“啟用對SAML2.0 WEB SSO 協議的支持”),輸入“信賴方WS-Federation被動協議URL”,在這里測試環境的SharePoint的URL:https://protal**.***.com/_trust/, 其它請輸入接受ADFS認證令牌的入口URL地址,單擊“下一步”
刪除已有的信賴方標識符,輸入“urn:test:sp2013”最為SharePoint測試環境的信賴方標識符,單擊“添加”,請記錄該信賴方標識符,在配置SharePoint時會用到,
單擊“下一步”
單擊“下一步”
單擊“下一步”
單擊“下一步”
單擊“關閉”
單擊“添加規則”
單擊“下一步”
輸入聲明規則名稱,選擇“Active directory”作為特性存儲,在LDAP特性到傳出聲明類型映射:
按下圖設置UPN和Windows賬戶的映射,左邊是是Active Drectory的屬性,右邊是ADFS令牌中包含的屬性,可根據需要設置多個屬性。單擊“完成”.
單擊“確定”完成ADFS端的配置
注釋:
對於SharePoint每個Web Application都需要在ADFS端配置一個信賴方信任
對於其它業務應用,每個應用應該配置在ADFS端配置一個信賴方信任
3. SharePoint ADFS 配置
3.1 導入Web站點SSL證書
運行“inetmgr.exe”,啟動Internet Information Service (IIS)管理器
雙擊“服務器證書”
在右邊操作欄,單擊“導入”
輸入證書文件路徑,證書密碼,清除“允許導出此證書”,單擊確定
確認證書已經導入
注釋:證書導入也可以通過MMC中證書管理工具導入。
3.2 創建 SharePoint 信任的身份令牌頒發者
在SharePoint 服務器上,以管理員身份啟動SharePoint 命令行管理程序:
序號 |
命令說明 |
執行命令 |
1 |
設置ADFS簽名證書變量,此處Tokensign.cer證書是從ADFS服務器上導出的令牌簽名證書 |
$cert = New-Object System.Security.Cryptography.x509Certificates.x509Certificate2 (“\\ad-test\Software\Tool\Tokensign.cer") |
2 |
將令牌簽名證書導入到SharePoint的信任區 |
New-SPTrustedRootAuthority -Name "Token Signing Cert" -Certificate $cert |
3 |
設置UPN聲明變量
|
$upnClaimMap = New-SPClaimTypeMapping -IncomingClaimType "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn" -IncomingClaimTypeDisplayName "UPN" -SameAsIncoming
|
|
設置通用名聲明變量
|
$cnNameMap = New-SPClaimTypeMapping -IncomingClaimType "http://schemas.xmlsoap.org/claims/CommonName" -IncomingClaimTypeDisplayName "Display Name" –SameAsIncoming
|
4 |
設置“realm”聲明變量,此處一定要與ADFS信賴方信任配置的“信賴方標識符”一致,包括大小寫
|
$realm = “urn:Dev2:SP2013”
|
5 |
設置登錄URL變量,此處為ADFS登錄的頁URL |
$signInURL = “https://adfs.****.com/adfs/ls” |
6 |
|
$ap = New-SPTrustedIdentityTokenIssuer -Name "ADFS Web SSO for SharePoint" -description “ADFS Web SSO for SharePoint" -realm $realm -ImportTrustCertificate $cert -ClaimsMappings $upnClaimMap, $cnNameMap -SignInURL $signInURL -IdentifierClaim $upnClaimMap.InputClaimType
|
7 |
|
Get-SPTrustedIdentityTokenIssuer |
3.3 配置SharePoint使用ADFS SSO登錄認證
啟動SharePoint管理中心,單擊“管理Web應用程序”
選中要配置使用ADFS登錄的Web應用程序,單擊“身份驗證提供程序”
單擊“默認”
選中“信任的身份提供程序”和“SAML Provider for SharePoint”,單擊“保存”
3.4 更改站點集管理員賬戶使用ADFS認證識別的賬戶名
由於使用ADFS認證后,認證授權程序不能正確識別使用傳統的域名\賬戶形式的授權,需要更改成UPN的形式,因此需要更改站點集管理員為UPN形式。
啟動SharePoint管理中心,單擊應用程序管理,選擇更改網站集管理員
選擇正確的網站集,參考下圖,更改網站集管理員為UPN形式。
3.5 配置第二個Web Application使用ADFS認證
- 創建Web Application及站點集,這里假定Web Application的URL是https://test02.test.com
- 按照5.2步驟創建信賴方信任,並記下信賴方信任標識符,這里假定是urn:test02:sp2013
- 啟動SharePoint 命令行窗口,執行下面的命令
$ap = Get-SPTrustedIdentityTokenIssuer
$uri = "https://test02.test.com"
$id = "urn:test02:sp2013"
$ap.ProviderRealms.Add($uri, $id)
$ap.update()
如果回滾該操作,執行面命令:
$ap = Get-SPTrustedIdentityTokenIssuer
$uri = "https://test02.test.com"
$ap.ProviderRealms.Remove($uri)
$ap.update()
- 按照3.3和3.4步驟配置使用ADFS的基於聲明的登錄和更改站點集管理員賬戶為UPN形式。
- 在測試前端服務器上,啟動瀏覽器,輸入該地址https://portal.test.com/,回車,選擇”SAML Provider for SharePoint”
1.6 測試ADFS登錄
輸入有權限的用戶名和密碼,單擊“登錄”
登錄完成
這樣我們的ADFS與SharePoint的登錄配置完成了!