Microsoft Entra ID 中的佈建運作方式

自動佈建是指在使用者需要存取的雲端應用程式中建立使用者身分識別和角色。 除了建立使用者識別之外,自動佈建還包括在狀態或角色變更時,維護及移除使用者識別。 開始部署之前,您可以先參閱本文,以了解 Microsoft Entra 佈建的運作方式並取得設定建議。

Microsoft Entra 佈建服務會藉由連線至應用程式廠商或內部部署佈建代理程式所提供的跨網域身分識別管理系統 (SCIM) 2.0 使用者管理 API 端點,將使用者佈建至 SaaS 應用程式和其他系統。 這個 SCIM 端點可讓 Microsoft Entra ID 以程式設計方式建立、更新和移除使用者。 針對所選應用程式,佈建服務也可以建立、更新和移除額外與身分識別相關的物件,例如群組。 用來在 Microsoft Entra ID 與應用程式之間佈建的通道會使用 HTTPS TLS 1.2 加密來加密。

Microsoft Entra 佈建服務圖 1:管理 Microsoft Entra 佈建服務

輸出使用者佈建工作流程圖 2:從 Microsoft Entra ID 至熱門 SaaS 應用程式的「輸出」使用者佈建工作流程

輸入使用者佈建工作流程圖 3:從熱門人力資本管理 (HCM) 應用程式至 Microsoft Entra ID 和 Windows Server Active Directory 的「輸入」使用者佈建工作流程

使用 SCIM 2.0 進行佈建

Microsoft Entra 佈建服務:使用 SCIM 2.0 通訊協定進行自動佈建。 服務會連線至應用程式的 SCIM 端點,並使用 SCIM 使用者物件結構描述和 REST API 自動進行使用者和群組的佈建和取消佈建。 以 SCIM 為基礎的佈建連接器可供 Microsoft Entra 資源庫中大部分的應用程式使用。 開發人員會在 Microsoft Entra ID 中使用 SCIM 2.0 使用者管理 API,為其應用程式建置與佈建服務整合的端點。 如需詳細資訊,請參閱建置 SCIM 端點和設定使用者佈建。 內部部署佈建代理程式也會將 Microsoft Entra SCIM 作業轉譯為 LDAPSQLREST 或SOAPPowerShell、對自訂 ECMA 連接器的呼叫,或合作夥伴所建置的連接器和閘道

若要為目前沒有自動 Microsoft Entra 佈建連接器的應用程式要求一個連接器,請參閱 Microsoft Entra 應用程式要求

授權

Microsoft Entra ID 連線至應用程式的使用者管理 API 時所需的認證。 在設定應用程式的自動使用者佈建時,您必須輸入有效的認證。 針對資源庫應用程式,您可以參考應用程式教學課程,以尋找應用程式的認證類型和需求。 針對非資源庫的應用程式,您可以參考 SCIM 文件,以了解認證類型和需求。 在 Microsoft Entra 系統管理中心,您可以讓 Microsoft Entra ID 使用所提供認證來嘗試連線至應用程式的佈建應用程式,以測試認證。

對應屬性

當您針對第三方 SaaS 應用程式啟用使用者佈建,則 Microsoft Entra 系統管理中心會透過屬性對應來控制其屬性值。 對應會決定在佈建或更新使用者帳戶時,在 Microsoft Entra ID 與目標應用程式之間流動的使用者屬性。

在 Microsoft Entra 使用者物件與每個 SaaS 應用程式的使用者物件之間,有一組預先設定的屬性和屬性對應。 有些應用程式除了使用者以外,還會管理其他類型的物件,例如群組。

在設定佈建時,請務必檢視和設定屬性 (Attribute) 對應,以及定義哪些使用者 (或群組) 屬性 (Property) 會從 Microsoft Entra ID 流向應用程式的工作流程。 請檢視並設定在兩個系統之間用來唯一識別和比對使用者/群組的比對屬性 (使用此屬性來比對物件)。

您可以根據您的業務需求自訂預設的屬性對應。 因此,您可以變更或刪除現有的屬性對應,或建立新的屬性對應。 如需詳細資訊,請參閱自訂 SaaS 應用程式的使用者佈建屬性對應

