Microsoft Entra Connect:設計概念

本檔的目的是描述設定 Microsoft Entra 連線 時必須考慮的領域。 本檔是特定領域的深入探討,這些概念也會在其他文件中簡短說明。

sourceAnchor

sourceAnchor 屬性定義為「在物件存留期的不可變屬性」。 它可將物件唯一識別為內部部署和 Microsoft Entra ID 中的相同物件。 屬性也稱為 immutableId ,而且兩個名稱會交替使用。

不可變的字組,即「無法變更」,對於這份檔很重要。 由於此屬性的值在設定之後無法變更,因此請務必挑選支援您案例的設計。

此屬性適用於下列案例:

  • 當建置新的同步引擎伺服器或在災害復原案例之後進行重建時,此屬性會連結 Microsoft Entra ID 中的現有物件與內部部署物件。
  • 如果您從僅限雲端的身分識別移至同步身分識別模型,則此屬性可讓物件「完全比對」Microsoft Entra ID 中的現有物件與內部部署物件。
  • 如果您使用同盟,則會在宣告中使用此屬性搭配 userPrincipalName 來唯一識別使用者。

本主題只會討論sourceAnchor,因為它與用戶有關。 相同的規則會套用至所有物件類型,但只針對使用者而言,這個問題通常是一個考慮。

選取良好的 sourceAnchor 屬性

屬性值必須遵循下列規則:

  • 長度少於 60 個字元
    • 不是 a-z、A-Z 或 0-9 的字元會編碼並計算為 3 個字元
  • 不包含特殊字元:\ ! # $ % & * + / = ? ^ ' { } |~ <> ( ) ' ; : , [ ] “ @ _
  • 必須是全域唯一的
  • 必須是字串、整數或二進位
  • 不應該根據使用者的名稱,因為這些名稱可能會變更
  • 不應區分大小寫,並避免可能會因大小寫而改變的值
  • 建立物件時應該要予以指派

如果選取的 sourceAnchor 不是字串類型,則 Microsoft Entra 連線 Base64Encode 屬性值,以確保不會出現任何特殊字元。 如果您使用ADFS以外的另一部同盟伺服器,請確定您的伺服器也可以Base64Encode屬性。

sourceAnchor 屬性會區分大小寫。 “JohnDoe” 的值與 “johndoe” 的值不同。 但是您不應該有兩個不同的物件,以防萬一。

如果您有單一樹系內部部署,則您應該使用的屬性是 objectGUID。 這也是您在 Microsoft Entra 連線 中使用快速設定時所使用的屬性,也是 DirSync 所使用的屬性。

如果您有多個樹系,且不會在樹系和網域之間移動使用者,則 objectGUID 是一個很好的屬性,即使在此案例中也是如此。

如果您在樹系和網域之間移動使用者,則必須找到不會變更或可在移動期間與使用者一起移動的屬性。 建議的方法是引進綜合屬性。 可以保存類似 GUID 的屬性適合。 在物件建立期間,會在使用者上建立並戳記新的 GUID。 您可以在同步處理引擎伺服器中建立自定義同步規則,以根據 objectGUID 建立此值,並在 AD DS 中更新選取的屬性。 當您移動物件時,請務必也複製此值的內容。

另一個解決方案是選擇已知不會變更的現有屬性。 常用的屬性包括 employeeID。 如果您考慮使用含有字母的屬性,請確定屬性值的大小寫 (大寫與小寫) 沒機會變更。 不該使用的不合適屬性,包括含使用者名稱的屬性。 在婚姻或離婚中,此名稱預期會變更,此屬性不允許此名稱。 這也是在 Microsoft Entra 連線 安裝精靈中無法選取如 userPrincipalName、mail 和 targetAddress屬性的原因之一。 這些屬性也包含 sourceAnchor 中不允許的 “@” 字元。

變更sourceAnchor屬性

在 Microsoft Entra 識別符中建立物件並同步處理身分識別之後,就無法變更 sourceAnchor 屬性值。

