分享方式:


SAML 型單一登入:設定和限制

在本文中,您將瞭解如何使用 Microsoft Entra ID 設定 SAML 型單一登入 (SSO) 的應用程式。 如果著重於為從 Active Directory 同盟服務 (ADFS) 移轉至 Microsoft Entra 識別碼的應用程式設定 SAML SSO。

涵蓋的概念包括根據規則將用戶對應至特定應用程式角色,以及對應屬性時要記住的限制。 它也涵蓋 SAML 簽署憑證、SAML 權杖加密、SAML 要求簽章驗證,以及自訂宣告提供者。

使用 SAML 2.0 進行驗證的應用程式可以設定為 SAML 型單一登入 (SSO)。 使用 SAML SSO 時,您可以根據在 SAML 宣告中定義的規則,將使用者對應至特定的應用程式角色。

若要設定 SAML 型 SSO 的 SaaS 應用程式,請參閱 快速入門:設定 SAML 型單一登入

[SAML SSO 設定] 窗格的螢幕快照。

許多 SaaS 應用程式都有一個 應用程式特定的教學課程,可逐步引導您完成 SAML 型 SSO 的設定。

某些應用程式可以輕鬆地遷移。 具有更複雜的需求的應用程式,例如自定義宣告,可能需要在Microsoft Entra ID 和/或 Microsoft Entra Connect Health 中額外設定。 如需支援的宣告對應相關資訊,請參閱如何自訂租用戶中特定應用程式的權杖所發出的宣告 (預覽)

對應屬性時請記住下列限制:

  • 並非所有可在 AD FS 中發出的屬性都會在 Microsoft Entra ID 中顯示為要發出給 SAML 權杖的屬性,即使這些屬性已同步處理也一樣。 當您編輯屬性時, 下拉式清單會顯示Microsoft Entra ID 中可用的不同屬性。 檢查 Microsoft Entra Connect Sync 文章 組態,以確保必要屬性 — 例如 samAccountName — 會同步至 Microsoft Entra ID。 您可以使用擴充屬性發出任何不屬於 Microsoft Entra ID 中標準使用者結構描述的宣告。
  • 在大多數的常見情況下,應用程式只需要 NameID 宣告和其他常見的使用者識別碼宣告。 若要判斷是否需要任何額外的宣告,請檢查您要從 AD FS 發出的宣告。
  • 並非所有宣告都可以發出,因為某些宣告在 Microsoft Entra ID 中受到保護。
  • 使用加密 SAML 權杖的功能現已進入預覽階段。 請參閱做法:針對企業應用程式自訂 SAML 權杖中發出的宣告

軟體即服務 (SaaS) 應用程式

如果您的使用者登入 SaaS 應用程式 (例如 Salesforce、ServiceNow 或 Workday),並與 AD FS 整合,則您會使用 SaaS 應用程式的同盟登入。

大部分的 SaaS 應用程式都可以在 Microsoft Entra ID 中設定。 Microsoft 在 Microsoft Entra 應用程式資源庫 中有許多預先設定的 SaaS 應用程式連線,可讓您的轉換更容易。 SAML 2.0 應用程式可以透過 Microsoft Entra 應用程式資源庫,或以 非資源庫應用程式的形式與 Microsoft Entra ID 整合。

使用 OAuth 2.0 或 OpenID Connect 的應用程式可透過類似方式,以 應用程式註冊 的形式與Microsoft Entra ID 整合。 使用舊版通訊協議的應用程式可以使用 Microsoft Entra 應用程式 Proxy 向 Microsoft Entra ID 進行驗證。

適用於 SSO 的 SAML 簽署憑證

簽署憑證是所有 SSO 部署的重要部分。 Microsoft Entra ID 會建立簽署憑證,以建立向您的 SaaS 應用程式進行的 SAML 型同盟 SSO。 新增資源庫或非資源庫應用程式之後,您可以使用同盟 SSO 選項來設定已新增的應用程式。 請參閱在 Microsoft Entra ID 中管理同盟單一登入的憑證

SAML 權杖加密

AD FS 和 Microsoft Entra ID 都提供權杖加密 — 讓您能夠加密移至應用程式的 SAML 安全性判斷提示。 判斷提示會使用公開金鑰進行加密,並由具有相符私密金鑰的接收應用程式解密。 設定權杖加密時,您要上傳 x.509 憑證檔案以提供公開金鑰。

如需 Microsoft Entra SAML 權杖加密以及如何設定的資訊,請參閱 如何:設定 Microsoft Entra SAML 權杖加密

注意

權杖加密是 Microsoft Entra ID P1 或 P2 功能。 若要深入瞭解 Microsoft Entra 版本、功能和價格,請參閱 Microsoft Entra

SAML 要求簽章驗證

這項功能會驗證已簽署驗證要求的簽章。 應用程式管理員會啟用和停用強制執行已簽署的要求,並上傳應該用來進行驗證的公鑰。 如需詳細資訊,請參閱 如何強制執行已簽署的 SAML 驗證要求

自訂宣告提供者 (預覽)

