共用方式為


Microsoft Entra Connect Sync:了解預設組態

這篇文章說明預設的配置規則。 它會記錄規則,以及這些規則如何影響設定。 它也會逐步引導您完成 Microsoft Entra Connect Sync 的預設設定。目標是讓讀者瞭解一個名為宣告式配置的組態模型在真實世界範例中的運作方式。 本文假設您已使用安裝精靈來安裝和設定 Microsoft Entra Connect 同步處理。

若要瞭解組態模型的詳細資料,請閱讀 瞭解宣告式佈建

內建規則從內部部署對應到 Microsoft Entra 身份識別

您可以在現成組態中找到下列表達式。

用戶預設規則

這些規則也適用於 iNetOrgPerson 物件類型。

使用者物件必須滿足下列條件才能同步:

  • 必須有來源錨點。
  • 在 Microsoft Entra 識別符中建立對象之後,sourceAnchor 就無法變更。 如果值在內部部署變更,物件會停止同步處理,直到 sourceAnchor 變更回其先前的值為止。
  • 必須填入 accountEnabled (userAccountControl) 屬性。 使用內部部署 Active Directory 時,此屬性一律存在並填入。

下列使用者物件 不會 同步至 Microsoft Entra 識別碼:

  • IsPresent([isCriticalSystemObject])。 請確定 Active Directory 中的許多預設物件,例如內建的系統管理員帳戶,不會同步。
  • IsPresent([sAMAccountName]) = False。 請確定沒有 sAMAccountName 屬性的用戶物件不會同步處理。 此案例實際上只會發生在從 NT4 升級的網域中。
  • Left([sAMAccountName], 4) = "AAD_"Left([sAMAccountName], 5) = "MSOL_"。 請勿將 Microsoft Entra Connect Sync 及其早期版本所使用的服務帳戶同步化。
  • 請勿同步處理無法在 Exchange Online 中運作的 Exchange 帳戶。
    • [sAMAccountName] = "SUPPORT_388945a0"
    • Left([mailNickname], 14) = "SystemMailbox{"
    • (Left([mailNickname], 4) = "CAS_" && (InStr([mailNickname], "}") > 0))
    • (Left([sAMAccountName], 4) = "CAS_" && (InStr([sAMAccountName], "}")> 0))
  • 請勿同步處理無法在 Exchange Online 中運作的物件。 CBool(IIF(IsPresent([msExchRecipientTypeDetails]),BitAnd([msExchRecipientTypeDetails],&H21C07000) > 0,NULL))
    此位元遮罩(&H21C07000)將排除下列物件:
    • 開啟郵件功能的公用資料夾(從 1.1.524.0 版起為預覽版)
    • 系統助理信箱
    • 信箱資料庫信箱 (系統信箱)
    • 通用安全組(不適用於使用者,但出於歷史原因而存在)
    • 非通用群組(不適用於使用者,但基於歷史原因而存在)
    • 信箱方案
    • 探索信箱
  • CBool(InStr(DNComponent(CRef([dn]),1),"\\0ACNF:")>0)。 請勿同步任何複製衝突物件。

適用下列屬性規則:

  • sourceAnchor <- IIF([msExchRecipientTypeDetails]=2,NULL,..)。 sourceAnchor 屬性不是來源於連接的信箱。 假設如果找到已連結的信箱,那麼稍後會將實際的帳戶加入。
  • 只有當屬性 mailNickName 具有值時,才會同步 Exchange 相關屬性。
  • 當有多個樹系時,會依下列順序取用屬性:
    1. 與登入相關的屬性(例如userPrincipalName)是從一個啟用帳戶的樹系中提供的。
    2. 您可以在 Exchange GAL (全域通訊清單)中找到的屬性,是由具有 Exchange 信箱的樹系提供。
    3. 如果找不到任何信箱,則這些屬性可能來自任何樹系。
    4. Exchange 相關屬性(GAL 中看不到的技術屬性)會從 mailNickname ISNOTNULL的樹系中提供。
    5. 如果有多個樹系滿足這些規則的其中一個,則會使用連接器(樹系)的建立順序(日期/時間)來判斷哪些樹系會貢獻屬性。 第一個連接的樹系是第一個要同步的樹系。