當您設定佈建到 SaaS 應用程式時,您可以指定的其中一種屬性對應類型是運算式對應。 針對這些對應,您必須撰寫類似指令碼的運算式,以便將使用者的資料轉換為 SaaS 應用程式更能接受的格式。 如需詳細資訊,請參閱撰寫屬性對應的運算式

範圍

以指派為基礎的範圍

針對從 Microsoft Entra ID 到 SaaS 應用程式的輸出佈建,使用者或群組指派是判斷哪些使用者位於佈建範圍之中時最常用的依據。 由於使用者指派也可用來啟用單一登入,因此可以使用相同的方法來管理存取與佈建。 以指派為基礎的範圍不適用於輸入佈建案例,例如 Workday 和 Successfactors。

  • 群組。 透過 Microsoft Entra ID P1 或 P2 授權方案,您可以使用群組指派對 SaaS 應用程式的存取權。 然後,當佈建範圍設定為 [只同步已指派的使用者和群組] 時,Microsoft Entra 佈建服務會根據使用者是否為已指派給應用程式的群組成員,來佈建或取消佈建使用者。 除非應用程式支援群組物件,否則不會佈建群組物件本身。 請確定指派給應用程式的群組將 "SecurityEnabled" 屬性設定為 "True"。

  • 動態群組。 Microsoft Entra 使用者佈建服務可以讀取和佈建動態群組中的使用者。 請留意下列注意事項和建議:

    • 對於從 Microsoft Entra ID 到 SaaS 應用程式的端對端佈建,動態群組可能會影響到其效能。

    • 在 SaaS 應用程式中佈建或取消佈建動態群組使用者的速度,取決於動態群組評估成員資格變更的速度。 如需如何檢查動態群組處理狀態的相關資訊,請參閱檢查成員資格規則的處理狀態

    • 當使用者失去動態群組的成員資格時,將會被視為取消佈建事件。 建立動態群組的規則時,請考量這種情況。

  • 巢狀群組。 Microsoft Entra 使用者佈建服務無法讀取或佈建巢狀群組中的使用者。 此服務只能讀取和佈建在明確指派的群組中屬於直接成員的使用者。 這種「應用程式的群組型指派」的限制對單一登入也會產生影響 (請參閱使用群組管理 SaaS 應用程式的存取權)。 此時應明確指派所含的使用者需要佈建的群組,或設定範圍

以屬性為基礎的範圍

您可以使用範圍篩選器來定義以屬性為基礎的規則,以決定要將哪些使用者佈建到應用程式。 從 HCM 應用程式到 Microsoft Entra ID 和 Active Directory 的輸入佈建常會使用此方法。 針對每個 Microsoft Entra 使用者佈建連接器,將範圍篩選設定為屬性對應的一部分。 若要進一步了解如何設定以屬性為基礎的範圍篩選器,請參閱含範圍篩選器的屬性型應用程式佈建

B2B (來賓) 使用者

您可以使用 Microsoft Entra 使用者佈建服務,將 Microsoft Entra ID 中的 B2B (來賓) 使用者佈建到 SaaS 應用程式。 不過,若要讓 B2B 使用者使用 Microsoft Entra ID 登入 SaaS 應用程式,您必須手動設定 SaaS 應用程式,以使用 Microsoft Entra ID 作為安全性聲明標記語言 (SAML) 識別提供者。

設定 B2B (來賓) 使用者的 SaaS 應用程式時,請遵循下列一般指導方針:

  • 大部分的應用程式都需要以手動方式進行使用者設定。 必須在應用程式中手動建立使用者。
  • 若為支援自動設定的應用程式 (例如 Dropbox),則會從應用程式建立個別的邀請。 使用者務必接受每個邀請。
  • 在使用者屬性中,若要減少與來賓使用者中受損使用者設定檔磁碟 (UPD) 相關的任何問題,一律將 [使用者識別碼] 設定為 [user.mail]

注意

B2B 共同作業使用者的 userPrincipalName 以 "alias_theirdomain#EXT#@yourdomain" 表示外部使用者的電子郵件地址 alias@theirdomain。 當您的屬性對應中包含 userPrincipalName 屬性作為來源屬性,且正在佈建 B2B 使用者時,userPrincipalName 中會去除 #EXT# 和您的網域,因此只會使用其原始 alias@theirdomain 來比對或佈建。 如果需要顯示完整使用者主體名稱,包括 #EXT# 和您的網域,請將 userPrincipalName 換成 originalUserPrincipalName 作為來源屬性。
userPrincipalName = alias@theirdomain
originalUserPrincipalName = alias_theirdomain#EXT#@yourdomain