若要從 ADFS 之類的舊版系統或 LDAP 之類的資料存放區遷移資料,您的應用程式會取決於權杖中的特定資料。 您可以使用自訂宣告提供者,將宣告新增至權杖。 如需詳細資訊,請參閱 自訂宣告提供者概觀

可以立即移動的應用程式和設定

您目前可以輕鬆移動的應用程式包括使用一組標準設定元素和宣告的 SAML 2.0 應用程式。 這些標準項目如下:

  • 使用者主體名稱
  • 電子郵件地址
  • 指定的名稱
  • Surname
  • 替代屬性作為 SAML NameID,包括 Microsoft Entra ID 郵件屬性、郵件前置詞、員工識別碼、擴充屬性 1-15 或內部部署 SamAccountName 屬性。 如需詳細資訊,請參閱編輯 NameIdentifier 宣告
  • 自訂宣告。

下列需要更多設定步驟,才能遷移至 Microsoft Entra ID:

  • AD FS 中的自定義授權或多重要素驗證 (MFA) 規則。 您可以使用 Microsoft Entra 條件式存取 功能來設定它們。
  • 具有多個回覆 URL 端點的應用程式。 您可以使用 PowerShell 或 Microsoft Entra 系統管理中心介面,在 Microsoft Entra ID 中設定它們。
  • WS-同盟應用程式,例如需要 SAML 1.1 版權杖的 SharePoint 應用程式。 您可以使用 PowerShell 以手動方式設定這些應用程式。 您也可以從資源庫新增 SharePoint 和 SAML 1.1 應用程式的預先整合泛型範本。 我們支援 SAML 2.0 通訊協定。
  • 複雜宣告發行轉換規則。 如需支援的宣告對應相關資訊,請參閱:

目前 Microsoft Entra 不支援的應用程式和設定

目前無法遷移需要某些功能的應用程式。

通訊協定功能

目前無法移轉需要下列功能的應用程式:

  • 支援 WS-Trust ActAs 模式
  • SAML 成品解析

將應用程式設定從 AD FS 對應至 Microsoft Entra ID

遷移需要評估應用程式在內部部署設定的方式,然後將該設定對應至 Microsoft Entra ID。 AD FS 和 Microsoft Entra ID 的運作方式類似,因此在這兩種情況下都適用設定信任、登入和登出 URL 和識別碼的概念。 記錄應用程式的 AD FS 組態設定,以便您可以輕鬆地在 Microsoft Entra ID 中進行設定。

對應應用程式的組態設定

下表描述 AD FS 信賴憑證者信任與 Microsoft Entra 企業應用程式之間設定的一些最常見的對應:

  • AD FS-尋找應用程式 AD FS 信賴憑證者信任中的設定。 以滑鼠右鍵按一下信賴憑證者,然後選取 [屬性]。
  • Microsoft Entra ID — 設定會在 Microsoft Entra 系統管理中心 內,針對每個應用程式的 SSO 屬性進行設定。
組態設定 AD FS 如何在 Microsoft Entra ID 中設定 SAML 權杖
應用程式登入 URL

在服務提供者所起始的 SAML 流程中,使用者用來登入應用程式的 URL (SP)。

N/A 從 SAML 型登入開啟基本 SAML 設定 N/A
應用程式回覆 URL

以識別提供者 (IdP) 觀點看待的應用程式 URL。 IdP 會在使用者登入 IdP 之後,在此傳送使用者和令牌。 也稱為 SAML 判斷提示取用者端點

選取 [端點] 索引標籤 從 SAML 型登入開啟基本 SAML 設定 SAML 權杖中的 [目的地] 元素。 範例值:https://contoso.my.salesforce.com
應用程式登出 URL

當使用者從應用程式註銷時,會傳送註銷清除要求的URL。 IdP 會傳送要求,以將使用者從其他所有應用程式登出。

選取 [端點] 索引標籤 從 SAML 型登入開啟基本 SAML 設定 N/A
應用程式識別碼

IdP 檢視方塊中的應用程式識別碼。 登入 URL 值經常用於此識別碼 (但並不一定)。 有時候應用程式會呼叫實體 標識碼。

按一下 [識別碼] 索引標籤 從 SAML 型登入開啟基本 SAML 設定 對應到 SAML 權杖中的 [對象] 元素。
應用程式同盟中繼資料

應用程式同盟元數據的位置。 IdP 會使用此位置來自動更新特定組態設定,例如端點或加密憑證。

選取 [監控] 索引標籤 N/A。 Microsoft Entra ID 不支援直接取用應用程式同盟中繼資料。 您可以手動匯入同盟中繼資料。 N/A
使用者識別碼/名稱識別碼

屬性,用來唯一指出使用者從 Microsoft Entra ID 或 AD FS 到您的應用程式的身分識別。 此屬性通常是 UPN 或使用者的電子郵件地址。

宣告規則。 在大部分情況下,宣告規則所發出的宣告會具有以 nameidentifier 結尾的類型。 您可以在標頭使用者屬性和宣告下找到識別碼。 根據預設,會套用UPN 地圖至 SAML 權杖中的 NameID 元素。
其他宣告

