設定識別提供者

已完成

直接同盟現在稱為 SAML/WS-Fed 識別提供者 (IdP) 同盟。 您可以針對其識別提供者 (IdP) 可支援 安全性聲明標記語言 (SAML) 2.0 或 WS-同盟 (WS-Fed) 通訊協定的任何組織來設定同盟。 在設定與合作夥伴 IdP 的 SAML/WS-Fed IdP 同盟時,來自該網域的新來賓使用者可以使用其由 IdP 管理的自有組織帳戶登入您的 Microsoft Entra 租用戶,並開始與您共同作業。 來賓使用者不需要建立個別的 Microsoft Entra 帳戶。

來賓使用者何時向 SAML/WS-Fed IdP 同盟進行驗證?

設定與組織的 SAML/WS-Fed IdP 同盟之後,您邀請的任何新來賓使用者都會使用該 SAML/WS-Fed IdP 進行驗證。 請務必注意,若來賓使用者早已兌換您所提出的邀請,則設定同盟並不會變更其驗證方法。 以下列出一些範例:

  • 來賓使用者已從您兌換邀請,然後稍後您與組織的 SAML/WS-Fed IdP 設定同盟。 在您設定同盟之前,這些來賓使用者會繼續使用他們所使用的相同驗證方法。
  • 您設定與組織的 SAML/WS-Fed IdP 同盟,並邀請來賓使用者,然後合作夥伴組織稍後移至 Microsoft Entra ID。 只要租用戶中有同盟原則,已兌換邀請的來賓使用者就會繼續使用同盟 SAML/WS-Fed IdP。
  • 您可以刪除與組織的 SAML/WS-Fed IdP 同盟。 目前使用 SAML/WS-Fed IdP 的任何來賓使用者都無法登入。

在上述案例中,您可以藉由重設其兌換狀態來更新來賓使用者的驗證方法。 SAML/WS-Fed IdP 同盟會繫結至網域命名空間,例如 contoso.com 與 fabrikam.com。 當管理員建立與 AD FS 或協力廠商 IdP 的同盟時,組織的一或多個網域命名空間與這些 Idp 產生關聯。

終端使用者體驗

有了 SAML/WS-Fed 同盟,來賓使用者可以使用自己的組織帳戶來登入 Microsoft Entra 租用戶。 當使用者在存取共用資源並收到登入提示時,系統會將他們重新導向至其 IdP。 成功登入之後,使用者會返回 Microsoft Entra ID 以存取資源。 如果 Microsoft Entra 工作階段過期或變成無效,且同盟 IdP 已啟用 SSO,則使用者會遇到 SSO。 如果同盟使用者的工作階段有效,則不會提示使用者再次登入。 否則,系統會將使用者重新導向至其 IdP 以進行登入。

安全性聲明標記語言 2.0 設定

在滿足以下特定需求的情況下,您可以設定 Microsoft Entra B2B 以與使用 SAML 通訊協定的識別提供者同盟。

注意

直接同盟的目標網域不得為 Microsoft Entra ID 中已驗證 DNS 的網域。

必要安全性聲明標記語言 2.0 屬性和宣告

下表顯示針對特定屬性與宣告必須設定於協力廠商識別提供者的需求。 若要設定直接同盟,下列屬性必須從識別提供者在 SAML 2.0 回應中接收。 這定這些屬性的方式可以是連結至線上安全性權杖服務 XML 檔案,或手動輸入。

IdP 中 SAML 2.0 回應的必要屬性為:

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

IdP 所發行 SAML 2.0 權杖的必要屬性為:

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

WS-同盟設定

在滿足以下某些特定需求的情況下,您可以設定 Microsoft Entra B2B 以與使用 WS-同盟通訊協定的識別提供者同盟。 目前,兩個 WS-同盟提供者已經過 Microsoft Entra ID 的相容性測試,包含 AD FS 與 Shibboleth。

直接同盟的目標網域不得為 Microsoft Entra ID 中已驗證 DNS 的網域。 驗證 URL 網域必須符合目標網域,或允許識別提供者的網域。

所需的 WS-同盟屬性和宣告

下表顯示針對特定屬性與宣告必須設定於協力廠商 WS-同盟識別提供者的需求。 若要設定直接同盟,下列屬性必須從識別提供者在 WS-同盟訊息中接收。 這定這些屬性的方式可以是連結至線上安全性權杖服務 XML 檔案,或手動輸入。