佈建週期:初始和增量

如果 Microsoft Entra ID 是來源系統,則佈建服務會使用差異查詢來追蹤 Microsoft Graph 資料中的變更,以監視使用者和群組。 佈建服務會先對來源系統和目標系統執行初始週期,後續再執行定期增量週期。

初始週期

當佈建服務啟動時,第一個週期將會:

  1. 從來源系統查詢所有使用者和群組,其中會擷取屬性對應中定義的所有屬性。

  2. 使用任何已設定的指派屬性型範圍設定篩選來篩選所傳回的使用者和群組。

  3. 已指派使用者進行佈建或使用者位於佈建範圍內時,服務會使用指定的比對屬性查詢目標系統中是否有相符的使用者。 範例:如果來源系統中的 userPrincipal 名稱是比對屬性並與目標系統中的 userName 對應,則佈建服務會查詢目標系統中是否有與來源系統中 userPrincipal 名稱值相符的 userName。

  4. 如果在目標系統中找不到相符的使用者,就會使用從來源系統傳回的屬性來建立該使用者。 使用者帳戶建立後,佈建服務會偵測並快取新使用者的目標系統識別碼。 此識別碼會用來執行該使用者所有未來的作業。

  5. 如果找到相符的使用者,則會使用來源系統所提供的屬性來更新該使用者。 比對使用者帳戶後,佈建服務會偵測並快取新使用者的目標系統識別碼。 此識別碼會用來執行該使用者所有未來的作業。

  6. 如果屬性對應包含「參考」屬性,服務就會在目標系統上執更多的更新來建立和連結所參考的物件。 例如,使用者可能在目標系統中有 "Manager" 屬性,而此屬性連結至在目標系統中建立的另一個使用者。

  7. 在初始週期結束時保存浮水印,以為後續的增量週期提供起點。

有些應用程式 (例如 ServiceNow、G Suite 和 Box) 不僅支援佈建使用者,也支援佈建群組及其成員。 在這些情況下,如果已在對應中啟用群組佈建,佈建服務就會同步處理使用者和群組,然後接著同步處理群組成員資格。

增量週期

在初始週期之後,其他所有的週期將會:

  1. 查詢來源系統中是否有任何自上次儲存浮水印之後更新的使用者和群組。

  2. 使用任何已設定的指派屬性型範圍設定篩選來篩選所傳回的使用者和群組。

  3. 已指派使用者進行佈建或使用者位於佈建範圍內時,服務會使用指定的比對屬性查詢目標系統中是否有相符的使用者。

  4. 如果在目標系統中找不到相符的使用者,就會使用從來源系統傳回的屬性來建立該使用者。 使用者帳戶建立後,佈建服務會偵測並快取新使用者的目標系統識別碼。 此識別碼會用來執行該使用者所有未來的作業。

  5. 如果找到相符的使用者,則會使用來源系統所提供的屬性來更新該使用者。 如果比對出新指派的帳戶,則佈建服務會偵測並快取新使用者的目標系統識別碼。 此識別碼會用來執行該使用者所有未來的作業。

  6. 如果屬性對應包含「參考」屬性,服務就會在目標系統上執更多的更新來建立和連結所參考的物件。 例如,使用者可能在目標系統中有 "Manager" 屬性,而此屬性連結至在目標系統中建立的另一個使用者。

  7. 如果將先前在佈建範圍中的使用者從範圍中移除 (包括解除指派),則服務會透過更新,在目標系統中停用該使用者。

  8. 如果將先前在佈建範圍中的使用者停用或在來源系統中虛刪除,則服務會透過更新,在目標系統中停用該使用者。

  9. 如果將先前在佈建範圍中的使用者在來源系統中實刪除,則服務會在目標系統中刪除該使用者。 在 Microsoft Entra ID 中,會在將使用者虛刪除 30 天之後將他們實刪除。

  10. 在增量週期結束時保存新的浮水印,以為後續的增量週期提供起點。

