AD FS與云SSO進行單點登錄的示例
本文為您提供AD FS(Active Directory Federation Service)與云SSO進行單點登錄(SSO登錄)的示例。
背景信息
假設企業使用Active Directory(AD)進行本地用戶管理,且已在阿里云資源目錄(RD)中搭建了多賬號體系結構。企業希望經過配置,使AD的用戶通過SSO登錄的方式直接訪問資源目錄(RD)指定成員賬號中的指定資源。
本文以在Windows Server 2012 R2 ECS實例上搭建的AD FS為例,為您介紹如何配置AD FS與阿里云,從而實現SSO登錄。其中,AD FS是身份提供商(IdP),阿里云云SSO是服務提供商(SP)。
準備工作
配置SSO登錄前,您需要完成以下工作:
在Windows Server 2012 R2 ECS實例上搭建以下服務器。
Active Directory域服務(AD DS):提供對域用戶和域設備等對象的創建、查詢和修改等功能。
Active Directory Federation Service(AD FS):提供配置SSO信賴方的功能,并對配置好的信賴方提供SSO認證。
重要本文中涉及到Microsoft Active Directory配置的部分屬于建議,僅用于幫助理解阿里云SSO登錄的端到端配置流程,阿里云不提供Microsoft Active Directory配置的咨詢服務。
在云SSO創建用戶并完成權限配置。
在云SSO創建同名用戶。
具體操作,請參見創建用戶。
說明用戶名會用于用戶登錄。當您進行SSO登錄時,云SSO的用戶名應該與AD FS中用于SSO登錄的字段保持一致。更多信息,請參見步驟三:在AD FS配置SAML斷言屬性。
在云SSO創建訪問配置,定義權限策略。
具體操作,請參見創建訪問配置。
為用戶在RD賬號上授權。
具體操作,請參見在RD賬號上授權。
步驟一:在云SSO獲取服務提供商元數據
登錄云SSO控制臺。
在左側導航欄,單擊設置。
在SSO登錄區域,下載服務提供商(SP)元數據文檔。
步驟二:在AD FS將阿里云配置為信賴方
登錄部署了AD FS的ECS實例。
打開服務器管理器。
在左側導航欄,單擊AD FS。
在右上角的菜單欄,選擇 。
在AD FS管理工具中,添加阿里云為信賴方。
在左側導航欄,鼠標右鍵單擊信賴方信任,然后單擊添加信賴方信任。
在添加信賴方信任向導窗口,選擇聲明感知,然后單擊啟動。
選擇從文件導入有關信賴方的數據,然后單擊瀏覽,導入從步驟一:在云SSO獲取服務提供商元數據獲取的元數據文檔,最后單擊下一步。
輸入自定義的信賴方顯示名稱,然后單擊下一步。
本示例中使用名稱CloudSSODemo。
根據您的需要,選擇訪問控制策略,然后單擊下一步。
本示例中選擇允許所有人。
檢查配置信息,然后單擊下一步。
單擊關閉。
步驟三:在AD FS配置SAML斷言屬性
在本示例中,為了使阿里云能使用SAML響應定位到正確的云SSO用戶,SAML斷言中的NameID
字段取值為AD用戶的UPN(User Principal Name)。
在信賴方CloudSSODemo上,鼠標右鍵單擊編輯聲明頒發策略。
單擊添加規則。
說明頒發轉換規則(Issuance Transform Rules)是指如何將一個已知的用戶屬性,經過轉換后頒發為SAML斷言中的屬性。由于您要將AD FS中的用戶UPN頒發為
NameID
,因此需要添加一個新的規則。在添加轉換聲明規則向導窗口,選擇聲明規則模板為轉換傳入聲明,然后單擊下一步。
配置聲明信息。
輸入自定義的聲明規則名稱。
在傳入聲明類型下拉列表,選擇UPN。
在傳出聲明類型下拉列表,選擇名稱ID。
在傳出聲明ID格式下拉列表,選擇電子郵件。
選擇傳遞所有聲明值。
單擊完成。
單擊確定。
步驟四:在AD FS獲取身份提供商元數據
在部署了AD FS的ECS實例中,訪問https://<ADFS-server>/federationmetadata/2007-06/federationmetadata.xml
,獲取身份提供商(IdP)元數據文檔。
<ADFS-server>是AD FS服務器域名或IP地址。
步驟五:在云SSO啟用SSO登錄
在云SSO的左側導航欄,單擊設置。
在SSO登錄區域,單擊配置身份提供商信息。
在配置身份提供商信息對話框,選擇上傳元數據文檔。
單擊上傳文件,上傳從步驟四:在AD FS獲取身份提供商元數據獲取的IdP元數據文檔。
說明如果元數據文檔超過大小限制,您可以嘗試刪除
<fed:ClaimTypesRequested>
和<fed:ClaimTypesOffered>
中的所有內容。打開SSO登錄開關,啟用SSO登錄。
說明啟用SSO登錄后,用戶名和密碼登錄將自動禁用,即云SSO用戶將不能通過用戶名和密碼登錄。而且,SSO登錄是一個全局功能,啟用后,所有用戶都需要SSO登錄。
驗證結果
完成上述配置后,您可以從阿里云或AD FS發起SSO登錄。
從阿里云發起SSO登錄
在云SSO控制臺的概覽頁,復制用戶登錄地址。
使用新的瀏覽器打開復制的用戶登錄地址。
單擊跳轉,系統會自動跳轉到AD FS的登錄頁面。
使用AD用戶的用戶名和密碼登錄。
系統將自動SSO登錄到下圖所示的云SSO用戶門戶。
在以RAM角色登錄頁簽,單擊目標RD賬號權限列的顯示詳情。
在權限面板,單擊目標權限操作列的登錄。
訪問RD賬號中有權限的資源。
從AD FS發起SSO登錄
登錄AD FS SSO登錄門戶。
SSO登錄門戶地址為
https://<ADFS-server>/adfs/ls/IdpInitiatedSignOn.aspx
。說明<ADFS-server>是AD FS服務器域名或IP地址。
如果SSO登錄門戶頁面不可用,您可以通過PowerShell的命令
Set-AdfsProperties -EnableIdpInitiatedSignonPage $True
開啟該頁面。
選擇站點為步驟二:在AD FS將阿里云配置為信賴方創建的CloudSSODemo,然后單擊登錄。
輸入AD用戶的用戶名和密碼,然后單擊登錄。
系統將自動SSO登錄到下圖所示的云SSO用戶門戶。
在以RAM角色登錄頁簽,單擊目標RD賬號權限列的顯示詳情。
在權限面板,單擊目標權限操作列的登錄。
訪問RD賬號中有權限的資源。