IdP 的 WS-同盟訊息中的必要屬性:

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

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

Attribute
ImmutableID https://schemas.microsoft.com/LiveID/Federation/2008/05/ImmutableID
emailaddress https://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress

針對 B2B 來賓使用者將 Google 新增為識別提供者

藉由設定 Google 同盟,您可以讓受邀的使用者使用自己的 Gmail 帳戶登入共用應用程式和資源,而不需要建立 Microsoft 帳戶。

注意

Google 同盟針對 Gmail 使用者量身打造。 若要與 G Suite 網域同盟,請使用直接同盟

Google 使用者的體驗如何?

當您將邀請傳送給 Google Gmail 使用者時,來賓使用者應使用包含租用戶內容的連結來存取您的共用應用程式或資源。 使用者的體驗取決於是否已登入 Google:

  • 未登入 Google 的來賓使用者將會收到提示。
  • 系統會提示已登入 Google 的來賓使用者選擇所要使用的帳戶。 使用者必須選擇您用來邀請他們的帳戶。

看到「標頭太長」錯誤的來賓使用者可以清除其 cookie,或開啟私人或無痕模式視窗,然後再次嘗試登入。

螢幕擷取畫面顯示 Google 登入頁面。使用者需登入以存取內容。

淘汰 Web 檢視登入支援

Google 即將淘汰內嵌網頁檢視登入支援(從 2021 年 9 月 30 日起)。 如果您的應用程式使用內嵌 Web 檢視來驗證使用者,而且您正使用 Google 同盟搭配 Microsoft Entra B2C 或 Microsoft Entra B2B 進行外部使用者邀請或自助式註冊,則 Google Gmail 使用者將無法進行驗證。

以下是會影響 Gmail 使用者的已知案例:

  • Windows 上的 Microsoft 應用程式 (例如 Teams 和 Power Apps)。
  • 使用 WebView 控制項、WebView2 或舊版 WebBrowser 控制項進行驗證的 Windows 應用程式。 這些應用程式應移轉至使用 Web 帳戶管理員 (WAM) 流程。
  • 使用 Web 檢視 UI 元素的 Android 應用程式。
  • 使用 UIWebView/WKWebview 的 iOS 應用程式。
  • 使用 Microsoft 驗證程式庫的應用程式。

此變更不會影響:

  • Web 應用程式
  • 透過網站存取的 Microsoft 365 服務(例如 SharePoint Online、Office Web 應用程式和 Teams Web 應用程式)
  • 使用系統 Web 檢視進行驗證的行動應用程式 (iOS 上的 SFSafariViewController、Android 上的自訂索引標籤)。
  • Google Workspace 身分識別,例如,當您使用 SAML 型同盟搭配 Google Workspace 時。
  • 使用 Web 帳戶管理員 (WAM) 或 Web 驗證訊息代理程式 (WAB) 的 Windows 應用程式。

登入端點

