本文為您提供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帳號中有許可權的資源。