因此,下列限制適用於 Microsoft Entra 連線:

  • sourceAnchor 屬性只能在初始安裝期間設定。 如果您重新執行安裝精靈,此選項是唯讀的。 如果您需要變更此設定,則必須卸載並重新安裝。
  • 如果您安裝另一部 Microsoft Entra 連線 伺服器,則必須選取與先前使用的相同 sourceAnchor 屬性。 如果您先前已使用 DirSync 並移至 Microsoft Entra 連線,則必須使用 objectGUID,因為這是 DirSync 所使用的屬性。
  • 如果在對象導出至 Microsoft Entra ID 之後變更 sourceAnchor 的值,則 Microsoft Entra 連線 Sync 會擲回錯誤,而且在修正問題之前,不允許在該物件上再進行任何變更,而且 sourceAnchor 會變更回來源目錄中。

使用 ms-DS-ConsistencyGuid 作為 sourceAnchor

根據預設,Microsoft Entra 連線 (1.1.486.0 版和更新版本) 會使用 objectGUID 作為 sourceAnchor 屬性。 ObjectGUID 是系統產生的。 您無法在建立內部部署 AD 物件時指定其值。 如 sourceAnchor 一節所述,您需要指定 sourceAnchor 值的情況。 如果案例適用於您,您必須使用可設定的 AD 屬性(例如 ms-DS-ConsistencyGuid)作為 sourceAnchor 屬性。

Microsoft Entra 連線 (1.1.524.0 版和更新版本)現在有助於使用 ms-DS-ConsistencyGuid 作為 sourceAnchor 属性。 使用此功能時,Microsoft Entra 連線 會自動將同步處理規則設定為:

  1. 使用 ms-DS-ConsistencyGuid 作為 User 物件的 sourceAnchor 属性。 ObjectGUID 用於其他物件類型。

  2. 對於未填入 ms-DS-ConsistencyGuid 屬性的任何指定內部部署 AD User 物件,Microsoft Entra 連線 將其 objectGUID 值寫回 內部部署的 Active Directory 中的 ms-DS-ConsistencyGuid 屬性。 填入 ms-DS-ConsistencyGuid 屬性之後,Microsoft Entra 連線 然後將對象導出至 Microsoft Entra ID。

注意

一旦內部部署 AD 物件匯入 Microsoft Entra 連線(也就是匯入 AD 連線 or Space 並投影到 Metaverse),您就無法再變更其 sourceAnchor 值。 若要指定指定內部部署 AD 物件的 sourceAnchor 值,請在匯入 Microsoft Entra 連線 之前,先設定其 ms-DS-ConsistencyGuid 屬性。

需要許可權

若要讓這項功能能夠運作,用來與 內部部署的 Active Directory 同步處理的 AD DS 帳戶必須授與 內部部署的 Active Directory 中 ms-DS-ConsistencyGuid 屬性的寫入許可權。

如何啟用 ConsistencyGuid 功能 - 新增安裝

您可以在新安裝期間,啟用 ConsistencyGuid 作為 sourceAnchor 的使用。 本節涵蓋 Express 和 Custom 安裝的詳細數據。

注意

只有較新版本的 Microsoft Entra 連線 (1.1.524.0 及更新版本)支援在新安裝期間使用 ConsistencyGuid 作為 sourceAnchor。

如何啟用 ConsistencyGuid 功能

快速安裝

使用 Express 模式安裝 Microsoft Entra 連線 時,Microsoft Entra 連線 精靈會自動使用下列邏輯來判斷要作為 sourceAnchor 属性使用的最適當 AD 屬性:

  • 首先,Microsoft Entra 連線 精靈會查詢您的 Microsoft Entra 租使用者,以擷取 AD 屬性,以作為先前 Microsoft Entra 連線 安裝中的 sourceAnchor 屬性(如果有的話)。 如果這項資訊可用,Microsoft Entra 連線 會使用相同的 AD 屬性。

    注意

    只有較新版本的 Microsoft Entra 連線 (1.1.524.0 和更新版本)會將有關安裝期間所用 sourceAnchor 屬性的資訊儲存在 Microsoft Entra 租使用者中。 舊版的 Microsoft Entra 連線 不會。

  • 如果無法使用sourceAnchor屬性的相關信息,精靈會檢查 內部部署的 Active Directory 中 ms-DS-ConsistencyGuid 屬性的狀態。 如果未在目錄中的任何對象上設定屬性,精靈會使用 ms-DS-ConsistencyGuid 做為 sourceAnchor 屬性。 如果屬性設定在目錄中的一或多個物件上,精靈會結束其他應用程式正在使用屬性,而且不適合作為 sourceAnchor 屬性...

  • 在此情況下,精靈會回復為使用 objectGUID 做為 sourceAnchor 屬性。

  • 決定 sourceAnchor 屬性之後,精靈會將此資訊儲存在您的 Microsoft Entra 租用戶中。 未來安裝 Microsoft Entra Connect 時會用到此資訊。

