Share via


範例:設定 SAML/WS-Fed 型識別提供者與 AD FS 的同盟

適用於:具有白色複選標記符號的綠色圓圈。員工員工租使用者外部租具有灰色 X 符號的白色圓圈。使用者(深入瞭解

注意

Microsoft Entra 外部 ID 中的直接同盟現在稱為 SAML/WS-Fed 識別提供者 (IdP) 同盟

本文說明如何使用 Active Directory 同盟服務 (AD FS) 設定 SAML/WS-Fed IdP 同盟作為 SAML 2.0 或 WS-Fed IdP。 若要支援同盟,必須在IdP上設定特定屬性和宣告。 為了說明如何設定同盟的IdP,我們使用 Active Directory 同盟服務 (AD FS) 作為範例。 我們會示範如何將AD FS設定為SAML IdP和WS-Fed IdP。

注意

本文說明如何為 SAML 和 WS-Fed 設定 AD FS,以取得圖例目的。 針對IdP為AD FS的同盟整合,我們建議使用WS-Fed 作為通訊協定。

設定 SAML 2.0 同盟的 AD FS

Microsoft Entra B2B 可以設定為與使用 SAML 通訊協定的 IdP 同盟,其中包含下面所列的特定需求。 為了說明 SAML 設定步驟,本節說明如何設定 SAML 2.0 的 AD FS。

若要設定同盟,必須在來自IdP的SAML 2.0回應中收到下列屬性。 這定這些屬性的方式可以是連結至線上安全性權杖服務 XML 檔案,或手動輸入。 建立測試 AD FS 實例中的步驟 12 說明如何尋找 AD FS 端點,或如何產生元數據 URL,例如 https://fs.iga.azure-test.net/federationmetadata/2007-06/federationmetadata.xml

屬性
AssertionConsumerService https://login.microsoftonline.com/login.srf
適用對象 urn:federation:MicrosoftOnline
Issuer 合作夥伴 IdP 的簽發者 URI,例如 http://www.example.com/exk10l6w90DHM0yi...

必須在 IdP 發出的 SAML 2.0 令牌中設定下列宣告:

屬性
NameID Format urn:oasis:names:tc:SAML:2.0:nameid-format:persistent
emailaddress http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress

下一節說明如何使用AD FS設定必要的屬性和宣告,作為SAML 2.0 IdP的範例。

開始之前

開始此程式之前,必須先設定並正常運作 AD FS 伺服器。

新增宣告描述

  1. 在您的 AD FS 伺服器上,選取 [工具>AD FS 管理]。

  2. 在瀏覽窗格中,選取 [服務>宣告描述]。

  3. 在 [動作] 底下,選取 [新增宣告描述]。

  4. 在 [ 新增宣告描述 ] 視窗中,指定下列值:

    • 顯示名稱:永續性標識碼
    • 宣告識別碼urn:oasis:names:tc:SAML:2.0:nameid-format:persistent
    • 選取 [在同盟元數據中發佈此宣告描述] 複選框 ,作為此同盟服務可接受的宣告類型。
    • 選取 [在同盟元數據中發佈此宣告描述] 複選框 ,作為此同盟服務可以傳送的宣告類型。
  5. 選取 [確定]

新增信賴憑證者信任

  1. 在 AD FS 伺服器上,移至 [工具>AD FS 管理]。

  2. 在瀏覽窗格中,選取 [ 信賴憑證者信任]。

  3. 在 [動作] 底下,選取 [新增信賴憑證者信任]。

  4. 在 [ 新增信賴憑證者信任 精靈] 中,選取 [ 宣告感知],然後選取 [ 啟動]。

  5. 在 [選取數據源] 區段中,選取 [匯入在線或局域網絡上發佈之信賴憑證者的相關數據] 複選框。 輸入此同盟元數據 URL: https://nexus.microsoftonline-p.com/federationmetadata/saml20/federationmetadata.xml。 選取 [下一步]。

  6. 將其他設定保留在其預設選項中。 繼續選取 [下一步],最後選取 [關閉 ] 以關閉精靈。

  7. 在AD FS管理中,於 [信賴憑證者信任] 底下,以滑鼠右鍵按兩下您剛才建立的信賴憑證者信任,然後選取 [屬性]。

  8. 在 [監視] 索引標籤中,取消核取 [監視信賴憑證者] 方塊

  9. 在 [標識符] 索引標籤中,使用服務夥伴 Microsoft Entra 租使用者的租使用者識別碼,在 [信賴憑證者標識符] 文本框中輸入 https://login.microsoftonline.com/<tenant ID>/ 。 選取 [新增]。

    注意

    請務必在租用戶標識碼後面包含斜線 (/),例如: https://login.microsoftonline.com/aaaabbbb-0000-cccc-1111-dddd2222eeee/

  10. 選取 [確定]。

建立宣告規則

  1. 以滑鼠右鍵按下您建立的信賴憑證者信任,然後選取 [ 編輯宣告發行原則]。

  2. 在 [ 編輯宣告規則 精靈] 中,選取 [ 新增規則]。

  3. [宣告規則範本] 中,選取 [ 將 LDAP 屬性傳送為宣告]。

  4. 在 [ 設定宣告規則] 中,指定下列值:

    • 宣告規則名稱:電子郵件宣告規則
    • 屬性存放區:Active Directory
    • LDAP 屬性:電子郵件位址
    • 外寄宣告類型:電子郵件位址
  5. 選取 [完成]。

  6. 選取新增規則

  7. [宣告規則範本] 中,選取 [轉換傳入宣告],然後選取 [ 下一步]。

  8. 在 [ 設定宣告規則] 中,指定下列值:

    • 宣告規則名稱:電子郵件轉換規則
    • 傳入宣告類型:電子郵件位址
    • 傳出宣告類型:名稱識別碼
    • 傳出名稱標識碼格式:永續性標識符
    • 選擇傳遞所有宣告值
  9. 選取 [完成]。

  10. [ 編輯宣告規則 ] 窗格會顯示新的規則。 選取套用

  11. 選取 [確定]。 AD FS 伺服器現在已設定為使用 SAML 2.0 通訊協議進行同盟。

設定 WS-Fed 同盟的 AD FS

Microsoft Entra B2B 可以設定為與使用 WS-Fed 通訊協定的 IdP 同盟,並符合下面所列的特定需求。 目前,這兩個 WS-Fed 提供者已測試與 Microsoft Entra 外部 ID 的相容性,包括 AD FS 和 Shibboleth。 在這裡,我們使用 Active Directory 同盟服務 (AD FS) 作為 WS-Fed IdP 的範例。 如需在 WS Fed 相容提供者與 Microsoft Entra 外部 ID 之間建立信賴憑證者信任的詳細資訊,請下載 Microsoft Entra 識別提供者相容性檔。

若要設定同盟,必須在IdP的 WS-Fed 訊息中接收下列屬性。 這定這些屬性的方式可以是連結至線上安全性權杖服務 XML 檔案,或手動輸入。 建立測試 AD FS 實例中的步驟 12 說明如何尋找 AD FS 端點,或如何產生元數據 URL,例如 https://fs.iga.azure-test.net/federationmetadata/2007-06/federationmetadata.xml

屬性
PassiveRequestorEndpoint https://login.microsoftonline.com/login.srf
適用對象 urn:federation:MicrosoftOnline
Issuer 合作夥伴 IdP 的簽發者 URI,例如 http://www.example.com/exk10l6w90DHM0yi...

IdP 所發行 WS-同盟權杖的必要屬性為:

屬性
ImmutableID http://schemas.microsoft.com/LiveID/Federation/2008/05/ImmutableID
emailaddress http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress

下一節說明如何使用AD FS來設定必要的屬性和宣告,作為WS-Fed IdP的範例。

開始之前

開始此程式之前,必須先設定並正常運作 AD FS 伺服器。

新增信賴憑證者信任

  1. 在 AD FS 伺服器上,移至 [工具>AD FS 管理]。

  2. 在瀏覽窗格中,選取 [信任關係>信賴憑證者信任]。

  3. 在 [動作] 底下,選取 [新增信賴憑證者信任]。

  4. 在 [新增信賴憑證者信任精靈] 中,選取 [ 宣告感知],然後選取 [啟動]。

  5. 在 [ 選取數據源] 區段中,選取 [ 手動輸入信賴憑證者的相關數據],然後選取 [ 下一步]。

  6. 在 [ 指定顯示名稱 ] 頁面中,於 [顯示名稱] 中 輸入名稱。 您可以選擇性地在 [附注 ] 區段中輸入此信賴憑證者信任的描述。 選取 [下一步]。

  7. 或者,在 [ 設定憑證 ] 頁面中,如果您有令牌加密憑證,請選取 [ 流覽 ] 以尋找憑證檔案。 選取 [下一步]。

  8. 在 [ 設定 URL] 頁面中,選取 [ 啟用 WS-Federation 被動通訊協議 的支援] 複選框。 在 [信賴憑證者 WS-Federation 被動通訊協定 URL] 底下,輸入下列 URL: https://login.microsoftonline.com/login.srf

  9. 選取 [下一步]。

  10. 在 [ 設定標識符] 頁面中,輸入下列 URL,然後選取 [ 新增]。 在第二個 URL 中,輸入服務夥伴 Microsoft Entra 租使用者的租用戶識別碼。

    • urn:federation:MicrosoftOnline
    • https://login.microsoftonline.com/<tenant ID>/

    注意

    請務必在租用戶標識碼後面包含斜線 (/),例如: https://login.microsoftonline.com/aaaabbbb-0000-cccc-1111-dddd2222eeee/

  11. 選取 [下一步]。

  12. 在 [選擇 存取控制 原則] 頁面中,選取原則,然後選取 [下一步]。

  13. 在 [ 準備新增信任 ] 頁面中,檢閱設定,然後選取 [下一步 ] 以儲存您的信賴憑證者信任資訊。

  14. 在 [ 完成] 頁面中,選取 [ 關閉]。 選取 [信賴憑證者信任],然後選取 [ 編輯宣告發行原則]。

建立宣告規則

  1. 選取您剛才建立的信賴憑證者信任,然後選取 [ 編輯宣告發行原則]。

  2. 選取新增規則

  3. 選取 [ 將 LDAP 屬性傳送為宣告],然後選取 [ 下一步]。

  4. 在 [ 設定宣告規則] 中,指定下列值:

    • 宣告規則名稱:電子郵件宣告規則
    • 屬性存放區:Active Directory
    • LDAP 屬性:電子郵件位址
    • 外寄宣告類型:電子郵件位址
  5. 選取 [完成]。

  6. 在相同的 [編輯宣告規則 ] 精靈中,選取 [ 新增規則]。

  7. 選取 [ 使用自定義規則傳送宣告],然後選取 [ 下一步]。

  8. 在 [ 設定宣告規則] 中,指定下列值:

    • 宣告規則名稱:發出不可變標識碼
    • 自訂規則c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname"] => issue(store = "Active Directory", types = ("http://schemas.microsoft.com/LiveID/Federation/2008/05/ImmutableID"), query = "samAccountName={0};objectGUID;{1}", param = regexreplace(c.Value, "(?<domain>[^\\]+)\\(?<user>.+)", "${user}"), param = c.Value);
  9. 選取 [完成]。

  10. 選取 [確定]。 AD FS 伺服器現在已設定為使用 WS-Fed 進行同盟。

下一步

接下來,您可以在 Azure 入口網站 或使用 Microsoft Graph API,在 Microsoft Entra 外部 ID 中設定 SAML/WS-Fed IdP 同盟。