共用方式為


範例:設定 SAML/WS-Fed IdP 同盟與 AD FS 進行 B2B 共同作業

適用於具有白色核取記號的綠色圓圈。 員工租用戶 具有灰色 X 符號的白色圓圈。 外部租用戶 (深入了解)

注意

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

本文說明如何使用 Active Directory 同盟服務 (AD FS) 作為 SAML 2.0 或 WS-Fed IdP,來設定 SAML/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 同盟,但有下列特定需求。 目前已通過 Microsoft Entra 外部 ID 相容性測試的兩個 WS-Fed 提供者包括 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-同盟被動式通訊協定的支援] 核取方塊。 在 [信賴憑證者 WS-同盟被動通訊協定 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 同盟。