佈建 Active Directory 使用者帳戶

Last reviewed 2024-06-26 UTC

本文說明如何使用 Google Cloud Directory Sync (GCDS),在 Active Directory 與 Cloud Identity 或 Google Workspace 帳戶之間設定使用者和群組佈建。

如要依照本指南的說明操作,您必須能夠存取可以管理 Active Directory 中的使用者和群組的 Active Directory 使用者。此外,如果您沒有 Cloud Identity 或 Google Workspace 帳戶,將需要 DNS 區域的管理存取權才能驗證網域。如果您已經有 Cloud Identity 或 Google Workspace 帳戶,請確認使用者具有超級管理員權限。

目標

  • 安裝 GCDS,並將其連結至 Active Directory 和 Cloud Identity 或 Google Workspace。
  • 設定 GCDS 以便為 Google Cloud佈建使用者,並視需要佈建群組。
  • 設定排程工作,以便持續佈建。

費用

如果您是使用 Cloud Identity 免費版,依照本指南操作將不會使用任何可計費 Google Cloud 元件。

事前準備

  • 確認您瞭解 如何將 Active Directory 身分識別管理功能延伸至 Google Cloud
  • 決定您要如何對應身分識別、群組與網域。具體來說,請確認您已回答下列問題:

    • 您打算使用哪個 DNS 網域做為 Cloud Identity 或 Google Workspace 的主網域?您打算使用其他哪些 DNS 網域做為次要網域?
    • 您是否需要使用網域替代?
    • 您是否打算使用電子郵件地址 (mail) 或使用者主要名稱 (userPrincipalName) 做為使用者的通用 ID?
    • 您是否打算佈建群組?如果是,是要使用通用名稱 (cn) 還是電子郵件地址 (mail) 做為群組的通用 ID?

    如果在做這些決定時需要指南,請參閱將 Active Directory 身分識別與存取管理功能延伸至 Google Cloud的總覽文件

  • 將實際工作環境中的 Active Directory 連線至 Google Cloud之前,請考慮使用 Active Directory 測試環境來設定及測試使用者佈建作業。

  • 如果您還沒有帳戶,請註冊 Cloud Identity,如有需要,並新增其他 DNS 網域

  • 如果您使用 Cloud Identity 免費版,並且想要佈建 50 位以上的使用者,請透過支援聯絡人員要求增加 Cloud Identity 免費使用者的總數。

  • 如果您懷疑要用於 Cloud Identity 的網域中,有任何網域已被員工用來註冊個人帳戶,建議您先遷移這些使用者帳戶。詳情請參閱「評估現有使用者帳戶」。

規劃 GCDS 部署作業

以下各節將說明如何規劃 GCDS 部署作業。

決定 GCDS 部署位置

GCDS 可將 LDAP 目錄中的使用者和群組佈建至 Cloud Identity 或 Google Workspace。做為 LDAP 伺服器與 Cloud Identity 或 Google Workspace 之間的媒介,GCDS 會查詢 LDAP 目錄並從該目錄擷取必要資訊,且使用 Directory API 在 Cloud Identity 或 Google Workspace 帳戶中新增、修改或刪除使用者。

由於 Active Directory 網域服務是以 LDAP 為基礎,GCDS 非常適合在 Active Directory 與 Cloud Identity 或 Google Workspace 之間實作使用者佈建作業。

將內部部署 Active Directory 基礎架構連線至Google Cloud時,您可以在內部部署時,或者在 Google Cloud的 Compute Engine 虛擬機器上執行 GCDS。在大多數情況下,最好在內部部署 GCDS:

  • 由於 Active Directory 管理的資訊包括可識別個人身分的資訊,且這些資訊通常相當敏感,您可能不會想要允許使用者從區域網路外部存取 Active Directory。
  • 根據預設,Active Directory 會使用未加密的 LDAP。如果您從 Google Cloud中遠端存取 Active Directory,應使用加密的通訊方式。儘管可以使用 LDAPS (LDAP+SSL) 或 Cloud VPN 加密連線。
  • 從 GCDS 到 Cloud Identity 或 Google Workspace 的通訊是透過 HTTPS 執行,且不太需要甚至完全不需要變更您的防火牆設定。

您可以在 Windows 或 Linux 上執行 GCDS。儘管可以在網域控制器上部署 GCDS,但最好是在單獨的機器上執行 GCDS。這部機器必須符合系統需求,並且擁有 Active Directory 的 LDAP 存取權。雖然這部機器並非必須納入網域或執行 Windows,但本指南會假設 Cloud Directory Sync 在納入網域的 Windows 電腦上執行。

為了協助設定佈建作業,GCDS 包含稱為「設定管理員」的圖形使用者介面 (GUI)。如果您執行 GCDS 所在的伺服器具有桌面體驗,您可以在伺服器本身之上執行設定管理員。否則,您必須在本機執行設定管理員,然後將產生的設定檔複製到伺服器,您可以在此使用該設定檔執行 GCDS。本指南假設您在具有 GUI 的伺服器上執行設定管理員。

決定資料擷取位置

GCDS 使用 LDAP 與 Active Directory 互動,以及擷取使用者和群組的相關資訊。為了實現這樣的互動,GCDS 需要您在設定中提供主機名稱與通訊埠。在僅執行單一全域目錄 (GC) 伺服器的小型 Active Directory 環境中,提供主機名稱和通訊埠不算是問題,因為您可以將 GCDS 直接指向全域目錄伺服器。

