全部產品
Search
文件中心

CloudSSO:AD FS與雲SSO進行單點登入的樣本

更新時間:Jul 13, 2024

本文為您提供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登入前,您需要完成以下工作:

  1. 在Windows Server 2012 R2 ECS執行個體上搭建以下伺服器。

    • Active Directory網域服務(AD DS):提供對域使用者和域裝置等對象的建立、查詢和修改等功能。

    • Active Directory Federation Service(AD FS):提供配置SSO信賴方的功能,並對配置好的信賴方提供SSO認證。

      重要

      本文中涉及到Microsoft Active Directory配置的部分屬於建議,僅用於協助理解阿里雲SSO登入的端到端配置流程,阿里雲不提供Microsoft Active Directory配置的諮詢服務。

  2. 在雲SSO建立使用者並完成許可權配置。

    1. 在雲SSO建立同名使用者。

      具體操作,請參見建立使用者

      說明

      使用者名稱會用於使用者登入。當您進行SSO登入時,雲SSO的使用者名稱應該與AD FS中用於SSO登入的欄位保持一致。更多資訊,請參見步驟三:在AD FS配置SAML斷言屬性

    2. 在雲SSO建立訪問配置,定義權限原則。

      具體操作,請參見建立訪問配置

    3. 為使用者在RD帳號上授權。

      具體操作,請參見在RD帳號上授權

步驟一:在雲SSO擷取服務提供者中繼資料

  1. 登入雲SSO控制台

  2. 在左側導覽列,單擊設定

  3. SSO登入地區,下載服務提供者(SP)中繼資料文檔。

步驟二:在AD FS將阿里雲配置為信賴方

  1. 登入部署了AD FS的ECS執行個體。

  2. 開啟伺服器管理員

  3. 在左側導覽列,單擊AD FS

  4. 在右上方的功能表列,選擇工具 > AD FS管理

  5. AD FS管理工具中,添加阿里雲為信賴方。

    1. 在左側導覽列,滑鼠右鍵單擊信賴方信任,然後單擊添加信賴方信任

    2. 添加信賴方信任嚮導視窗,選擇聲明感知,然後單擊啟動

    3. 選擇從檔案匯入有關信賴方的資料,然後單擊瀏覽,匯入從步驟一:在雲SSO擷取服務提供者中繼資料擷取的中繼資料文檔,最後單擊下一步

    4. 輸入自訂的信賴方顯示名稱,然後單擊下一步

      本樣本中使用名稱CloudSSODemo。

    5. 根據您的需要,選擇存取控制策略,然後單擊下一步

      本樣本中選擇允許所有人

    6. 檢查配置資訊,然後單擊下一步

    7. 單擊關閉

步驟三:在AD FS配置SAML斷言屬性

在本樣本中,為了使阿里雲能使用SAML響應定位到正確的雲SSO使用者,SAML斷言中的NameID欄位取值為AD使用者的UPN(User Principal Name)。

  1. 在信賴方CloudSSODemo上,滑鼠右鍵單擊編輯聲明頒發策略

  2. 單擊添加規則

    說明

    頒發轉換規則(Issuance Transform Rules)是指如何將一個已知的使用者屬性,經過轉換後頒發為SAML斷言中的屬性。由於您要將AD FS中的使用者UPN頒發為NameID,因此需要添加一個新的規則。

  3. 添加轉換聲明規則嚮導視窗,選擇聲明規則模板轉換傳入聲明,然後單擊下一步

  4. 配置聲明資訊。

    AD FS屬性對應

    1. 輸入自訂的聲明規則名稱。

    2. 傳入宣告類型下拉式清單,選擇UPN

    3. 傳出宣告類型下拉式清單,選擇名稱ID

    4. 傳出聲明ID格式下拉式清單,選擇電子郵件

    5. 選擇傳遞所有聲明值

    6. 單擊完成

  5. 單擊確定

步驟四:在AD FS擷取身份供應商中繼資料

在部署了AD FS的ECS執行個體中,訪問https://<ADFS-server>/federationmetadata/2007-06/federationmetadata.xml,擷取身份供應商(IdP)中繼資料文檔。

說明

<ADFS-server>是AD FS伺服器網域名稱或IP地址。

步驟五:在雲SSO啟用SSO登入

  1. 在雲SSO的左側導覽列,單擊設定

  2. SSO登入地區,單擊配置身份供應商資訊

  3. 配置身份供應商資訊對話方塊,選擇上傳中繼資料文檔

  4. 單擊上傳檔案,上傳從步驟四:在AD FS擷取身份供應商中繼資料擷取的IdP中繼資料文檔。

    說明

    如果中繼資料文檔超過大小限制,您可以嘗試刪除<fed:ClaimTypesRequested><fed:ClaimTypesOffered>中的所有內容。

  5. 開啟SSO登入開關,啟用SSO登入。

    說明

    啟用SSO登入後,使用者名稱和密碼登入將自動禁用,即雲SSO使用者將不能通過使用者名稱和密碼登入。而且,SSO登入是一個全域功能,啟用後,所有使用者都需要SSO登入。

驗證結果

完成上述配置後,您可以從阿里雲或AD FS發起SSO登入。

  • 從阿里雲發起SSO登入

    1. 雲SSO控制台概覽頁,複製使用者登入地址。

    2. 使用新的瀏覽器開啟複製的使用者登入地址。

    3. 單擊跳轉,系統會自動跳轉到AD FS的登入頁面。雲SSO登入跳轉

    4. 使用AD使用者的使用者名稱和密碼登入。

      系統將自動SSO登入到下圖所示的雲SSO使用者門戶。

    5. 以RAM角色登入頁簽,單擊目標RD帳號許可權列的顯示詳情

      RD帳號列表

    6. 在許可權面板,單擊目標許可權操作列的登入

    7. 訪問RD帳號中有許可權的資源。

  • 從AD FS發起SSO登入

    1. 登入AD FS SSO登入門戶。

      SSO登入門戶地址為https://<ADFS-server>/adfs/ls/IdpInitiatedSignOn.aspx

      說明
      • <ADFS-server>是AD FS伺服器網域名稱或IP地址。

      • 如果SSO登入門戶頁面不可用,您可以通過PowerShell的命令Set-AdfsProperties -EnableIdpInitiatedSignonPage $True開啟該頁面。

    2. 選擇網站為步驟二:在AD FS將阿里雲配置為信賴方建立的CloudSSODemo,然後單擊登入

    3. 輸入AD使用者的使用者名稱和密碼,然後單擊登入

      系統將自動SSO登入到下圖所示的雲SSO使用者門戶。

    4. 以RAM角色登入頁簽,單擊目標RD帳號許可權列的顯示詳情

      RD帳號列表

    5. 在許可權面板,單擊目標許可權操作列的登入

    6. 訪問RD帳號中有許可權的資源。