快速安裝完成之後,精靈會通知您哪個屬性已挑選為來源錨點屬性。

Wizard informs AD attribute picked for sourceAnchor

自訂安裝

使用自定義模式安裝 Microsoft Entra 連線 時,Microsoft Entra 連線 精靈會在設定 sourceAnchor 属性時提供兩個選項:

Custom installation - sourceAnchor configuration

設定 描述
讓 Microsoft Entra ID 管理我的來源錨點 如果您想要 Microsoft Entra ID 為您挑選屬性,請選取此選項。 如果您選取此選項,Microsoft Entra 連線 精靈會套用 Express 安裝期間所使用的相同 sourceAnchor 屬性選取邏輯。 與快速安裝類似,精靈會通知您在自定義安裝完成之後,已挑選哪一個屬性做為來源錨點屬性。
特定屬性 如果您想要將現有的AD屬性指定為sourceAnchor屬性,請選取此選項。

如何啟用 ConsistencyGuid 功能 - 現有的部署

如果您有使用 objectGUID 作為 Source Anchor 屬性的現有 Microsoft Entra 連線 部署,您可以改為使用 ConsistencyGuid 將其切換為 。

注意

只有較新版本的 Microsoft Entra 連線 (1.1.552.0 和更新版本)支援從 ObjectGuid 切換至 ConsistencyGuid 作為來源錨點屬性。

若要從 objectGUID 切換至 ConsistencyGuid 作為 Source Anchor 属性:

  1. 啟動 Microsoft Entra 連線 精靈,然後按兩下 [設定] 以移至 [工作] 畫面。

  2. 選取 [設定 來源錨點 ] 工作選項,然後按 [ 下一步]。

    Enable ConsistencyGuid for existing deployment - step 2

  3. 輸入您的 Microsoft Entra 管理員 istrator 認證,然後按 [下一步]。

  4. Microsoft Entra 連線 精靈會分析 內部部署的 Active Directory 中 ms-DS-ConsistencyGuid 屬性的狀態。 如果未在目錄中的任何對象上設定屬性,Microsoft Entra 連線 得出結論,目前沒有任何其他應用程式使用 屬性,而且可以安全地使用它作為Source Anchor 屬性。 選取 [下一步] 以繼續操作。

    Enable ConsistencyGuid for existing deployment - step 4

  5. 在 [ 準備設定] 畫面中,按兩下 [ 設定 ] 進行設定變更。

    Enable ConsistencyGuid for existing deployment - step 5

  6. 組態完成後,精靈會指出 ms-DS-ConsistencyGuid 現在正當做來源錨點屬性使用。

    Enable ConsistencyGuid for existing deployment - step 6

在分析期間(步驟 4),如果在目錄中的一或多個對象上設定屬性,精靈會結束另一個應用程式正在使用屬性,並傳回錯誤,如下圖所示。 如果您先前已在主要 Microsoft Entra 連線 伺服器上啟用 ConsistencyGuid 功能,而且您嘗試在預備伺服器上執行相同的動作,也可能會發生此錯誤。

Enable ConsistencyGuid for existing deployment - error

如果您確定其他現有應用程式未使用屬性,您可以重新啟動 Microsoft Entra 連線 精靈,並指定 /SkipLdapSearch 參數,以隱藏錯誤。 若要這樣做,請在命令提示字元中執行下列命令:

"c:\Program Files\Microsoft Azure Active Directory Connect\AzureADConnect.exe" /SkipLdapSearch

對 AD FS 或第三方同盟設定的影響

如果您使用 Microsoft Entra 連線 來管理內部部署 AD FS 部署,Microsoft Entra 連線 會自動更新宣告規則,以使用與 sourceAnchor 相同的 AD 屬性。 這可確保ADFS所產生的ImmutableID宣告與導出至 Microsoft Entra ID 的 sourceAnchor 值一致。