聯繫預設規則

聯絡人物件必須滿足下列條件才能同步處理:

  • 必須具有電子郵件屬性值。
  • 聯繫人必須啟用郵件功能。 它會使用下列規則進行驗證:
    • IsPresent([proxyAddresses]) = True)。 必須填入 proxyAddresses 屬性。
    • 您可以在 proxyAddresses 屬性或郵件屬性中找到主要電子郵件位址。 @ 的存在是用來驗證內容是否為電子郵件位址。 這兩個規則之一必須評估為真。
      • (Contains([proxyAddresses], "SMTP:") > 0) && (InStr(Item([proxyAddresses], Contains([proxyAddresses], "SMTP:")), "@") > 0))。 是否有包含「SMTP:」的條目?如果有,可以在字串中找到 @ 嗎?
      • (IsPresent([mail]) = True && (InStr([mail], "@") > 0)。 郵件屬性是否已填入,如果是,可以在字串中找到 @ 嗎?

下列聯絡人 並未 同步至 Microsoft Entra ID:

  • IsPresent([isCriticalSystemObject])。 請確保標示為重要的聯絡物件未被同步處理。 不應有任何預設配置的問題。
  • ((InStr([displayName], "(MSOL)") > 0) && (CBool([msExchHideFromAddressLists])))
  • (Left([mailNickname], 4) = "CAS_" && (InStr([mailNickname], "}") > 0))。 這些對象無法在 Exchange Online 中使用。
  • CBool(InStr(DNComponent(CRef([dn]),1),"\\0ACNF:")>0)。 請勿同步任何複製衝突物件。

分組預設規則

群組物件必須滿足下列條件才能同步處理:

  • 必須少於 250,000 個成員。 此計數是內部部署群組中的成員數目。
    • 如果在第一次開始同步之前有更多成員,則該群組將不進行同步。
    • 如果成員數目從最初建立時增加,則在達到 250,000 名成員時,將停止同步,直到成員數目再次低於 250,000。
    • 注意:250,000 個成員資格計數也會由 Microsoft Entra ID 強制執行。 即使修改或移除此規則,您也無法將群組與更多成員同步處理。
  • 如果群組是 通訊群組,則也必須啟用郵件。 如需了解如何強制執行此規則,請參閱預設聯繫規則

下列群組物件 尚未同步至 Microsoft Entra ID

  • IsPresent([isCriticalSystemObject])。 請確定 Active Directory 中的許多預設物件,例如預設的系統管理員群組,不予同步。
  • [sAMAccountName] = "MSOL_AD_Sync_RichCoexistence"。 DirSync 所使用的舊版群組。
  • BitAnd([msExchRecipientTypeDetails],&amp;H40000000)。 角色群組。
  • CBool(InStr(DNComponent(CRef([dn]),1),"\\0ACNF:")>0)。 請勿同步任何複製衝突物件。

ForeignSecurityPrincipal 開箱即用規則

FSP 會連接到元宇宙中的任意物件。 事實上,這種連接僅針對使用者和安全群組進行。 此組態可確保跨樹系成員資格在 Microsoft Entra 標識符中正確解析和表示。

電腦預設規則

電腦物件必須滿足下列條件才能同步:

  • userCertificate ISNOTNULL。 只有 Windows 10 電腦會填入此屬性。 具有此屬性值的所有計算機物件都會同步處理。

了解內建規則情境

在此範例中,我們會使用部署搭配一個帳戶樹系(A)、一個資源樹系(R),以及一個 Microsoft Entra 目錄。

圖片與案例描述

在此設定中,假設帳戶樹系中有已啟用帳戶,且資源樹系中有已停用的帳戶與連結信箱。

我們的預設組態目標是:

  • 啟用帳戶的登入相關屬性會從森林同步過來。
  • 在 GAL (全域通訊清單) 中找到的屬性會從樹系與信箱進行同步處理。 如果找不到任何信箱,則會使用其他樹林。
  • 如果找到連結的信箱,則必須找到該信箱所連結啟用的帳戶,才能將對象匯出至 Microsoft Entra ID。

同步處理規則編輯器

您可以使用 [同步處理規則編輯器] 工具來檢視和變更組態,並在 [開始] 選單中找到它的快捷方式。

同步處理規則編輯器圖示

SRE 是一個資源套件工具,且會隨 Microsoft Entra Connect Sync 一起安裝。若要能夠啟動它,您必須是 ADSyncAdmins 群組的成員。 啟動時,您會看到類似如下的內容:

同步處理規則匯入

在此窗格中,您會看到為組態建立的所有同步處理規則。 數據表中的每個行都是一個同步處理規則。 在左側的 [規則類型] 底下,會列出兩個不同的類型:輸入和輸出。 進入和傳出是從元宇宙的角度來看。 您主要將著重於本概覽中的入境規則。 同步處理規則的實際清單取決於AD中偵測到的架構。 在上圖中,帳戶樹系 (fabrikamonline.com) 沒有任何服務,例如 Exchange 和 Lync,而且尚未為這些服務建立任何同步處理規則。 不過,在資源樹系 (res.fabrikamonline.com) 中,您會找到這些服務的同步處理規則。 規則的內容會根據偵測到的版本而有所不同。 例如,在具有 Exchange 2013 的部署中,設定的屬性流程比 Exchange 2010/2007 多。

同步處理規則

同步處理規則是一個組態物件,其中一組屬性會在滿足條件時流動。 它也用來描述連接器空間中的物件如何與 Metaverse 中的物件相關,稱為 聯結比對。 同步處理規則具有優先順序值,指出它們彼此的關聯性。 具有較低數值的同步處理規則具有較高的優先順序,而且在屬性流程衝突中,較高的優先順序會贏得衝突解決。

例如,請檢視來自 AD 的同步處理規則 In – 使用者帳戶啟用。 在 SRE 中標示這一行,然後選取「編輯」

由於此規則是預設的規則,因此您在啟用規則時會收到警告。 您不應該對現成的規則進行任何 變更,因此系統會詢問您有哪些意圖。 在此情況下,您只想要檢視規則。 選取

同步處理規則警告

同步處理規則有四個組態區段:描述、範圍篩選、聯結規則和轉換。

描述

第一個區段提供基本資訊,例如名稱和描述。

同步處理規則編輯器中的 [描述] 索引標籤

您也可以找到此規則所關聯之連接的系統、其所套用之連接系統中的物件類型,以及 Metaverse 物件類型的相關信息。 無論來源物件類型是使用者、iNetOrgPerson 還是聯繫人,Metaverse 物件類型一律為人員。 Metaverse 物件類型不應該變更,因此會建立為泛型類型。 連結類型可以設定為 Join、StickyJoin 或 Provision。 此設定可與 [聯結規則] 區段搭配運作,稍後會討論。

您也可以看到此同步處理規則用於密碼同步處理。如果使用者在此同步處理規則的範圍內,密碼會從內部部署同步處理到雲端(假設您已啟用密碼同步處理功能)。

範圍篩選

[範圍篩選] 區段是用來設定何時應套用同步處理規則。 由於您查看的同步處理規則名稱表示它只應該套用給已啟用的使用者,因此,範圍已設定為 AD 屬性 userAccountControl 不得設置第 2 位元。 當同步處理引擎在 AD 中尋找使用者時,它會在 userAccountControl 設定為十進位值 512 (已啟用一般使用者) 時套用此同步處理規則。 當使用者 userAccountControl 設為 514 時,它不會套用規則(停用一般使用者)。

顯示 [編輯輸入同步處理規則] 視窗之 [範圍篩選] 區段的螢幕快照。

範圍篩選器可內嵌群組和子句。 群組中的所有子句都必須被滿足,才能套用同步規則(Synchronization Rule)。 定義多個群組時,至少必須滿足一個群組才能套用規則。 也就是說,會在群組之間評估邏輯 OR,並在群組內評估邏輯 AND。 您可以在輸出同步處理規則 輸出至 Microsoft Entra ID – Group Join中找到此設定的範例。 有數個同步處理篩選群組,例如安全組(securityEnabled EQUAL True),另一個用於通訊群組(securityEnabled EQUAL False)。

同步規則編輯器中的範圍索引標籤

將此規則用來定義應配置哪些群組至 Microsoft Entra ID 中。 通訊群組必須啟用郵件,才能與 Microsoft Entra ID 同步處理,但對於安全組而言,不需要電子郵件。

加入規則

第三個區段是用來設定連接器空間中的物件與Metaverse中對象的關係。 稍早您查看的規則沒有任何加入規則的設定,所以您應該查看 來自AD的「用戶聯結」。

「同步處理規則編輯器」中的「連接規則」索引標籤

聯結規則的內容取決於安裝精靈中選取的相符選項。 針對輸入規則,評估會以來源連接器空間中的對象開始,而聯結規則中的每個群組會依序評估。 如果評估來源物件時,使用其中一個聯結規則恰好比對上 Metaverse 中的一個物件,則該物件會被聯結。 如果已評估所有規則且沒有相符的規則,則會使用描述頁面上的連結類型。 如果此組態設定為 Provision,則會在目標 metaverse 中建立新的物件,如果聯結準則中至少有一個屬性存在(有值)。 若要將新的物件配置至 Metaverse,也稱為將物件投射至 Metaverse。

聯結規則只會評估一次。 聯結連接器空間物件和 Metaverse 物件時,只要同步處理規則的範圍仍滿足,它們就會保持聯結。

評估同步處理規則時,只有一個定義了聯結規則的同步處理規則需要納入考量。 如果對於一個物件,找到多個包含關聯規則的同步處理規則,則會產生錯誤。 基於這個理由,最佳做法是僅有一個具備聯結定義的同步處理規則,當多個同步處理規則適用於一個對象時。 在 Microsoft Entra Connect Sync 的現成組態中,透過查看名稱,尋找名稱結尾有 Join 的規則即可找到這些規則。 未定義任何聯結規則的同步處理規則會在另一個同步處理規則將對象聯結在一起或在目標中布建新物件時套用屬性流程。

如果您查看上圖,您可以看到規則嘗試將 objectSIDmsExchMasterAccountSid (Exchange) 和 msRTCSIP-OriginatorSid (Lync) 聯結,這是我們在帳戶資源樹系拓撲中預期的結果。 您可以在所有樹系上找到相同的規則。 假設每個森林都可以是帳戶或資源森林。 如果您的帳戶位於單一樹系中,而且不需要加入,則此設定也會運作。

轉變

轉換區段會定義所有屬性流程,這些流程會在聯結物件且滿足範圍篩選條件時套用至目標物件。 回到 AD 中的 – 使用者帳戶啟用 同步處理規則,您會發現下列轉換:

同步處理規則編輯器中的 [轉換] 索引標籤

為此設定提供背景,在 Account-Resource 樹系部署中,預期會發現帳戶樹系中已啟用的帳戶,以及資源樹系中已停用但具有 Exchange 和 Lync 設定的帳戶。 您查看的同步規則包含登入所需的屬性,這些屬性應該從包含使用中帳戶的樹系中傳送。 所有這些屬性流程都會放在一個同步處理規則中。

轉換可以有不同的類型:常數、直接和表達式。

  • 持續流動總是流動硬編碼的值。 在上述案例中,它一律會將 True 值設置在名為 accountEnabled的 metaverse 屬性中。
  • 直接流程一律會將來源中的 屬性值流至目標屬性 as-is。
  • 第三個流程類型是 Expression,它允許更進階的設定。

表達式語言是 VBA (Visual Basic for Applications),因此具有Microsoft Office 或 VBScript 體驗的人員會辨識格式。 屬性會以方括弧 [attributeName] 括住。 屬性名稱和函式名稱會區分大小寫,但同步處理規則編輯器會評估表示式,並在表達式無效時提供警告。 所有表達式都會以具有巢狀函式的單一行表示。 若要顯示組態語言的強大功能,以下是 pwdLastSet 的流程,但已插入其他批注:

// If-then-else
IIF(
// (The evaluation for IIF) Is the attribute pwdLastSet present in AD?
IsPresent([pwdLastSet]),
// (The True part of IIF) If it is, then from right to left, convert the AD time format to a .NET datetime, change it to the time format used by Azure AD, and finally convert it to a string.
CStr(FormatDateTime(DateFromNum([pwdLastSet]),"yyyyMMddHHmmss.0Z")),
// (The False part of IIF) Nothing to contribute
NULL
)

如需屬性流程表達式語言的詳細資訊,請參閱 瞭解宣告式布建表達式

優先次序

您現在已查看一些個別的同步處理規則,但是這些規則會在組態中一起運作。 在某些情況下,屬性值會從多個同步處理規則提供給相同的目標屬性。 在此情況下,會使用屬性優先順序來判斷哪一個屬性會獲勝。 例如,查看屬性 sourceAnchor。 此屬性是能夠登入 Microsoft Entra ID 的重要屬性。 您可以在兩個不同的同步規則中找到此屬性的屬性流程:[從 AD 匯入– 使用者帳戶啟用][從 AD 匯入– 使用者一般]。 由於同步處理規則的優先順序,當有多個對象聯結至 metaverse 物件時,sourceAnchor 屬性會優先從包含已啟用帳戶的樹系中提供。 如果沒有啟用的帳戶,同步處理引擎會使用 AD 中的通用使用者同步規則 ,適用所有情況的同步規則。 此設定可確保即使針對已停用的帳戶,仍然存在來源錨點。

同步處理規則匯入

同步處理規則的優先順序是由安裝精靈在群組中設定。 群組中的所有規則都有相同的名稱,但是它們會連線到不同的已連線目錄。 安裝精靈會將規則 In from AD – User Join 賦予最高優先順序,並逐一遍歷所有連線的 AD 目錄。 然後,它會依預先定義的順序繼續進行下一組規則。 在群組內,規則會依在精靈中新增連接器的順序添加。 如果透過精靈新增另一個連接器,則會重新排序同步處理規則,並在每個群組中最後插入新的連接器規則。

將所有部分整合在一起

我們現在已足夠瞭解同步處理規則,以便了解組態如何與不同的同步處理規則搭配運作。 如果您檢視參與 Metaverse 的使用者和屬性,規則會依下列順序套用:

名字 評論
從 Active Directory 加入的使用者 使用 Metaverse 聯結連接器空間對象的規則。
從 AD 進入 – 用戶帳戶已啟用 登入至 Microsoft Entra ID 和 Microsoft 365 所需的屬性。 我們想要從已啟用的帳戶取得這些屬性。
從 AD 匯入 – 從 Exchange 的用戶常用設定 在全域通訊錄中所找到的屬性。 我們假設在找到使用者信箱的森林中,數據品質是最好的。
從AD進來 - 用戶通用 在全域通訊錄中所找到的屬性。 如果找不到信箱,任何其他聯結的物件都可以貢獻屬性值。
來自 AD 的使用者交換 只有在偵測到 Exchange 時才存在。 會傳輸所有基礎架構的 Exchange 屬性。
來自 AD 的使用者 Lync 只有在偵測到 Lync 時才存在。 它會處理所有基礎結構 Lync 屬性。

後續步驟

概觀主題