在執行備援 GC 伺服器的更複雜環境中,將 GCDS 指向單一伺服器並不會使用備援功能,因此這種做法並不理想。儘管可以設定負載平衡器,在多個 GC 伺服器之間分配 LDAP 查詢,並追蹤可能暫時無法使用的伺服器,但建議使用 DC Locator 機制動態尋找伺服器。

根據預設,GCDS 要求您明確指定 LDAP 伺服器的端點,且不支援使用 DC Locator 機制。在本指南中,您會透過 DC Locator 機制,以小型的 PowerShell 指令碼補強 GCDS,這樣您就不必靜態設定全域目錄伺服器的端點。

準備 Cloud Identity 或 Google Workspace 帳戶

本節說明如何為 GCDS 建立使用者。如要讓 GCDS 與 Cloud Identity 和 Google Workspace 的 Directory APIDomain Shared Contacts API 互動,應用程式需要具備管理員權限的使用者帳戶。

申請使用 Cloud Identity 或 Google Workspace 時,您已經建立了一個超級管理員使用者。雖然您可以將此使用者用於 GCDS,但最好是建立 Cloud Directory Sync 專用的單獨使用者:

  1. 開啟管理控制台,並使用您在註冊 Cloud Identity 或 Google Workspace 時建立的超級管理員使用者登入。
  2. 在選單中,依序按一下「目錄」>「使用者」,然後按一下「新增使用者」,建立使用者。
  3. 提供適當的名稱與電子郵件地址,例如:

    1. 名字Google Cloud
    2. 姓氏Directory Sync
    3. 「Primary email」(主要電子郵件)cloud-directory-sync

    即使網域並不對應至您要設定的樹系,也請在電子郵件地址中保留主要網域。

  4. 確認 [Automatically generate a new password] (自動產生新密碼) 設定為 [Disabled] (已停用),並輸入密碼。

  5. 確認 [Ask for a password change at the next sign-in] (要求在下次登入變更密碼) 設定為 [Disabled] (已停用)

  6. 按一下 [Add New User] (新增使用者)

  7. 按一下 [完成]

如要讓 GCDS 建立、列出及刪除使用者帳戶與群組,使用者需要其他權限。此外,將使用者排除在單一登入之外也是個不錯的主意,否則當遇到單一登入問題時,您可能無法重新授權 GCDS。只要將使用者設為超級管理員,這兩個目的都能夠達成:

  1. 在清單中找出新建立的使用者,並加以開啟。
  2. 在 [Admin roles and privileges] (管理員角色與權限) 下,按一下 [Assign Roles] (指派角色)
  3. 啟用 [Super Admin] (超級管理員) 角色。
  4. 按一下 [儲存]

設定使用者佈建

以下各節說明如何設定使用者佈建作業。

為 GCDS 建立 Active Directory 使用者

如要讓 GCDS 從 Active Directory 擷取使用者與群組相關資訊,GCDS 也需要擁有足夠存取權的網域使用者。您不用為此重複使用現有的 Windows 使用者,而是可以建立 GCDS 的專用使用者:

圖形介面

  1. 從「開始」選單開啟「Active Directory 使用者和電腦」 MMC 嵌入式管理單元。
  2. 前往您建立使用者所在的網域與機構單位。如果您的樹系中有多個網域,請在與 GCDS 機器相同的網域中建立使用者。
  3. 在右側視窗窗格中按一下滑鼠右鍵,選擇 [New] (新增) > [User] (使用者)
  4. 提供適當的名稱與電子郵件地址,例如:
    1. 名字Google Cloud
    2. 姓氏Directory Sync
    3. 使用者登入名稱gcds
    4. User logon name (pre-Windows 2000) (使用者登入名稱 (Windows 2000 前版)):gcds
  5. 點選「下一步」
  6. 提供符合密碼政策的密碼。
  7. 清除 [User must change password at next logon] (使用者必須在下次登入時變更密碼)
  8. 選取 [Password never expires] (密碼永不到期)
  9. 依序按一下 [Next] (下一步) 及 [Finish] (完成)

PowerShell

  1. 以系統管理員身分開啟 PowerShell 主控台。
  2. 執行下列指令,建立使用者:

     New-ADUser -Name "Google Cloud Directory Sync" `
        -GivenName "Google Cloud" `
        -Surname "Directory Sync" `
        -SamAccountName "gcds" `
        -UserPrincipalName (-Join("gcds@",(Get-ADDomain).DNSRoot)) `
        -AccountPassword(Read-Host -AsSecureString "Type password for User") `
        -Enabled $True
     

現在您已經符合安裝 GCDS 的必備條件。

安裝 GCDS

您將執行 GCDS 的機器上,下載並執行 GCDS 安裝程式。您不必使用瀏覽器執行下載作業,而是可以使用下列 PowerShell 指令下載安裝程式:

(New-Object net.webclient).DownloadFile("https://dl.google.com/dirsync/dirsync-win64.exe", "$(pwd)\dirsync-win64.exe")

下載完成後,您可以執行下列指令來啟動安裝精靈:

.\dirsync-win64.exe

如果您已安裝 GCDS,可以更新 GCDS,確保您使用的是最新版本

建立 GCDS 設定的資料夾

GCDS 會將其設定儲存在 XML 檔案中。由於此設定包含 GCDS 用來向 Google 驗證的 OAuth 更新憑證,請確認用於設定的資料夾安全。