注意

您可以使用對應區段中的 [目標物件動作] 核取方塊,視需要停用建立更新刪除作業。 在更新期間停用使用者的邏輯也是透過來自 accountEnabled 這類欄位的屬性對應來控制。

佈建服務將會依據每個應用程式特定的教學課程中所定義的間隔,繼續無限期執行連續的增量週期。 增量週期會繼續進行,直到發生其中一個事件為止:

  • 使用 Microsoft Entra 系統管理中心或使用適當的 Microsoft Graph API 以手動方式停止服務。
  • 使用 Microsoft Entra 系統管理中心的 [重新啟動] 選項,或使用適當的 Microsoft Graph API 命令,來觸發新的初始週期。 此動作也會清除所有已儲存的浮水印,並導致重新評估所有來源物件。 此外,動作不會中斷來源和目標物件之間的連結。 若要中斷連結,請使用重新啟動 synchronizationJob 搭配要求:
POST https://graph.microsoft.com/beta/servicePrincipals/{id}/synchronization/jobs/{jobId}/restart
Authorization: Bearer <token>
Content-type: application/json
{
   "criteria": {
       "resetScope": "Full"
   }
}
  • 由於屬性對應或範圍設定篩選發生變更,而觸發新的初始週期。 此動作也會清除所有已儲存的浮水印,並導致重新評估所有來源物件。
  • 佈建程序因為高錯誤率而進入隔離狀態 (參見範例),並處於隔離狀態超過四週。 在此事件中,會自動停用服務。

錯誤和重試

如果目標系統中的錯誤導致無法在目標系統中新增、更新或刪除個別使用者,則會在下一個同步週期中重試作業。 錯誤會繼續重試,並逐漸調整回重試頻率。 若要解決此錯誤,管理員必須檢查佈建記錄以判斷根本原因,並採取適當的動作。 常見的錯誤可能包括:

  • 來源系統中未填入目標系統中所需的使用者屬性
  • 使用者在來源系統中有一個在目標系統中有唯一條件約束的屬性值,而相同值存在於另一個使用者記錄中

請調整來源系統中受影響使用者的屬性值,或將屬性對應調整成不會造成衝突,以解決這些失敗。

隔離

如果對目標系統進行的多數或所有呼叫持續因錯誤而失敗 (例如,管理員認證無效),佈建作業就會進入「隔離」狀態。 在佈建摘要報告中會指出此狀態,或如果已在 Microsoft Entra 系統管理中心設定電子郵件通知,則會透過電子郵件指出。

處於隔離狀態時,增量週期的頻率會逐漸降低成一天一次。

在修正所有違規錯誤之後,佈建作業就會脫離隔離狀態,並開始下一個資料同步週期。 如果佈建作業處於隔離狀態超過四週,系統就會將它停用。 若要深入了解隔離狀態,請參閱這裡

佈建時間長短

效能取決於佈建作業是執行的是初始佈建週期還是增量週期。 如需佈建所需時間和如何監視佈建服務狀態的詳細資訊,請參閱檢查使用者佈建的狀態

如何判斷是否已正確佈建使用者

使用者佈建服務所執行的所有作業,都會記錄在 Microsoft Entra 佈建記錄 (預覽) 中。 這些記錄包含對來源和目標系統所做的所有讀取和寫入作業,以及在每次作業期間讀取或寫入的使用者資料。 如需如何在 Microsoft Entra 系統管理中心讀取佈建記錄的詳細資訊,請參閱佈建報告指南

解除佈建

當移除使用者存取權時,Microsoft Entra 佈建服務會藉由取消佈建帳戶,將來源和目標系統保持同步。

佈建服務支援刪除和停用 (有時也稱為虛刪除) 使用者。 停用和刪除的確切定義會根據目標應用程式的實作而有所不同,但停用通常表示使用者無法登入。 刪除表示使用者已從應用程式完全移除。 針對 SCIM 應用程式,停用是一種要求,會針對使用者將使用中屬性設為 False。

設定您的應用程式以停用使用者

確認已選取更新的核取方塊。

確認您的應用程式有使用中的對應。 如果您正在使用應用程式資源庫的應用程式,則對應可能會稍有不同。 在此情況下,請使用資源庫應用程式的預設對應。