如果您要管理 Microsoft Entra 外部的 AD FS 連線,或是使用第三方同盟伺服器進行驗證,您必須手動更新 ImmutableID 宣告的宣告規則,使其與導出至 Microsoft Entra ID 的 sourceAnchor 值一致,如修改 AD FS 宣告規則一節所述。 安裝完成之後,精靈會傳回下列警告:

Third-party federation configuration

將新的目錄新增至現有的部署

假設您已部署已啟用 ConsistencyGuid 功能的 Microsoft Entra 連線,現在您想要將另一個目錄新增至部署。 當您嘗試新增目錄時,Microsoft Entra 連線 精靈會檢查目錄中 ms-DS-ConsistencyGuid 屬性的狀態。 如果屬性是在目錄中的一或多個對象上設定,精靈會結束其他應用程式正在使用屬性,並傳回錯誤,如下圖所示。 如果您確定現有應用程式未使用屬性,您可以重新啟動 Microsoft Entra 連線 精靈,並指定如上述所述的 /SkipLdapSearch 參數,或您需要連絡支持人員以取得詳細資訊,以隱藏錯誤。

Adding new directories to existing deployment

檢視 Microsoft Entra 登入記錄

將內部部署目錄與 Microsoft Entra ID 整合時,請務必瞭解同步處理設定如何影響用戶驗證的方式。 Microsoft Entra ID 會使用 userPrincipalName (UPN) 來驗證使用者。 不過,當您同步使用者時,必須小心選擇要用於 userPrincipalName 值的屬性。

選擇userPrincipalName的屬性

當您選取屬性以提供要在 Microsoft Entra ID 中使用的 UPN 值時,應該確保

  • 屬性值符合UPN語法 (RFC 822),其格式應為 username@domain
  • 這些值的尾碼符合 Microsoft Entra ID 中其中一個已驗證的自訂網域

在快速設定中,屬性的假定選擇會是 userPrincipalName。 如果userPrincipalName屬性未包含您希望使用者登入 Microsoft Entra ID 的值,則必須選擇 [ 自定義安裝]。

注意

建議使用 UPN 前置詞包含多個字元的最佳做法。

自訂網域狀態和UPN

請務必確定 UPN 後綴有已驗證的網域。

John 是 contoso.com 中的使用者。 您希望 John 在將使用者同步至 Microsoft Entra 目錄 contoso.onmicrosoft.com 之後,使用內部部署 UPN john@contoso.com 來登入 Microsoft Entra 識別符。 若要這樣做,您必須將 contoso.com 新增為 Microsoft Entra ID 中的自訂網域並加以驗證,才能開始同步使用者。 例如,如果 John 的 UPN 後綴 contoso.com,不符合 Microsoft Entra ID 中的已驗證網域,則 Microsoft Entra ID 會將 UPN 後綴取代為 contoso.onmicrosoft.com。

Microsoft Entra ID 的非可路由內部部署網域和 UPN

某些組織具有無法路由傳送的網域 (例如 contoso.local) 或簡單的單一標籤網域 (例如 contoso)。 您無法在 Microsoft Entra 識別碼中驗證無法路由傳送的網域。 Microsoft Entra Connect 只能同步處理至 Microsoft Entra ID 中的已驗證網域。 當您建立 Microsoft Entra 目錄時,會建立可路由傳送的網域,而該網域會成為您 Microsoft Entra ID 的預設網域 (例如 contoso.onmicrosoft.com)。 因此,如果您不想要同步到預設的 onmicrosoft.com 網域,則必須在此類案例中驗證任何其他可路由傳送的網域。

如需新增和驗證網域的詳細資訊,請參閱 將自定義功能變數名稱新增至 Microsoft Entra ID

Microsoft Entra Connect 會偵測您是否在無法路由傳送的網域環境中執行,並且會適當地警告您不要繼續進行快速設定。 如果您正在非可路由網路中作業,則使用者UPN也可能有無法路由的後綴。 例如,如果您在 contoso.local 下執行,Microsoft Entra 連線 建議您使用自定義設定,而不是使用快速設定。 使用自定義設定,您可以在使用者同步處理至 Microsoft Entra ID 之後,指定應該當做 UPN 用來登入 Microsoft Entra ID 的屬性。

下一步

深入瞭解 整合內部部署身分識別與 Microsoft Entra ID