此外,由於 GCDS 不需要存取此資料夾以外的本機資源,因此您可以設定 GCDS 以受限制的使用者 (LocalService) 權限執行:

  1. 在安裝 GCDS 的電腦上,以本機管理員身分登入。
  2. 開啟具有管理權限的 PowerShell 主控台。
  3. 執行下列指令來建立名為 $Env:ProgramData\gcds 的資料夾,用於儲存設定,然後套用存取控制清單 (ACL),以便只有 GCDS 和管理員具有存取權:

    $gcdsDataFolder = "$Env:ProgramData\gcds"
    New-Item -ItemType directory -Path  $gcdsDataFolder
    &icacls "$gcdsDataFolder" /inheritance:r
    &icacls "$gcdsDataFolder" /grant:r "CREATOR OWNER:(OI)(CI)F" /T
    &icacls "$gcdsDataFolder" /grant   "BUILTIN\Administrators:(OI)(CI)F" /T
    &icacls "$gcdsDataFolder" /grant   "Domain Admins:(OI)(CI)F" /T
    &icacls "$gcdsDataFolder" /grant   "LOCAL SERVICE:(OI)(CI)F" /T
    
  4. 如要確認 ProgramData 資料夾的位置,請執行 Write-Host $Env:ProgramData 指令。在 Windows 英文版中,這個路徑通常是 c:\ProgramData。您稍後會用到這個路徑。

連結至 Google

您現在將使用設定管理員準備 GCDS 設定。這些步驟假設您在打算執行 GCDS 的同一個伺服器上執行設定管理員。

如果您使用不同的機器執行設定管理員,請確認稍後將設定檔複製到 GCDS 伺服器。此外請注意,您可能無法在不同的機器上測試設定。

  1. 啟動設定管理員。您可以在 Windows「開始」選單的「Google Cloud Directory Sync」>「Configuration Manager」(設定管理員) 下找到設定管理員。
  2. 依序按一下「Google 網域設定」>「連線設定」

    Google Domain Configuration > Connection Settings

  3. 授權 GCDS 並設定網域設定

  4. 在選單中,依序按一下「File」>「Save as」

  5. 在檔案對話方塊中,輸入 PROGRAM_DATA\gcds\config.xml 做為檔案名稱。將 PROGRAM_DATA 替換為當您稍早執行時,PowerShell 指令傳回的 ProgramData 資料夾路徑。

  6. 按一下 [Save] (儲存),然後按一下 [OK] (確定)

連線至 Active Directory

下一個步驟是設定 GCDS 連線至 Active Directory:

  1. 在設定管理員中,依序按一下「LDAP Configuration」>「Connection Settings」
  2. 設定 LDAP 連線設定
    1. Server Type (伺服器類型):選取 [MS Active Directory]
    2. 連線類型:選取「標準 LDAP」或「LDAP + SSL」
    3. 主機名稱:輸入 GC 伺服器的名稱。此設定僅供測試之用。稍後您將會自動探索 GC 伺服器。
    4. 通訊埠3268 (通用類別目錄) 或 3269 (透過 SSL 使用通用類別目錄)。使用 GC 伺服器,而非網域控制器,有助於確保您可以佈建所有 Active Directory 樹系網域的使用者。此外,請在 Microsoft ADV190023 更新後確認驗證作業正常
    5. Authentication TypeSimple
    6. 「Authorized User」(授權使用者):輸入您稍早時建立之網域使用者的使用者主要名稱 (UPN):gcds@UPN_SUFFIX_DOMAIN。將 UPN_SUFFIX_DOMAIN 替換為使用者的適當 UPN 後置字串網域。您也可以使用 NETBIOS_DOMAIN_NAME\gcds 語法指定使用者。
    7. Base DN (基準 DN):將此欄位保留空白,確認跨樹系的所有網域執行搜尋。
  3. 如要驗證設定,請按一下 [Test connection] (測試連線)。如果連線失敗,請再次確認您已指定 GC 伺服器的主機名稱,而且使用者名稱與密碼都正確。
  4. 按一下 [關閉]

決定要佈建的內容

您已成功連線至 GCDS,現在可以決定要佈建哪些項目:

  1. 在設定管理員中,按一下 [General Settings] (一般設定)
  2. 確認已選取 [User Accounts] (使用者帳戶)
  3. 如果您想要佈建群組,請確認已選取「Groups」(群組);否則請清除核取方塊。
  4. 同步處理機構單位不在本指南的範圍之內,因此請保持不選取 [Organizational Units] (機構單位)
  5. 保持不選取 [User Profiles] (使用者設定檔) 與 [Custom Schemas] (自訂架構)

詳情請參閱「決定要佈建哪些內容」。

佈建使用者

如要佈建使用者,請設定如何在 Active Directory 之間對應使用者:

  1. 在設定管理員中,按一下 [User Accounts] (使用者帳戶) > [Additional User Attributes] (其他使用者屬性)
  2. 按一下「Use defaults」(使用預設值),以自動為「Given Name」(名字) 與「Family Name」(姓氏) 的屬性分別填入 givenNamesn

其餘設定取決於您是要使用 UPN 還是電子郵件地址將 Active Directory 對應至 Cloud Identity 或 Google Workspace 中的使用者,以及您是否需要套用網域名稱替代。如果您不確定哪個選項最適合您,請參閱 這篇文章,瞭解 Active Directory 身分識別管理功能可以如何延伸至 GCP。 Google Cloud