停用使用者

設定您的應用程式以刪除使用者

此案例會觸發停用或刪除:

  • 在 Microsoft Entra ID 中虛刪除使用者 (傳送至資源回收筒/AccountEnabled 屬性設定為 False)。 在 Microsoft Entra ID 中刪除使用者的 30 天後,會從租用戶中永久刪除使用者。 此時,佈建服務會傳送 DELETE 要求,以永久刪除應用程式中的使用者。 在 30 天的時間範圍內,您可以手動永久刪除使用者,此動作會將刪除要求傳送至應用程式。
  • 從 Microsoft Entra ID 的資源回收筒中永久刪除/移除使用者。
  • 從應用程式解除指派使用者。
  • 使用者從範圍內移至範圍外 (不會再傳送範圍篩選器)。

刪除使用者

Microsoft Entra 佈建服務預設會虛刪除或停用範圍外使用者。 如果您想要覆寫此預設行為,則可以設定旗標以略過超出範圍的刪除

當發生四個事件之一,而目標應用程式不支援虛刪除,則佈建服務會傳送 DELETE 要求,以從應用程式中永久刪除使用者。

如果您在屬性對應中看到 IsSoftDeleted 屬性,此屬性將用來決定使用者的狀態,以及是否要傳送 active = false 的更新要求以虛刪除使用者。

取消佈建事件

表格說明如何使用 Microsoft Entra 佈建服務來設定取消佈建動作。 這些規則會以非資源庫/自訂應用程式撰寫,但通常會套用至資源庫中的應用程式。 然而,資源庫應用程式的行為可能會不同,因為其已最佳化以符合應用程式的需求。 例如,如果目標應用程式不支援虛刪除,則 Microsoft Entra 佈建服務可能會傳送實刪除要求來刪除使用者,而不是傳送虛刪除。

案例 如何在 Microsoft Entra ID 中設定
如果使用者從應用程式取消指派,在 Microsoft Entra ID 中虛刪除或登入封鎖。 你不想要執行任何動作。 從屬性對應移除 isSoftDeleted 和/或將略過超出範圍的刪除屬性設定為 True。
如果使用者從應用程式取消指派,在 Microsoft Entra ID 中虛刪除或登入封鎖。 您要將特定屬性設定為 truefalse isSoftDeleted 對應至您想要設為 False 的屬性。
如果使用者在 Microsoft Entra ID 中被刪除、從應用程式取消指派、在 Microsoft Entra ID 中被虛刪除或封鎖登入。 您想要將 DELETE 要求傳送至目標應用程式。 需要功能的有限資源庫應用程式集目前支援此功能, 客戶無法設定。
Microsoft Entra ID 會刪除使用者。 您不希望在目標應用程式中執行任何動作。 請確定選取「刪除」作為屬性設定體驗中的其中一個目標物件動作。
Microsoft Entra ID 會刪除使用者。 您要設定目標應用程式中的屬性值。 不支援。
Microsoft Entra ID 會刪除使用者。 您要刪除目標應用程式中的使用者 請確定選取「刪除」作為屬性設定體驗中的其中一個目標物件動作。

已知限制

  • 當使用者或群組從應用程式取消指派,且不再使用佈建服務進行管理時,就會傳送停用要求。 此時,服務不會管理使用者,而且從目錄中刪除使用者時不會傳送刪除要求。
  • 不支援佈建在 Microsoft Entra ID 中停用的使用者。 在佈建使用者之前,他們必須在 Microsoft Entra ID 中使用。
  • 當使用者從虛刪除變成使用中時,Microsoft Entra 佈建服務會在目標應用程式中啟動使用者,但不會自動還原群組成員資格。 目標應用程式應維護處於非使用中狀態的使用者群組成員資格。 如果目標應用程式不支援維持非使用中狀態,您可以重新啟動佈建以更新群組成員資格。

建議

在開發應用程式時,一律支援虛刪除和實刪除。 此功能允許客戶在意外停用使用者時復原。

後續步驟

規劃自動使用者佈建部署

設定資源庫應用程式的佈建

在建立您自己的應用程式時建置 SCIM 端點並設定佈建

對設定使用者並將其佈建至應用程式時的問題進行疑難排解