通常會從 IdP 傳送至應用程式的其他宣告資訊範例包括名字、姓氏、電子郵件地址和群組成員資格。

在 AD FS 中,您可以在信賴憑證者上的其他宣告規則中找到此項目。 您可以在標頭 使用者屬性和宣告 下方找到識別碼。 選取 [檢視] 並編輯所有其他使用者屬性。 N/A

對應識別提供者 (IdP) 設定

將應用程式設定為指向 Microsoft Entra ID 與 AD FS 以進行 SSO。 在這裡,我們將著重於使用 SAML 通訊協定的 SaaS 應用程式。 不過,此概念也會延伸至自訂的企業營運應用程式。

注意

Microsoft Entra ID 的組態值會遵循您的 Azure 租用戶識別碼取代 {tenant-id},以及應用程式識別碼取代 {application-id} 的模式。 您可以在 [Microsoft Entra 系統管理中心][Microsoft Entra ID] > [属性]下方找到此資訊:

  • 選取 [目錄識別碼] 以查看您的租用戶識別碼。
  • 選取 [應用程式識別碼] 以查看您的應用程式識別碼。

概括而言,請將下列重要的 SaaS 應用程式組態項目對應至 Microsoft Entra ID。

元素 組態值
識別提供者簽發者 https://sts.windows.net/{tenant-id}/
識別提供者登入 URL https://login.microsoftonline.com/{tenant-id}/saml2
識別提供者登出 URL https://login.microsoftonline.com/{tenant-id}/saml2
同盟中繼資料位置 https://login.windows.net/{tenant-id}/federationmetadata/2007-06/federationmetadata.xml?appid={application-id}

針對 SaaS 應用程式對應 SSO 設定

SaaS 應用程式必須知道傳送驗證要求的位置,以及如何驗證所收到的權杖。 下表描述在應用程式中設定 SSO 設定的元素,以及其在 AD FS 和 Microsoft Entra ID 內的值或位置。

組態設定 AD FS 如何在 Microsoft Entra ID 中設定
IdP 登入 URL

從應用程式的觀點來看,IdP 的登入 URL (使用者重新導向以登入的位置)。

AD FS 登入 URL 是 AD FS 同盟服務名稱,後面接著 /adfs/ls/

例如:https://fs.contoso.com/adfs/ls/

以您的租用戶識別碼取代 {tenant-id}

對於使用 SAML-P 通訊協定的應用程式:https://login.microsoftonline.com/{tenant-id}/saml2

對於使用 Web 服務同盟通訊協定的應用程式:https://login.microsoftonline.com/{tenant-id}/wsfed

IdP 登出 URL

以應用程式觀點看待的 IdP 登出 URL (使用者選擇登出應用程式時會被重新導向)。

登出 URL 與登入 URL 相同,或為附加了 wa=wsignout1.0 的同一 URL。 例如:https://fs.contoso.com/adfs/ls/?wa=wsignout1.0 以您的租用戶識別碼取代 {tenant-id}

針對使用 SAML-P 通訊協定的應用程式:

https://login.microsoftonline.com/{tenant-id}/saml2

對於使用 Web 服務同盟通訊協定的應用程式: https://login.microsoftonline.com/common/wsfederation?wa=wsignout1.0

權杖簽署憑證

IdP 會使用憑證的私密金鑰來簽署已發行的權杖。 它會驗證權杖是否來自應用程式設定要信任的相同 IdP。

在 AD FS 管理的 [憑證] 之下可找到 AD FS 權杖簽署憑證。 在應用程式 [單一登入屬性] 的 Microsoft Entra 系統管理中心中 (在 [SAML 簽署憑證] 標頭下方) 找到它。 您可以在該處下載憑證以便上傳至應用程式。

如果應用程式有多個憑證,您可以在同盟中繼資料 XML 檔案中找到所有的憑證。

識別碼/「簽發者」

以應用程式觀點看待的 IdP 識別碼 (有時稱為「簽發者識別碼」)。

在 SAML 權杖中,該值會顯示為簽發者元素。

AD FS 的識別碼通常是 AD FS 管理中 [服務]> [編輯同盟服務屬性] 之下的同盟服務識別碼。 例如:http://fs.contoso.com/adfs/services/trust 以您的租用戶識別碼取代 {tenant-id}

https://sts.windows.net/{tenant-id}/

IdP 同盟中繼資料

IdP 的公開可用同盟中繼資料位置。 (有些應用程式會使用同盟中繼資料,作為系統管理員個別設定 URL、識別碼和權杖簽署憑證的替代方式)。

在 AD FS 管理的服務>端點>中繼資料>類型:同盟中繼資料下尋找 AD FS 同盟中繼資料 URL。 例如:https://fs.contoso.com/FederationMetadata/2007-06/FederationMetadata.xml Microsoft Entra ID 的對應值會遵循模式 https://login.microsoftonline.com/{TenantDomainName}/FederationMetadata/2007-06/FederationMetadata.xml。 以您的租用戶名稱取代 {TenantDomainName},格式為 contoso.onmicrosoft.com

如需詳細資訊,請參閱同盟中繼資料

下一步