本教學課程將逐步引導您設定雲端同步,將群組同步至內部部署 Active Directory Domain Services (AD DS)。
這很重要
當您將群組布建設定為 AD DS 時,建議使用 [選取的安全組 ] 作為預設範圍篩選器。 當您布建群組時,此預設範圍篩選有助於防止任何效能問題。
將 Microsoft Entra ID 布建至 Active Directory 網域服務 - 先決條件
需要下列必要條件,才能將布建群組實作至 Active Directory 網域服務 (AD DS)。
授權需求
使用此功能需要 Microsoft Entra ID P1 授權。 若要尋找適合您需求的授權,請參閱比較 Microsoft Entra ID 正式推出的功能。
一般需求
- 至少具有 [混合式身分識別系統管理員] 角色的 Microsoft Entra 帳戶。
- 具有 msDS-ExternalDirectoryObjectId 屬性的內部部署 AD DS 架構,可在 Windows Server 2016 和更新版本中使用。
- 使用組建 1.1.3730.0 版或更新版本布建代理程式。
注意
僅在全新安裝過程中才會指派給服務帳戶的權限。 如果您要從舊版升級,則必須使用 PowerShell 手動指派許可權:
$credential = Get-Credential
Set-AAD DSCloudSyncPermissions -PermissionType UserGroupCreateDelete -TargetDomain "FQDN of domain" -EACredential $credential
如果手動設定許可權,您必須為所有子系群組和用戶物件指派讀取、寫入、建立和刪除所有屬性。
這些許可權預設不會套用至 AdminSDHolder 物件。 如需詳細資訊,請參閱 Microsoft Entra 布建代理程式 gMSA PowerShell Cmdlet。
- 布建代理程式必須安裝在執行 Windows Server 2022、Windows Server 2019 或 Windows Server 2016 的伺服器上。
- 佈建代理程式必須能夠與連接埠 TCP/389 (LDAP) 和 TCP/3268 (通用類別目錄) 上的一或多個網域控制站進行通訊。
- 必要的,用於全域目錄查找以過濾掉無效的成員資格參考
- Microsoft Entra Connect Sync 與組建 2.22.8.0 版
- 需要支援內部部署使用者的成員資格,這些成員資格是使用 Microsoft Entra Connect Sync 進行同步的。
- 需要將
AD DS:user:objectGUID同步至AAD DS:user:onPremisesObjectIdentifier
Active Directory 配置的規模限制
Active Directory 群組配置功能的效能會受到租戶規模以及可配置至 Active Directory 的群組和成員數量影響。 本節提供如何判斷 GPAD 是否支援您的規模需求,以及如何選擇合適的群組範圍模式以達成更快的初始與變速同步週期。
哪些是不支援的?
- 超過5萬會員的團體則不被支援。
- 不支援在未套用屬性範圍過濾的情況下使用「所有安全群組」的範圍。
規模限制
| 範圍模式 | 範圍內群組數量 | 會員連結數量(僅限直接會員) | 註釋 |
|---|---|---|---|
| 「選取安全群組」模式 | 最多可達 10,000 個群組。 Microsoft Entra 入口網站的 CloudSync 面板最多只能選擇 999 個群組,並顯示最多 999 個群組。 如果你需要在作用範圍內新增超過 1000 個群組,請參考: 透過 API 擴展群組選擇。 | 涵蓋所有 相關群組,總會員人數可達25萬。 | 如果你的房客超過上述任何一項限制,請使用此範圍設定模式 1. 租戶擁有超過 20 萬用戶 2. 租戶擁有超過 4 萬個群組 3. 租戶擁有超過100萬團體會員。 |
| 「所有安全群組」模式,至少有一個屬性範圍過濾器。 | 最多2萬個群組。 | 涵蓋所有 範疇的群組,總會員人數可達50萬。 | 如果您的房客符合以下所有限制,請使用此範圍設定模式: 1. 租戶用戶少於 20 萬 2. 房客群組少於4萬 3. 租戶團體會員少於100萬。 |
如果你超過限制該怎麼辦
超過建議的限制會讓初始同步和差值同步變慢,可能會造成同步錯誤。 如果發生這種情況,請遵循以下步驟:
「選取安全群組」範圍模式中,群組或成員過多:
減少範圍內群組數量(目標為較高價值群組), 或將配置拆分成多個 獨立且範圍不相連的工作。
「所有安全群組」範圍模式中群組或成員過多:
請依建議使用 「選擇安全群組 」範圍模式。
有些團體成員超過5萬:
將成員分配 至多個群組,或採用分階段的群組(例如依區域或事業單位劃分),以保持每個群組在上限以下。
透過 API 擴展群組選擇
如果你需要選擇超過 999 個群組,必須使用 Grant an appRoleAssignment 給服務主體 的 API 呼叫。
API 呼叫的範例如下:
POST https://graph.microsoft.com/v1.0/servicePrincipals/{servicePrincipalID}/appRoleAssignedTo
Content-Type: application/json
{
"principalId": "",
"resourceId": "",
"appRoleId": ""
}
where:
- principalId:群組物件 ID。
- resourceId:工作負責人ID。
- appRoleId:由資源服務主體揭露的應用程式角色識別碼。
下表為雲端應用程式角色識別碼列表:
| 雲 | 應用角色編號 (appRoleId) |
|---|---|
| 公開 | 1a0abf4d-b9fa-4512-a3a2-51ee82c6fd9f |
| AzureUSGovernment | d8fa317e-0713-4930-91d8-1dbeb150978f |
| AzureUSNatCloud | 50a55e47-AAE2-425C-8DCB-ED711147A39f |
| AzureUSSecCloud | 52e862b9-0b95-43fe-9340-54f51248314f |
詳細資訊
以下是你在為 AD DS 配置群組時需要考慮的更多重點。
- 使用雲端同步布建至 Active Directory Domain Services (AD DS) 的群組只能包含使用內部部署同步的使用者或其他雲端建立的安全群組。
- 這些用戶必須在其帳戶上設定 onPremisesObjectIdentifier 屬性。
- onPremisesObjectIdentifier 必須符合目標 AD DS 環境中的對應 objectGUID。
- 內部部署使用者 objectGUID 屬性可以使用任一同步用戶端同步至雲端使用者 onPremisesObjectIdentifier 屬性。
- 只有全球的 Microsoft Entra ID 租戶才能從 Microsoft Entra ID 佈建到 AD DS。 不支援 B2C 等租戶。
- 群組佈建作業排程為每 20 分鐘執行一次。
群組與使用者 SOA 情境
| 用例 | 父群組類型 | 使用者成員群組類型 | 同步方向 | 同步處理的運作方式 |
|---|---|---|---|---|
| 一個安全群組,其 SOA 位於 雲端 , 且所有使用者成員 皆有本地 SOA | 安全群組的服務導向架構 (SOA) 在雲端 | SOA 部署於本地的使用者 | Entra 到 AD(AAD2ADGroup 配置) | 該工作會將所有成員參考(成員使用者)配置給父群組。 |
| 一個安全群組,其 SOA 在 雲端 , 且所有使用者成員 的 SOA 都在雲端 | 安全群組的服務導向架構 (SOA) 在雲端 | SOA 位於雲端上的使用者 | Entra 到 AD(AAD2ADGroup 配置) | 該工作會設定安全群組,但不會配置任何成員參考。 |
| 一個安全群組的 SOA 位於雲端,部分使用者成員使用 SOA 於雲端,另一些則是本地 SOA | 安全群組的服務導向架構 (SOA) 在雲端 | 有些使用者在雲端使用 SOA,而有些則在本地使用 SOA | Entra 到 AD(AAD2ADGroup 配置) | 該工作負責配置安全群組,僅包含 SOA 為本地部署的成員參考。 它會跳過其 SOA 位於雲端的成員參考。 |
| 一個安全群組,其 SOA 在 雲端 , 且沒有使用者成員 | 安全群組的服務導向架構 (SOA) 在雲端 | 無用戶會員 | Entra 到 AD(AAD2ADGroup 配置) | 該工作會設定安全群組(空成員)。 |
| 一個安全群組,其 SOA 位於本地,且所有使用者成員皆有本地 SOA | 安全群組的 SOA 是本地部署 | SOA 部署於本地的使用者 | Entra 到 AD(AAD2ADGroup 配置) | 該工作 不會 設定安全群組。 |
| 一個安全群組,其 SOA 位於本地,且所有使用者成員皆有雲端 SOA | 安全群組的 SOA 是本地部署 | SOA 位於雲端上的使用者 | Entra 到 AD(AAD2ADGroup 配置) | 該工作 不會 設定安全群組。 |
| 一個安全群組,其 SOA 位於 本地, 部分 使用者 成員使用 SOA 於 雲端 ,另一些則使用 SOA 本地 | 安全群組的 SOA 是本地部署 | 有些使用者在雲端使用 SOA,而有些則在本地使用 SOA | Entra 到 AD(AAD2ADGroup 配置) | 該工作 不會 設定安全群組。 |
| 一個安全群組,其 SOA 位於本地,且所有使用者成員皆有本地 SOA | 安全群組的 SOA 是本地部署 | SOA 部署於本地的使用者 | AD 到 Entra(AD2AADprovisioning) | 該工作會為安全群組提供所有成員參考(成員使用者)。 |
| 一個安全群組,其 SOA 位於本地,且所有使用者成員皆有雲端 SOA | 安全群組的 SOA 是本地部署 | SOA 位於雲端上的使用者 | AD 到 Entra(AD2AADprovisioning) | 該工作會為安全群組提供所有成員參考(成員使用者)。 因此,針對這些內部部署群組,將 SOA 轉換為雲端的成員參考也將會被同步。 |
| 一個安全群組,其 SOA 位於本地,部分使用者成員使用 SOA 於雲端,另一些則使用 SOA 本地 | 安全群組的 SOA 是本地部署 | 有些使用者在雲端使用 SOA,而有些則在本地使用 SOA | AD 到 Entra(AD2AADprovisioning) | 該工作會將所有成員參考(成員使用者)配置給父群組。 因此,針對這些內部部署群組,將 SOA 轉換為雲端的成員參考也將會被同步。 |
| 一個安全群組,其 SOA 位於本地且沒有使用者成員 | 安全群組的 SOA 是本地部署 | 無用戶會員 | AD 到 Entra(AD2AADprovisioning) | 該工作會設定安全群組(空成員)。 |
| 一個安全群組,其 SOA 位於 雲端 , 且所有使用者成員 皆有本地 SOA | 安全群組的 SOA 是雲端 | SOA 部署於本地的使用者 | AD 到 Entra(AD2AADprovisioning) | 該工作 不會 設定安全群組。 |
| 一個安全群組,其 SOA 在 雲端 , 且所有使用者成員 的 SOA 都在 雲端 | 安全群組的 SOA 是雲端 | SOA 位於雲端上的使用者 | AD 到 Entra(AD2AADprovisioning) | 該工作 不會 設定安全群組。 |
| 一個安全群組的 SOA 位於雲端,部分使用者成員使用 SOA 於雲端,另一些則是本地 SOA | 安全群組的 SOA 是雲端 | 有些使用者在雲端使用 SOA,而有些則在本地使用 SOA | AD 到 Entra(AD2AADprovisioning) | 該工作 不會 設定安全群組。 |
假設
本教學課程假設:
您有 AD DS 的內部部署環境
您已設置雲端同步,以將使用者同步至 Microsoft Entra ID。
您有兩個同步處理的使用者:Britta Simon 和 Lola Jacobson。 這些使用者存在於內部部署和 Microsoft Entra ID 中。
下列每個部門都會在AD DS中建立組織單位 (OU):
顯示名稱 辨別名稱 群組 OU=Marketing,DC=contoso,DC=com Sales OU=Sales,DC=contoso,DC=com Marketing OU=Groups,DC=contoso,DC=com
將使用者新增至雲端原生或授權來源 (SOA) 轉換的安全組
若要新增同步的使用者,請遵循下列步驟:
注意
只有同步的使用者成員參考會布建至 AD DS。
- 至少以混合式身分識別管理員身分登入 Microsoft Entra 系統管理中心。
- 流覽至 Entra ID>群組>所有群組。
- 在頂端的搜尋方塊中,輸入銷售。
- 選取新的 [銷售] 群組。
- 在左側,選取 [ 成員]。
- 在頂端,選取 [新增成員]。
- 在頂端的搜尋方塊中,輸入 Britta Simon。
- 將檢查放在 Britta Simon 旁邊,然後選取 [ 選取]。
- 它應該會成功將使用者新增至群組。
- 在最左邊,選取 [所有群組]。 使用 Sales 群組重複此程式,並將 Lola Jacobson 新增至該群組。
準備 SOA 轉換的群組,將其部署至原始組織單位 (OU) 路徑
完成下列步驟,準備您計劃轉換成雲端管理的群組,以便從 Microsoft Entra ID 佈建回內部部署 Active Directory 網域服務 (AD DS) 中的原始 OU 路徑:
- 將 AD DS 群組範圍變更為 [通用]。
- 建立特殊應用程式。
- 建立群組的目錄擴展屬性。
將 AD DS 群組的群組範圍變更為通用
- 開啟 Active Directory 管理中心。
- 在群組上按一下滑鼠右鍵,按一下 [內容]。
- 在 [ 群組 ] 區段中,選取 [ 通用 ] 作為群組範圍。
- 點選 [儲存]。
建立延伸模組
Cloud Sync 僅支援在名為 CloudSyncCustomExtensionsApp 的特殊應用程式上建立的擴充功能。 如果您的租用戶中不存在應用程式,您必須建立該應用程式。 每個租用戶執行一次此步驟。
如需如何建立延伸模組的詳細資訊,請參閱 雲端同步目錄延伸模組和自訂屬性對應。
開啟提升許可權的 PowerShell 視窗,然後執行下列命令來安裝模組並連線:
Install-Module Microsoft.Graph -Scope CurrentUser -Force Connect-MgGraph -Scopes "Application.ReadWrite.All","Directory.ReadWrite.All","Directory.AccessAsUser.All"檢查應用程式是否存在。 如果沒有,請創建它。 此外,請確定服務主體存在。
$tenantId = (Get-MgOrganization).Id $app = Get-MgApplication -Filter "identifierUris/any(uri:uri eq 'API://$tenantId/CloudSyncCustomExtensionsApp')" if (-not $app) { $app = New-MgApplication -DisplayName "CloudSyncCustomExtensionsApp" -IdentifierUris "API://$tenantId/CloudSyncCustomExtensionsApp" } $sp = Get-MgServicePrincipal -Filter "AppId eq '$($app.AppId)'" if (-not $sp) { $sp = New-MgServicePrincipal -AppId $app.AppId }現在新增名為 GroupDN 的目錄延伸模組屬性。 這將是群組物件上可用的字串屬性。
New-MgApplicationExtensionProperty ` -ApplicationId $app.Id ` -Name "GroupDN" ` -DataType "String" ` -TargetObjects Group
如需如何建立群組目錄延伸模組屬性的詳細資訊,請參閱 雲端同步目錄延伸模組和自訂屬性對應。
設定佈署
若要設定布建,請遵循下列步驟:
至少以混合式身分識別管理員身分登入 Microsoft Entra 系統管理中心。
流覽至 Entra ID>Entra Connect>Cloud sync。
選取 [新增設定]。
選擇 Microsoft Entra ID 到 AD 同步。
在組態畫面上,選取您的網域,以及是否啟用密碼哈希同步處理。選取 建立。
[Get started] 畫面會隨即出現。 您可以從這裡繼續設定雲端同步。
在左側,選取 [ 範圍篩選]。
針對 [群組範圍],選取 [選取的安全組]。
設定 OU 有兩種可能的方法:
您可以使用自訂運算式來確保使用相同的 OU 重新建立群組。 針對 ParentDistinguishedName 值使用下列運算式:
IIF( IsPresent([extension_<AppIdWithoutHyphens>_GroupDistinguishedName]), Replace( Mid( Mid( Replace([extension_<AppIdWithoutHyphens> _GroupDistinguishedName], "\,", , , "\2C", , ), Instr(Replace([extension_<AppIdWithoutHyphens> _GroupDistinguishedName], "\,", , , "\2C", , ), ",", , ), 9999 ), 2, 9999 ), "\2C", , , ",", , ), "<Existing ParentDistinguishedName>", )這個表達式:
- 如果延伸模組是空的,則使用預設 OU。
- 否則,會剝離 CN 部分並保留 parentDN 路徑,再次處理逸出的逗號。
此變更會導致完整同步處理,且不會影響現有群組。 使用 Microsoft Graph 測試設定現有群組的 GroupDN 屬性,並確定它移回原始 OU。
如果您不想保留內部部署的原始 OU 路徑和 CN 資訊,請在 [目標容器] 底下選取 [編輯屬性對應]。
您可以使用自訂運算式來確保群組以相同的CN重新建立。 針對 CN 值使用下列運算式:
IIF( IsPresent([extension_<AppIdWithoutHyphens>_GroupDistinguishedName]), Replace( Replace( Replace( Word(Replace([extension_<AppIdWithoutHyphens> _GroupDistinguishedName], "\,", , , "\2C", , ), 1, ","), "CN=", , , "", , ), "cn=", , , "", , ), "\2C", , , ",", , ), Append(Append(Left(Trim([displayName]), 51), "_"), Mid([objectId], 25, 12)), )這個表達式:
- 如果擴充套件是空的,則會從 DisplayName + ObjectId 產生備用 CN。
- 否則,擷取 CN,透過暫時將逸出的逗號取代為十六進位值來處理它們。
選取 [儲存]。
在左側,選取 [ 概觀]。
在頂端,選取 [ 檢閱並啟用]。
在右側,選取 [ 啟用組態]。
測試組態
注意
當您執行即時配置時,不會自動配置成員。 您必須選取要測試的成員,而限制為五個成員。
至少以混合式身分識別管理員身分登入 Microsoft Entra 系統管理中心。
流覽至 Entra ID>Entra Connect>Cloud sync。
在 [設定] 底下,選取您的設定。
在左側選取「隨需佈建」。
在 [選取的群組] 方塊中輸入 Sales。
從 [選取的使用者] 區段中,選取要測試的幾位使用者。
選取 條款。
您應該會看到已配置的群組。
在 AD DS 中確認
請遵循下列步驟,確定群組已布建至 AD DS:
將 SOA 已轉換物件的 AD DS 行為群組佈建
當您將授權來源(SOA)轉換為雲端以適用於內部部署的群組時,該群組便有資格啟用至 AD DS 的群組布建。
例如,在下圖中, SOA 或 SOATestGroup1 會轉換成雲端。 因此,它會在將群組布建至 AD DS 的群組中可供作業範圍使用。
當作業執行時,已成功布建 SOATestGroup1 。
在 佈署紀錄 中,您可以搜尋 SOATestGroup1 並確認該群組已成功布建。
詳細數據顯示 SOATestGroup1 與現有的目標組相符。
您也可以確認已更新目標組的 adminDescription 和 cn 。
當您查看 AD DS 時,您會發現原始群組已更新。
雲端服務會略過布建已轉換的SOA物件至Microsoft Entra ID
如果您在將 SOA 轉換成雲端之後嘗試編輯 AD DS 中的群組屬性,Cloud Sync 會在布建期間略過物件。
假設我們有一個群組 SOAGroup3,並將其組名更新為 SOA Group3.1。
在配置記錄中,您可以看到已略過SOAGroup3。
詳細數據說明物件不會同步處理,因為它的SOA會轉換成雲端。
巢狀群組和成員資格參考處理
下表說明在不同使用案例中,將 SOA 轉換後,佈建如何處理成員資格參考。
| 用例 | 父群組類型 | 成員群組類型 | 工作 | 同步處理的運作方式 |
|---|---|---|---|---|
| Microsoft Entra 父安全群組只有 Microsoft Entra 成員。 | Microsoft Entra 安全群組 | Microsoft Entra 安全群組 | AAD2ADGroupProvisioning (將群組布建至 AD DS) | 該工作為父群組及其所有成員群組提供參考。 |
| Microsoft Entra 父安全群組有一些成員分別屬於同步的群組。 | Microsoft Entra 安全群組 | AD DS 安全組 (同步群組) | AAD2ADGroupProvisioning (將群組布建至 AD DS) | 作業會布建父群組,但不會布建 AD DS 群組的所有成員參考(成員群組)。 |
| Microsoft Entra 父安全組有一些已同步群組的成員,其 SOA 會轉換成雲端。 | Microsoft Entra 安全群組 | 將 SOA 轉換成雲端的 AD DS 安全組。 | AAD2ADGroupProvisioning (將群組布建至 AD DS) | 該工作為父群組及其所有成員群組提供參考。 |
| 您將同步群組(父群組)的 SOA 進行轉換,該群組包含雲端擁有的成員群組。 | 已將 SOA 轉換成雲端的 AD DS 安全組 | Microsoft Entra 安全群組 | AAD2ADGroupProvisioning (將群組布建至 AD DS) | 該工作為父群組及其所有成員群組提供參考。 |
| 您將同步群組(作為父群組)的 SOA 進行轉換,該群組擁有其他同步群組作為成員。 | 已將 SOA 轉換成雲端的 AD DS 安全組 | AD DS 安全組 (同步群組) | AAD2ADGroupProvisioning (將群組布建至 AD DS) | 作業會布建父群組,但不會布建 AD DS 安全組的所有成員參考(成員群組)。 |
| 您可以轉換已同步群組的SOA(父系),其成員是已將SOA轉換成雲端的其他同步群組。 | 已將 SOA 轉換成雲端的 AD DS 安全組 | 已將 SOA 轉換成雲端的 AD DS 安全組 | AAD2ADGroupProvisioning (將群組布建至 AD DS) | 該工作為父群組及其所有成員群組提供參考。 |
復原 SOA 轉換的群組之後,將群組布建至 AD DS 行為
如果您的範圍中有 SOA 轉換的群組,而且您會復原 SOA 轉換的群組,使其由 AD DS 擁有,則群組布建至 AD DS 會停止同步處理變更,但不會刪除內部部署群組。 它也會從組態範圍中移除群組。 群組的內部部署控制會在下一個同步處理週期中繼續執行。