UPN

  1. 在設定管理員中,依序按一下「User Accounts」>「User Attributes」
  2. 按一下「使用預設值」
  3. 將「Email Address Attribute」(電子郵件地址屬性) 變更為 userPrincipalName
  4. 如果不想同步處理別名地址,請依序按一下 proxyAddresses > Remove
  5. 按一下 [Search Rules] (搜尋規則) 分頁標籤,然後按一下 [Add Search Rule] (新增搜尋規則)
  6. 請輸入下列設定:

    1. Scope (範圍):[Sub-tree] (子樹狀結構)
    2. Rule (規則)

      (&(objectCategory=person)(objectClass=user)(!(userAccountControl:1.2.840.113556.1.4.803:=2))(!(userPrincipalName=gcds@*)))

      此規則會比對所有未停用的使用者,但會忽略電腦和代管服務帳戶,以及 gcds 使用者帳戶。

    3. Base DN (基準 DN):保留空白以搜尋樹系中的所有網域。

  7. 按一下 [OK] (確定) 建立規則。

UPN:網域替代

  1. 在設定管理員中,按一下 [User Accounts] (使用者帳戶) > [User Attributes] (使用者屬性) 分頁標籤。
  2. 按一下「使用預設值」
  3. 將「Email Address Attribute」變更為 userPrincipalName
  4. 如果不想同步處理別名地址,請依序按一下 proxyAddresses > Remove
  5. 按一下 [Search Rules] (搜尋規則) 分頁標籤,然後按一下 [Add Search Rule] (新增搜尋規則)
  6. 請輸入下列設定:

    1. Scope (範圍):[Sub-tree] (子樹狀結構)
    2. Rule (規則)

      (&(objectCategory=person)(objectClass=user)(!(userAccountControl:1.2.840.113556.1.4.803:=2))(!(userPrincipalName=gcds@*)))

      此規則會比對所有未停用的使用者,但會忽略電腦和代管服務帳戶,以及 gcds 使用者帳戶。

    3. Base DN (基準 DN):保留空白以搜尋樹系中的所有網域。

  7. 按一下 [OK] (確定) 建立規則。

  8. 按一下「Google Domain Configuration」>「Connection Settings」,然後選擇「Replace domain names in LDAP email addresses with this domain name」

電子郵件

  1. 在設定管理員中,按一下 [User Accounts] (使用者帳戶) > [User Attributes] (使用者屬性)
  2. 按一下「使用預設值」
  3. 按一下 [Search Rules] (搜尋規則) 分頁標籤,然後按一下 [Add Search Rule] (新增搜尋規則)
  4. 請輸入下列設定:

    1. Scope (範圍):[Sub-tree] (子樹狀結構)
    2. Rule (規則)

      (&(objectCategory=person)(objectClass=user)(mail=*)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))

      此規則會比對所有具有非空白電子郵件地址的未停用使用者,但會忽略電腦和代管服務帳戶。

    3. Base DN (基準 DN):保留空白以搜尋樹系中的所有網域。

  5. 按一下 [OK] (確定) 建立規則。

電子郵件:網域替代

  1. 在設定管理員中,按一下 [User Accounts] (使用者帳戶) > [User Attributes] (使用者屬性)
  2. 按一下「使用預設值」
  3. 如果不想同步處理別名地址,請依序按一下 proxyAddresses > Remove
  4. 按一下「搜尋規則」分頁標籤,然後點選「使用預設值」
  5. 按一下「Google Domain Configuration」(Google 網域設定) >「Connection Settings」(連線設定),然後選擇「Replace domain names in LDAP email addresses with this domain name」(將 LDAP 電子郵件地址中的網域名稱替換為此網域名稱)

如要進一步瞭解如何對應使用者屬性,請參閱「使用設定管理員完成同步處理設定」。

刪除政策

到目前為止,設定都專注於在 Cloud Identity 或 Google Workspace 中新增與更新使用者。不過,對於在 Active Directory 中停用或刪除的使用者,在 Cloud Identity 或 Google Workspace 中將其停權或刪除也很重要。

