全部產品
Search
文件中心

Identity as a Service:ADFS 對接 SAML IdP 實踐

更新時間:May 23, 2026

將企業已有的 ADFS 作為 SAML 2.0 身份提供方(IdP)接入 IDaaS EIAM,可實現企業使用者通過單點登入(SSO)訪問 IDaaS 使用者門戶。本文介紹完整的對接配置流程。

前提條件

已部署 Microsoft Active Directory(AD)並已開通阿里雲 IDaaS EIAM 執行個體,且已擷取 IDaaS 管理主控台的存取權限。

步驟一:在 ADFS 建立 SAML 應用

部署 AD 認證服務和 Web 服務

添加認證服務和 Web 服務器角色

在伺服器管理員中,選擇右上方管理 > 添加角色和功能,進入添加角色和功能嚮導:

  1. 開始之前:勾選"預設情況下將跳過此頁",單擊下一步

  2. 安裝類型:選擇"基於角色或基於功能的安裝",單擊下一步

  3. 伺服器選擇:選擇"從伺服器集區中選擇伺服器",單擊下一步

  4. 伺服器角色:勾選"Active Directory 認證服務"和"Web 服務器(IIS)",單擊下一步

  5. 功能:勾選".NET Framework 功能",單擊下一步

  6. AD CS:單擊下一步

  7. AD CS > 角色服務:勾選"憑證授權單位"、"憑證授權單位網頁註冊"、"憑證註冊 Web 服務",單擊下一步

  8. AD CS > Web 服務器角色(IIS):單擊下一步

  9. AD CS > 角色服務:勾選"Web 服務器"、"安全性"、"常見 HTTP 功能"等,單擊下一步

  10. 確認:單擊安裝

  11. 安裝完成後,單擊關閉

配置 AD 認證服務

在伺服器管理員中,點擊右上方帶有驚嘆號的表徵圖,單擊配置目標伺服器上的 Active Directory 認證服務,進入 AD CS 配置安裝嚮導:

  1. 憑據:保持預設設定,單擊下一步

  2. 角色服務:勾選"憑證授權單位"和"憑證授權單位網頁註冊",單擊下一步

  3. 設定類型:選擇"企業 CA",單擊下一步

  4. CA 類型:選擇"根 CA",單擊下一步

  5. 私密金鑰:選擇"建立新的私密金鑰",單擊下一步

  6. 私密金鑰 > 加密

    • 加密提供者:RSA#Microsoft Software Key Storage Provider,密鑰長度 2048。

    • 雜湊演算法:SHA512。

    • 勾選"當 CA 訪問私密金鑰時,允許管理員互動操作"。

      單擊下一步

  7. 私密金鑰 > CA 名稱:保持預設設定,單擊下一步

  8. 私密金鑰 > 有效期間:輸入 5 年,單擊下一步

  9. 認證資料庫:按需修改路徑,單擊下一步

  10. 確認:單擊配置

  11. 配置完成後,單擊關閉

  12. 此時會彈出"是否配置其他角色服務"提示,暫不處理。先將網域系統管理員加入 IIS_IUSER 組:按 Win+S 搜尋"Active Directory 使用者和電腦",找到 IIS_IUSER,切換到"成員"頁,單擊"添加",輸入 administrator,單擊"檢查名稱"後單擊"確認"。

  13. 關閉 Active Directory 使用者和電腦管理工具,返迴向導繼續配置其他角色服務。

  14. 配置 AD CS 憑據,其餘步驟按引導並根據實際情況配置,以下選項需特別注意:

    • 角色服務:勾選"憑證註冊 Web 服務"。

    • CES 的 CA:勾選 CA 名稱。

    • CES 的身份類型:選擇 Windows 整合身份認證。

為 AD FS 申請認證

建立認證申請

  1. 開啟 IIS 管理器(Internet Information Services 管理器)。

  2. 如彈出"是否使用 Microsoft Web 平台以保持與最新組件的串連"提示,單擊

  3. 單擊"伺服器憑證",在右側操作欄單擊建立認證,填寫相關內容:密碼編譯服務提供者選擇"Microsoft RSA SChannel Cryptographic Provider",長度選擇 1024,選擇儲存位置後完成建立。

提交認證申請

  1. 開啟 IE 瀏覽器,訪問 http://localhost/certsrv/

  2. 在"選擇一個任務"模組,單擊申請認證 > 進階認證申請,選擇"使用 base64 編碼的 CMC 或 PKCS #10 檔案提交一個認證申請,或使用 base64 編碼的 PKCS #7 檔案續訂認證申請"。

  3. 將儲存的認證請求內容粘貼至"儲存的申請"框內,憑證範本選擇"Web 服務器",單擊提交

完成認證申請

  1. 回到 IIS 管理器,單擊完成認證申請

為 Default Web Site 綁定認證

  • 在 IIS 管理器中選擇 Default Web Site,按右鍵編輯綁定

  • 新增網站綁定:類型選擇 https,連接埠填寫 443,選擇對應的認證,單擊確定後關閉。

配置 AD FS 服務