Teams 完整支援所有裝置上的 Google 來賓使用者。 Google 使用者可以從一般端點 (例如 https://teams.microsoft.com) 登入 Teams。

其他應用程式的一般端點可能不支援 Google 使用者。 Google 來賓使用者必須使用包含租用戶資訊的連結登入。 以下是範例︰

  • https://myapps.microsoft.com/?tenantid= your tenant ID
  • https://portal.azure.com/ your tenant ID
  • https://myapps.microsoft.com/ your verified domain .onmicrosoft.com

如果 Google 來賓使用者嘗試使用 https://myapps.microsoft.comhttps://portal.azure.com 等連結,則會收到錯誤。

您也可以將應用程式或資源的直接連結提供給 Google 來賓使用者,前提是此連結包含您的租用戶資訊。 例如,https://myapps.microsoft.com/signin/Twitter/ application ID?tenantId= your tenant ID

步驟 1:設定 Google 開發人員專案

首先,在 Google 開發人員主控台中建立新的專案,以取得用戶端識別碼和用戶端密碼,稍後您可以新增至 Microsoft Entra ID。

  1. 移至 Google API (網址為:https://console.developers.google.com),並使用 Google 帳戶來登入。 我們建議使用共用小組 Google 帳戶。

  2. 如果系統提示您,請接受服務條款。

  3. 建立新專案:在儀表板上,選取 [建立專案],為專案命名 (例如,Microsoft Entra B2B),然後選取 [建立]:

    Google 開發人員頁面中新專案的螢幕擷取畫面。

  4. 在 [API 與服務] 頁面上,選取新專案下的 [檢視]

  5. 在 API 卡片上,選取 [移至 API 總覽]。 選取 [OAuth 同意畫面]。

  6. 選取 [外部],然後選取 [建立]

  7. 在 [OAuth 同意畫面] 上,輸入 [應用程式名稱]:

    Google OAuth 同意畫面的螢幕擷取畫面。使用者必須確認其使用方式。

  8. 捲動至 [授權的網域] 區段並輸入 microsoftonline.com

    授權的網域區段的螢幕擷取畫面,顯示 Google 網域有效。

  9. 選取 [儲存]。

  10. 選取 [認證]。 在 [建立認證] 功能表中,選取 [OAuth 用戶端識別碼]:

    Google API 建立認證選單的螢幕擷取畫面。請在此設定您的認證。

  11. 選取 [應用程式類型],然後選取 [Web 應用程式]。 為應用程式提供適當的名稱,例如 Microsoft Entra B2B。 在 [授權重新導向 URI] 底下,輸入下列 URI:

    • https://login.microsoftonline.com
    • https://login.microsoftonline.com/te/ tenant ID /oauth2/authresp (其中 [租用戶識別碼] 是您 Azure 中的租用戶識別碼)

    授權重新導向 URI 區段的螢幕擷取畫面。使用者前往驗證授權的地方。

  12. 選取 建立。 複製用戶端識別碼和用戶端密碼。 當您在 Azure 入口網站中新增識別提供者時將會用到。

    OAuth 用戶端識別碼和用戶端密碼的螢幕擷取畫面。設定您的存取密碼。

步驟 2:在 Microsoft Entra ID 中設定 Google 同盟

您現在將設定 Google 用戶端識別碼和用戶端密碼。 您可以使用 Azure 入口網站或 PowerShell 來執行此動作。 請務必邀請您自己來測試您的 Google 同盟設定。 使用 Gmail 位址,並嘗試使用您受邀的 Google 帳戶兌換邀請。

在 Azure 入口網站中設定 Google 同盟

  1. 前往 Azure 入口網站。 在左窗格中,選取 [Microsoft Entra ID]

  2. 選取 [外部身分識別]

  3. 選取 [所有識別提供者],然後選取 [Google] 按鈕。

  4. 輸入您稍早取得的 [用戶端 ID] 和 [用戶端密碼]。 選取 [儲存]:

    [新增 Google 識別提供者] 頁面的螢幕擷取畫面。您必須輸入先前步驟中的用戶端識別碼和用戶端密碼。

我該如何移除 Google 同盟?

您可以刪除 Google 同盟設定。 如果您這麼做,已兌換其邀請的 Google 來賓使用者就無法登入。 但您可以透過從目錄刪除提供者並重新邀請,以授與其對您資源的存取權。

在 Microsoft Entra ID 中刪除 Google 同盟

  1. 前往 Azure 入口網站。 在左窗格中,選取 [Microsoft Entra ID]

  2. 選取 [外部身分識別]

  3. 選取 [所有識別提供者]

  4. 在 [Google] 行上,選取省略符號按鈕 (...),然後選取 [刪除]。

    [刪除 Google 識別提供者] 頁面的螢幕擷取畫面。使用尾端的省略符號來開啟刪除命令。

  5. 輸入 [] 以確認刪除。

將 Facebook 新增為外部身分識別的識別提供者

您可以將 Facebook 新增至您的自助式註冊使用者流程 (預覽),讓使用者可以使用自己的 Facebook 帳戶來登入您的應用程式。 若要讓使用者能夠使用 Facebook 登入,您必須為您的租用戶啟用自助式註冊。 將 Facebook 新增為識別提供者之後,設定應用程式的使用者流程,然後選取 Facebook 作為其中一個登入選項。

注意

使用者只能使用其 Facebook 帳戶來透過應用程式使用自助式註冊和使用者流程進行註冊。 使用者無法使用 Facebook 帳戶接受及兌換其邀請。

在 Facebook 開發人員主控台中建立應用程式

若要使用 Facebook 帳戶作為識別提供者,您必須在 Facebook 開發人員主控台中建立應用程式。 如果您還沒有 Facebook 帳戶,可以在 https://www.facebook.com/ 註冊。

注意

在下方步驟 9 與 16 中使用下列 URL。

  • 在 [網站 URL] 中,輸入應用程式的位址,例如 https://contoso.com
  • 針對 [有效 OAuth 重新導向 URI],輸入 https://login.microsoftonline.com/te/ tenant-id /oauth2/authresp。 您可以在 Microsoft Entra ID 概觀畫面中找到您的 tenant-ID
  1. 使用您的 Facebook 帳號認證登入 Facebook for Developers
  2. 若您尚未這麼做,您需要註冊為 Facebook 開發人員。 請選取頁面右上角的 [開始],接受 Facebook 的原則,然後完成註冊步驟。
  3. 依序選取 [我的應用程式] 與 [建立應用程式]
  4. 輸入 [顯示名稱] 與有效的 [連絡人電子郵件]
  5. 選取 [建立應用程式識別碼]。 系統可能會要求您接受 Facebook 平台原則,並完成線上安全性檢查。
  6. 選取 [設定值],然後選取 [基本]
  7. 選擇 [類別],例如 [商務] 和 [網頁]。 此值為 Facebook 所要求,但不用於 Microsoft Entra ID。
  8. 在頁面底部,選取 [新增平台],然後選取 [網站]
  9. 在 [網站 URL] 中,輸入適當的 URL (如上所述)。
  10. 在 [隱私權原則 URL] 中,輸入您用來維護應用程式隱私權資訊的頁面 URL,例如 https://www.contoso.com
  11. 選取儲存變更
  12. 在頁面頂端,複製 [App ID] 的值。
  13. 選取 [顯示],並複製 [應用程式祕密] 的值。 您會使用這兩個值將 Facebook 設定為您租用戶中的識別提供者。 應用程式祕密是重要的安全性認證。
  14. 選取 [產品] 旁邊的加號,然後選取 [Facebook 登入] 下方的 [設定]
  15. Facebook 登入底下,選取設定
  16. 在 [有效 OAuth 重新導向 URI] 中,輸入適當的 URL (如上所述)。
  17. 選取頁面底部的儲存變更
  18. 若要將您的 Facebook 應用程式提供給 Microsoft Entra ID 使用,請選取頁面右上角的 [狀態] 選取器,並將其 [開啟] 以公開提供應用程式,然後選取 [切換模式]。 此時,[狀態] 應會從 [開發] 變更為 [可用]

將 Facebook 帳戶設定為識別提供者

現在您將設定 Facebook 用戶端識別碼與用戶端密碼,方法是在 Microsoft Entra 系統管理中心中輸入或使用 PowerShell。 您可以透過在針對自助式註冊啟用的應用程式上註冊使用者流程,以進行您的 Facebook 設定。

在 Microsoft Entra ID 畫面中設定 Facebook 同盟

  1. 以 Microsoft Entra 租用戶的全域管理員身分登入 Azure 入口網站

  2. 在 [Azure 服務] 底下,選取 [Microsoft Entra ID]

  3. 在左側功能表中,選取 [外部身分識別]

  4. 選取 [所有識別提供者],然後選取 [Facebook]

  5. 針對 [用戶端識別碼],輸入您稍早所建立 Facebook 應用程式的 [App ID]

  6. 針對 [用戶端密碼],輸入您記錄的 [應用程式祕密]

    新增社交識別提供者頁面的螢幕擷取畫面。挑選您的社交媒體提供者。

  7. 選取 [儲存]。

我該如何移除 Facebook 同盟?

您可以刪除 Facebook 同盟設定。 如果您這麼做,使用其 Facebook 帳戶透過使用者流程註冊的所有使用者都將無法登入。

在 Microsoft Entra ID 中刪除 Facebook 同盟:

  1. 前往 Azure 入口網站。 在左窗格中,選取 [Microsoft Entra ID]
  2. 選取 [外部身分識別]
  3. 選取 [所有識別提供者]
  4. Facebook 行上,選取操作功能表 (...),然後選取 [刪除]
  5. 選取 [是] 確認刪除。