做為佈建程序的一部分,GCDS 會在 Cloud Identity 或 Google Workspace 中產生一份使用者清單,這些使用者在 Active Directory LDAP 查詢結果中沒有對應相符項目。由於 LDAP 查詢會與 (!(userAccountControl:1.2.840.113556.1.4.803:=2)) 子句整合,自上次執行佈建作業以來,在 Active Directory 中停用或刪除的任何使用者都會包含在此清單中。GCDS 的預設行為是刪除 Cloud Identity 或 Google Workspace 中的這些使用者,但您可以自訂此行為:

  1. 在設定管理員中,依序按一下「User Accounts」>「User Attributes」
  2. 在「Google Domain Users Deletion/Suspension Policy」(Google 網域使用者刪除/停權政策) 下,確認已勾選 [Don't suspend or delete Google domain admins not found in LDAP] (不暫停或刪除在 LDAP 中找不到的 Google 網域管理員)。此設定可確保 GCDS 不會暫停或刪除您用來設定 Cloud Identity 或 Google Workspace 帳戶的超級管理員使用者。
  3. 您也可以變更非管理員使用者的刪除政策。

如果您使用 GCDS 的多個單獨執行個體,將不同網域或樹系佈建至單一 Cloud Identity 或 Google Workspace 帳戶,請確認不同的 GCDS 執行個體不會彼此干擾。根據預設,Cloud Identity 或 Google Workspace 中已從不同來源佈建的使用者,會在 Active Directory 中錯誤地識別為已刪除。為避免發生這種情況,您可以將超出您用於佈建的網域或樹系範圍的所有使用者移至單一 OU,然後排除該 OU。

  1. 在設定管理員中,按一下 [Google Domain Configuration] (Google 網域設定) > [Exclusion Rules] (排除規則)
  2. 按一下 [Add Exclusion Rule] (新增排除規則)
  3. 進行下列設定:

    1. 類型機構完整路徑
    2. Match Type (比對類型):[Exact Match] (完全比對)
    3. 排除規則:輸入 OU 路徑和名稱。例如:

      ROOT OU/EXCLUDED OU

      ROOT OU/EXCLUDED OU 替換為 OU 路徑和排除的 OU 名稱。

  4. 按一下 [OK] (確定) 建立規則。

或者,如果排除單一 OU 不符合您的業務需求,您可以根據使用者的電子郵件地址排除網域或樹狀結構。

UPN

  1. 在「設定管理員」中,依序按一下「Google 網域設定」>「排除規則」
  2. 按一下 [Add Exclusion Rule] (新增排除規則)
  3. 進行下列設定:

    1. Type (類型):[User Email Address] (使用者電子郵件地址)
    2. Match Type (比對類型):[Regular Expression] (規則運算式)
    3. Exclusion Rule (排除規則):如果您使用單一 UPN 後置字串網域,請輸入下列規則運算式:

      .*@((?!UPN_SUFFIX_DOMAIN).*)$
      UPN_SUFFIX_DOMAIN 替換為您的 UPN 後置字串網域,如下方範例所示:
      .*@((?!corp.example.com).*)$

      如果您使用多個 UPN 後置字串網域,請依照以下方式擴展運算式:

      .*@((?!corp.example.com|branch.example.com).*)$
  4. 按一下 [OK] (確定) 建立規則。

UPN:網域替代

  1. 在設定管理員中,按一下 [Google Domain Configuration] (Google 網域設定) > [Exclusion Rules] (排除規則)
  2. 按一下 [Add Exclusion Rule] (新增排除規則)
  3. 進行下列設定:

    1. Type (類型):[User Email Address] (使用者電子郵件地址)
    2. Match Type (比對類型):[Regular Expression] (規則運算式)
    3. Exclusion Rule (排除規則):如果您使用單一 UPN 後置字串網域,請輸入下列規則運算式:

      .*@((?!SUBSTITUTION_DOMAIN).*)$

      SUBSTITUTION_DOMAIN 替換為您用來取代 UPN 後置字串網域的網域,如下方範例所示:

      .*@((?!corp.example.com).*)$
  4. 按一下 [OK] (確定) 建立規則。

電子郵件

  1. 在設定管理員中,按一下 [Google Domain Configuration] (Google 網域設定) > [Exclusion Rules] (排除規則)
  2. 按一下 [Add Exclusion Rule] (新增排除規則)
  3. 進行下列設定:

    1. Type (類型):[User Email Address] (使用者電子郵件地址)
    2. Match Type (比對類型):[Regular Expression] (規則運算式)
    3. Exclusion Rule (排除規則):如果您使用單一 UPN 後置字串網域,請輸入下列規則運算式:

      .*@((?!MX_DOMAIN).*)$

      MX_DOMAIN 替換為您在電子郵件地址中使用的網域名稱,如下方範例所示:

      .*@((?!corp.example.com).*)$

      如果您使用多個 UPN 後置字串網域,請依照以下方式擴展運算式:

      .*@((?!corp.example.com|branch.example.com).*)$
  4. 按一下 [OK] (確定) 建立規則。

電子郵件:網域替代

  1. 在「設定管理員」中,依序按一下「Google 網域設定」>「排除規則」
  2. 按一下 [Add Exclusion Rule] (新增排除規則)
  3. 進行下列設定:

    1. Type (類型):[User Email Address] (使用者電子郵件地址)
    2. Match Type (比對類型):[Regular Expression] (規則運算式)
    3. Exclusion Rule (排除規則):如果您使用單一 UPN 後置字串網域,請輸入下列規則運算式:

      .*@((?!SUBSTITUTION_DOMAIN).*)$

      SUBSTITUTION_DOMAIN 替換為您用來取代電子郵件網域的網域,如下方範例所示:

      .*@((?!corp.example.com).*)$
  4. 按一下 [OK] (確定) 建立規則。

如要進一步瞭解刪除和停用設定,請參閱「進一步瞭解其他設定管理員選項」。

佈建群組

下一個步驟是設定在 Active Directory 與 Cloud Identity 或 Google Workspace 之間對應群組的方式。根據您計劃使用慣用名稱或電子郵件地址對應群組而定,這個程序會有所不同。

依據慣用名稱設定群組對應

首先,您需要識別要佈建的安全性群組類型,然後提出適當的 LDAP 查詢。下表包含您可以使用的慣用查詢。

類型 LDAP 查詢
網域本機群組 (&(objectCategory=group)(groupType:1.2.840.113556.1.4.803:=2147483652))
全域群組 (&(objectCategory=group)(groupType:1.2.840.113556.1.4.803:=2147483650))
通用群組 (&(objectCategory=group)(groupType:1.2.840.113556.1.4.803:=2147483656))
全域與通用群組 (&(objectCategory=group)(|(groupType:1.2.840.113556.1.4.803:=2147483650)(groupType:1.2.840.113556.1.4.803:=2147483656)))
所有群組 (objectCategory=group)

全域群組的查詢也包含 Active Directory 定義的群組,例如網域控制器。您可以按機構單位 (ou) 限制搜尋,藉以篩選這些群組。

其餘設定取決於您是要使用 UPN 還是電子郵件地址,將 Active Directory 對應至 Cloud Identity 或 Google Workspace 中的使用者。

UPN

  1. 在設定管理員中,按一下 [Groups] (群組) > [Search Rules] (搜尋規則)
  2. 按一下「使用預設值」,新增兩個預設規則。
  3. 按一下第一個規則的編輯圖示。
  4. 編輯「規則」,以替換 LDAP 查詢。
  5. 在「Groups」方塊中,輸入下列設定:
    1. 「Group Email Address Attribute」(群組電子郵件地址屬性)cn
    2. User Email Address AttributeuserPrincipalName
  6. 按一下 [Prefix-Suffix] (前置字串-後置字串) 分頁標籤。
  7. 在「Group Email Address」(群組電子郵件地址) 方塊中,輸入下列設定:

    1. 「Suffix」(後置字串)Suffix@PRIMARY_DOMAIN,您需要將 @PRIMARY_DOMAIN 替換為 Cloud Identity 或 Google Workspace 帳戶的主網域。雖然這個設定看起來好像是多餘的,因為 GCDS 會自動附加網域,但是您必須明確指定設定,防止多個 GCDS 例項清除其未新增的群組成員。

      示例:@example.com

    2. 按一下 [確定]

  8. 按一下第二個規則的 X 圖示,即可刪除該規則。

電子郵件

  1. 在設定管理員中,按一下 [Groups] (群組) > [Search Rules] (搜尋規則)
  2. 按一下「使用預設值」,即可新增幾個預設規則。
  3. 按一下第一個規則的編輯圖示。
  4. 編輯「規則」,以替換 LDAP 查詢。
  5. 在「Groups」方塊中,編輯「Group Email Address Attribute」,輸入設定 cn
  6. 按一下 [確定]

如果您在對應使用者時使用網域替代,則也適用相同設定。

依據電子郵件地址設定群組對應

首先,您需要識別要佈建的安全性群組類型,然後提出適當的 LDAP 查詢。下表包含您可以使用的慣用查詢。

類型 LDAP 查詢
具有電子郵件地址的網域本機群組 (&(objectCategory=group)(groupType:1.2.840.113556.1.4.803:=2147483652)(mail=*))
具有電子郵件地址的全域群組 (&(objectCategory=group)(groupType:1.2.840.113556.1.4.803:=2147483650)(mail=*))
具有電子郵件地址的通用群組 (&(objectCategory=group)(groupType:1.2.840.113556.1.4.803:=2147483656)(mail=*))
具有電子郵件地址的全域與通用群組 (&(objectCategory=group)(|(groupType:1.2.840.113556.1.4.803:=2147483650)(groupType:1.2.840.113556.1.4.803:=2147483656))(mail=*))
具有電子郵件地址的所有群組 (&(objectCategory=group)(mail=*))

其餘設定取決於您是要使用 UPN 還是電子郵件地址,將 Active Directory 對應至 Cloud Identity 或 Google Workspace 中的使用者。

UPN

  1. 在設定管理員中,按一下 [Groups] (群組) > [Search Rules] (搜尋規則)
  2. 按一下「使用預設值」,新增兩個預設規則。
  3. 按一下第一個規則的編輯圖示。
  4. 編輯「規則」,以替換 LDAP 查詢。
  5. 在「群組」方塊中,編輯「使用者電子郵件名稱屬性」,輸入設定 userPrincipalName
  6. 按一下 [確定]
  7. 按一下第二個規則的 X 圖示,即可刪除該規則。

電子郵件

  1. 在設定管理員中,按一下 [Groups] (群組) > [Search Rules] (搜尋規則)
  2. 按一下「使用預設值」,即可新增幾個預設規則。
  3. 按一下第一個規則的編輯圖示。
  4. 編輯「規則」,以替換 LDAP 查詢。
  5. 按一下 [確定]
  6. 按一下第二個規則十字圖示,即可移除這個規則。

如果您已啟用「Replace domain names in LDAP email addresses with this domain name」(用這個網域名稱取代 LDAP 電子郵件地址中的網域名稱),這項設定也會套用至群組和成員的電子郵件地址。

刪除政策

GCDS 處理刪除群組的方式與處理刪除使用者的方式類似。如果您使用 GCDS 的多個單獨執行個體,將不同網域或樹系佈建至單一 Cloud Identity 或 Google Workspace 帳戶,請確認不同的 GCDS 執行個體不會彼此干擾。

根據預設,Cloud Identity 或 Google Workspace 中已從不同來源佈建的群組成員,會在 Active Directory 中錯誤地識別為已刪除。為了避免發生這種情況,請將 GCDS 設定為忽略超出您提供的網域或樹系範圍以外的所有群組成員。

UPN

  1. 依序按一下「Google 網域設定」>「排除規則」
  2. 按一下 [Add Exclusion Rule] (新增排除規則)
  3. 進行下列設定:

    1. Type (類型):[Group Member Email Address] (群組成員電子郵件地址)
    2. Match Type (比對類型):[Regular Expression] (規則運算式)
    3. Exclusion Rule (排除規則):如果您使用單一 UPN 後置字串網域,請輸入下列規則運算式:

      .*@((?!UPN_SUFFIX_DOMAIN).*)$

      UPN_SUFFIX_DOMAIN 替換為您的 UPN 後置字串網域,如下方範例所示:

      .*@((?!corp.example.com).*)$

      如果您使用多個 UPN 後置字串網域,請依照以下方式擴展運算式:

      .*@((?!corp.example.com|branch.example.com).*)$
  4. 按一下 [OK] (確定) 建立規則。

UPN:網域替代

  1. 依序按一下「Google 網域設定」>「排除規則」
  2. 按一下 [Add Exclusion Rule] (新增排除規則)
  3. 進行下列設定:

    1. Type (類型):[Group Member Email Address] (群組成員電子郵件地址)
    2. Match Type (比對類型):[Regular Expression] (規則運算式)
    3. Exclusion Rule (排除規則):如果您使用單一 UPN 後置字串網域,請輸入下列規則運算式:

      .*@((?!SUBSTITUTION_DOMAIN).*)$

      SUBSTITUTION_DOMAIN 替換為您用來取代 UPN 後置字串網域的網域,如下方範例所示:

      .*@((?!corp.example.com).*)$
  4. 按一下 [OK] (確定) 建立規則。

電子郵件

  1. 依序按一下「Google 網域設定」>「排除規則」
  2. 按一下 [Add Exclusion Rule] (新增排除規則)
  3. 進行下列設定:

    1. Type (類型):[Group Member Email Address] (群組成員電子郵件地址)
    2. Match Type (比對類型):[Regular Expression] (規則運算式)
    3. Exclusion Rule (排除規則):如果您使用單一 UPN 後置字串網域,請輸入下列規則運算式:

      .*@((?!MX_DOMAIN).*)$

      MX_DOMAIN 替換為您在電子郵件地址中使用的網域名稱,如下方範例所示:

      .*@((?!corp.example.com).*)$

      如果您使用多個 UPN 後置字串網域,請依照以下方式擴展運算式:

      .*@((?!corp.example.com|branch.example.com).*)$
  4. 按一下 [OK] (確定) 建立規則。

電子郵件:網域替代

  1. 依序按一下「Google 網域設定」>「排除規則」
  2. 按一下 [Add Exclusion Rule] (新增排除規則)
  3. 進行下列設定:

    1. Type (類型):[Group Member Email Address] (群組成員電子郵件地址)
    2. Match Type (比對類型):[Regular Expression] (規則運算式)
    3. Exclusion Rule (排除規則):如果您使用單一 UPN 後置字串網域,請輸入下列規則運算式:

      .*@((?!SUBSTITUTION_DOMAIN).*)$

      SUBSTITUTION_DOMAIN 替換為您用來取代電子郵件網域的網域,如下方範例所示:

      .*@((?!corp.example.com).*)$
    4. 按一下 [OK] (確定) 建立規則。

如要進一步瞭解群組設定,請參閱「進一步瞭解其他設定管理員選項」。

設定記錄與通知

您必須定期執行 GCDS,才能讓使用者保持同步。為了追蹤 GCDS 活動和潛在問題,您可以控制 GCDS 寫入記錄檔案的方式和時機:

  1. 在設定管理員中,按一下 [Logging] (記錄)
  2. 將「File name」設為 PROGRAM_DATA\gcds\gcds_sync.#{timestamp}.log。將 PROGRAM_DATA 替換為當您稍早執行時,PowerShell 指令傳回的 ProgramData 資料夾路徑。
  3. 按一下「File」>「Save」,將設定變更修訂至磁碟,然後按一下「OK」

除了記錄以外,GCDS 還可透過電子郵件傳送通知。如要啟用這項服務,請按一下「Notifications」(通知),並提供郵件伺服器的連線資訊。

模擬使用者帳戶管理功能

您已完成 GCDS 設定。如要確認設定如預期運作,您必須先將設定儲存至磁碟,然後模擬使用者佈建作業。在模擬期間,GCDS 不會對 Cloud Identity 或 Google Workspace 帳戶執行任何變更,而是會報告它在一般佈建作業期間「將會執行」的變更。

  1. 在「Configuration Manager」(設定管理員) 中,按一下 [Sync] (同步處理)
  2. 在畫面底部,選取 [Clear cache] (清除快取),然後按一下 [Simulate sync] (模擬同步處理)
  3. 程序完成後,請查看對話方塊下半部中顯示記錄的「Proposed changes」(提議的變更) 區段,並確認系統是否沒有刪除或暫停任何使用者或群組等不必要的變更。

初始使用者帳戶佈建

您現在可以觸發初始使用者佈建作業:

警告

  • 觸發使用者佈建作業會永久變更 Cloud Identity 或 Google Workspace 帳戶中的使用者和群組。
  • 如果您有大量使用者要佈建,請考慮暫時變更 LDAP 查詢,藉以僅符合這些使用者的子集。使用這個子集的使用者,您可以測試程序,並在有需要的情況下調整設定。在您成功驗證結果之後,請變更回 LDAP 查詢並佈建剩餘使用者。
  • 測試時,請避免重複修改或刪除大量使用者,因為系統可能會將此類動作標記為濫用行為。

如要觸發布建執行作業,請按照下列步驟操作:

  1. 在「Configuration Manager」(設定管理員) 中,按一下 [Sync] (同步處理)
  2. 在畫面底部,選取 [Clear cache] (清除快取),然後按一下 [Sync & apply changes] (同步處理並套用變更)

    系統會顯示狀態對話方塊。

  3. 程序完成後,請檢查對話方塊下半部顯示的記錄:

    1. 在「Successful user changes」(成功的使用者變更) 下,確認至少已建立一位使用者。
    2. 在「Failures」(失敗) 下方,確認沒有發生失敗。

排定佈建作業

為確保系統會將在 Active Directory 中執行的變更傳播至 Cloud Identity 或 Google Workspace 帳戶,請設定每小時會觸發一次佈建作業的排程工作:

  1. 以系統管理員身分開啟 PowerShell 主控台。
  2. 檢查系統上是否有 Active Directory PowerShell 模組

    import-module ActiveDirectory

    如果指令失敗,請下載並安裝遠端伺服器管理工具,然後再試一次。

  3. 在記事本中建立檔案,將以下內容複製到該檔案,並將檔案儲存到 %ProgramData%\gcds\sync.ps1。完成時,請關閉檔案。

    [CmdletBinding()]
    Param(
        [Parameter(Mandatory=$True)]
        [string]$config,
    
        [Parameter(Mandatory=$True)]
        [string]$gcdsInstallationDir
    )
    
    import-module ActiveDirectory
    
    # Stop on error.
    $ErrorActionPreference ="stop"
    
    # Ensure it's an absolute path.
    $rawConfigPath = [System.IO.Path]::Combine((pwd).Path, $config)
    
    # Discover closest GC in current domain.
    $dc = Get-ADDomainController -discover -Service "GlobalCatalog" -NextClosestSite
    Write-Host ("Using GC server {0} of domain {1} as LDAP source" -f [string]$dc.HostName, $dc.Domain)
    
    # Load XML and replace the endpoint.
    $dom = [xml](Get-Content $rawConfigPath)
    $ldapConfigNode = $dom.SelectSingleNode("//plugin[@class='com.google.usersyncapp.plugin.ldap.LDAPPlugin']/config")
    
    # Tweak the endpoint.
    $ldapConfigNode.hostname = [string]$dc.HostName
    $ldapConfigNode.ldapCredMachineName = [string]$dc.HostName
    $ldapConfigNode.port = "3268"   # Always use GC port
    
    # Tweak the tsv files location
    $googleConfigNode = $dom.SelectSingleNode("//plugin[@class='com.google.usersyncapp.plugin.google.GooglePlugin']/config")
    $googleConfigNode.nonAddressPrimaryKeyMapFile = [System.IO.Path]::Combine((pwd).Path, "nonAddressPrimaryKeyFile.tsv")
    $googleConfigNode.passwordTimestampFile = [System.IO.Path]::Combine((pwd).Path, "passwordTimestampCache.tsv")
    
    # Save resulting config.
    $targetConfigPath = $rawConfigPath + ".autodiscover"
    
    $writer = New-Object System.IO.StreamWriter($targetConfigPath, $False, (New-Object System.Text.UTF8Encoding($False)))
    $dom.Save($writer)
    $writer.Close()
    
    # Start provisioning.
    Start-Process -FilePath "$gcdsInstallationDir\sync-cmd" `
        -Wait -ArgumentList "--apply --config ""$targetConfigPath"""
    
  4. 設定管理員建立了密鑰來加密設定檔中的憑證。如要確認 GCDS 以排程的工作執行時仍可讀取設定,請執行下列指令,將該密鑰從您自己的設定檔複製到 NT AUTHORITY\LOCAL SERVICE 的設定檔:

    New-Item -Path Registry::HKEY_USERS\S-1-5-19\SOFTWARE\JavaSoft\Prefs\com\google\usersyncapp -Force;
    Copy-Item -Path Microsoft.PowerShell.Core\Registry::HKEY_CURRENT_USER\SOFTWARE\JavaSoft\Prefs\com\google\usersyncapp\util `
        -Destination Microsoft.PowerShell.Core\Registry::HKEY_USERS\S-1-5-19\SOFTWARE\JavaSoft\Prefs\com\google\usersyncapp\util
    

    如果指令失敗,請確認您以系統管理員身分啟動 PowerShell 主控台。

  5. 執行下列指令,建立排程工作。排程工作將會每小時觸發一次,並以 NT AUTHORITY\LOCAL SERVICE 叫用 sync.ps1 指令碼。

    $taskName = "Synchronize to Cloud Identity"
    $gcdsDir = "$Env:ProgramData\gcds"
    
    $action = New-ScheduledTaskAction -Execute 'PowerShell.exe' `
      -Argument "-ExecutionPolicy Bypass -NoProfile $gcdsDir\sync.ps1 -config $gcdsDir\config.xml -gcdsInstallationDir '$Env:Programfiles\Google Cloud Directory Sync'" `
      -WorkingDirectory $gcdsDir
    $trigger = New-ScheduledTaskTrigger `
      -Once `
      -At (Get-Date) `
      -RepetitionInterval (New-TimeSpan -Minutes 60) `
      -RepetitionDuration (New-TimeSpan -Days (365 * 20))
    
    $principal = New-ScheduledTaskPrincipal -UserID "NT AUTHORITY\LOCAL SERVICE" -LogonType ServiceAccount
    Register-ScheduledTask -Action $action -Trigger $trigger -Principal $principal -TaskName $taskName
    
    $task = Get-ScheduledTask -TaskName "$taskName"
    $task.Settings.ExecutionTimeLimit = "PT12H"
    Set-ScheduledTask $task
    

詳情請參閱「安排自動同步處理時間」。

測試使用者帳戶佈建

您已完成 GCDS 的安裝及設定,排程工作將會每小時觸發一次佈建作業。

如要手動觸發布建作業,請切換至 PowerShell 主控台並執行下列指令:

Start-ScheduledTask "Synchronize to Cloud Identity"

清除所用資源

如要移除 GCDS,請執行下列步驟:

  1. 開啟 Windows 控制台,然後依序按一下「程式」>「解除安裝程式」
  2. 選取 [Google Cloud Directory Sync],然後按一下 [解除安裝/變更] 以啟動解除安裝精靈,然後依照精靈中的操作說明執行。
  3. 開啟 PowerShell 控制台並執行下列指令,移除排程工作:

    $taskName = "Synchronize to Cloud Identity"
    Unregister-ScheduledTask -TaskName $taskName -Confirm:$False
    
  4. 執行以下指令,刪除設定與記錄檔:

    Remove-Item -Recurse -Force "$Env:ProgramData\gcds"
    Remove-Item -Recurse -Path Registry::HKEY_USERS\S-1-5-19\SOFTWARE\JavaSoft\Prefs\com\google\usersyncapp
    

後續步驟