安裝 AD FS 服務

  1. 在伺服器管理員中,點擊右上方帶有驚嘆號的表徵圖,單擊在此伺服器上配置同盟服務

  2. 歡迎:選擇"在同盟伺服器情境中建立第一個同盟伺服器"。

  3. 選擇使用者或服務賬戶:輸入 administrators,單擊"檢查名稱"後單擊"確定"。

  4. 指定資料庫:選擇"在此伺服器上使用 Windows 內部資料庫建立資料庫"。

  5. 按引導依次完成配置,完成後關閉嚮導。

  6. 如出現"嘗試設定 SPN 出錯"警告,需手動設定 SPN:

    1. 開啟伺服器管理員,單擊右上方工具,選擇Active Directory 使用者和電腦

    2. 建立服務帳號 fsadmin。

    3. 將服務帳號 fsadmin 加入Administrator 群組。

    4. 更新 AD FS 運行服務帳號:

      1. 開啟 AD FS 的屬性。

      2. 將服務登入帳號切換為 fsadmin。

      3. 輸入 fsadmin 賬戶密碼,單擊確認

      4. 重啟 AD FS 服務以使用新的服務登入帳號。

    5. 配置 SPN。開啟 Windows PowerShell,依次執行以下命令:

      setspn.exe -U -S http/dc.test.com fsadmin

      setspn.exe -L fsadmin

    6. 確認 SPN 設定成功。

擷取 FederationMetadata XML 檔案

  1. 在 DC 伺服器上開啟 IE 瀏覽器,訪問以下地址(FS 服務名稱替換為實際服務名稱):

    https://FS服務名稱/federationmetadata/2007-06/federationmetadata.xml

  2. 切換至相容性檢視。

  3. 將 FederationMetadata XML 檔案儲存到本地。

  4. 在本地電腦的 hosts 檔案中添加 FS 服務網域名稱到綁定 EIP 的解析記錄。

  5. 在本地瀏覽器中再次訪問上述 FederationMetadata URL,確認可以正常訪問並將 federationmetadata.xml 檔案儲存到本地。

步驟二:在 IDaaS 建立 SAML 身份提供方

  1. 進入 IDaaS EIAM 控制台,單擊 身份源 > 入方向 > 添加入方向,選擇 SAML 身份提供方,單擊添加

    image

  2. 在右側彈窗的绑定 SAML 身份提供方中填寫以下資訊:

    • 显示名称:該名稱為 SAML 身份提供方的名稱,是展示在登入頁中的登入方式名稱。

    • 登录配置:在 IdP Metadata 輸入框中輸入從步驟"在 IDaaS 建立 SAML 身份提供方"中儲存的 Metadata URL,單擊 解析 按鈕。系統將自動解析 XML 並擷取 IdP SSO地址IdP 唯一标识验签证书等資訊。

  3. 單擊 下一步,進入情境選擇頁面。

  4. 配置賬戶綁定情境,根據業務需要選擇以下情境能力,然後單擊 完成创建

    情境

    說明

    手动绑定账户

    通過 SAML 登入時,如果 SAML 賬戶未綁定 IDaaS 賬戶,使用者可以手動綁定。

    自动绑定账户

    開啟該功能後,使用者通過 SAML 登入時將進行判斷:如果 IDaaS 欄位與 SAML Response 中的 NameID 欄位的值相同,且賬戶無綁定關係,則自動綁定賬戶。

    自动创建用户

    通過 SAML 登入時,如果 SAML 賬戶未綁定 IDaaS 賬戶,可自動建立 IDaaS 賬戶。每次通過 SAML 登入都將更新賬戶資訊。

    自动更新信息

    通過 SAML 登入時,將根據欄位對應更新賬戶資訊。

    如果開啟了自动更新信息開關,將進入字段映射配置介面,配置參考SAML IdP 欄位對應

步驟三:在 ADFS 配置單點登入資訊

  1. 進入 IDaaS EIAM 控制台,單擊 身份源 > 身份提供方 > 入方向,單擊步驟二中建立的 SAML 身份提供方配置信息 按鈕,擷取SP 元数据公钥证书等。

  2. 添加 IDaaS 為可信 SAML Service Provider。

    1. 開啟 AD 伺服器,啟動伺服器管理員,開啟 AD FS 管理工具。

    2. 添加信賴方信任,啟動設定精靈。

    3. 在信賴方信任嚮導中,選擇資料來源模組為從檔案匯入有關信賴方的資料,單擊瀏覽上傳步驟二中下載的 FederationMetadata 檔案。

  3. 為 IDaaS 配置 SAML 斷言屬性:在信賴方信任中開啟編輯聲明規則對話方塊。

    1. 在添加轉換聲明規則嚮導中,配置 Active Directory 中的 Windows 賬戶名為 SAML 斷言中的 NameID。

    2. 配置其他屬性對應,例如郵箱的映射規則等。

    3. 配置顯示名稱轉換規則。

    4. 將 Email 和 DisplayName 映射到 IDaaS 賬戶,參考文檔SAML IdP 欄位對應

    說明

    在添加轉換聲明規則嚮導時,選擇規則類型為聲明規則模板以聲明方式發送 LDAP 特性;編輯規則中,特性儲存選擇 Active Directory。

  4. 設定 ADFS Assertion 和 Response 簽名。

    開啟 Windows PowerShell,輸入如下命令,將信任方名稱替換為上一步填入的實際信任方名稱:

    Get-AdfsRelyingPartyTrust -Name '信任方名稱' | Set-AdfsRelyingPartyTrust -SamlResponseSign MessageAndAssertion 

步驟四:驗證使用者登入流程

完成上述配置後,驗證 IDaaS 使用者登入流程是否正常。

  1. 訪問 IDaaS EIAM 使用者門戶,在其他登入方式中查看是否顯示 SAML 身份提供方 的登入選項。

  2. 單擊該登入選項,瀏覽器將跳轉至 ADFS 進行認證。

    • 如果 ADFS 帳號未登入,則出現 ADFS 登入頁面,登入完成後重新導向回 IDaaS。

    • 如果已登入,則直接重新導向回 IDaaS。

  3. 認證通過後,系統根據步驟二中配置的賬戶綁定情境選擇進行賬戶匹配。如果無法自動匹配到 IDaaS 使用者,可根據情境選擇配置,手動綁定賬戶或自動建立賬戶以完成登入。