佈建 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 指向單一伺服器並不會使用備援功能,因此這種做法並不理想。儘管可以設定負載平衡器,將 LDAP 查詢分散到多個 GC 伺服器,並追蹤可能暫時無法使用的伺服器,但最好還是使用 DC Locator 機制動態尋找伺服器。

根據預設,GCDS 會要求您明確指定 LDAP 伺服器的端點,且不支援使用 DC 定位器機制。在本指南中,您會透過 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. 「User logon name」(使用者登入名稱)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 設定」>「連線設定」
  2. 設定 LDAP 連線設定
    1. Server Type (伺服器類型):選取 [MS Active Directory]
    2. 「連線類型」:選取「標準 LDAP」或「LDAP+SSL」
    3. 主機名稱:輸入 GC 伺服器的名稱。此設定僅供測試之用。稍後您將會自動探索 GC 伺服器。
    4. 通訊埠3268 (GC) 或 3269 (透過 SSL 使用 GC)。使用全域目錄伺服器,而非網域控制器,有助於確保您可以從所有 Active Directory 樹系網域佈建使用者。此外,請在 Microsoft ADV190023 更新後確認驗證作業正常
    5. 「Authentication Type」(驗證類型):選取「Simple」(簡單)
    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. 按一下「使用預設值」,以自動為「名字」和「姓氏」的屬性分別填入 givenNamesn

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

UPN

  1. 在設定管理員中,按一下「User Accounts」>「User Attributes」
  2. 按一下「使用預設值」
  3. 將「電子郵件地址屬性」變更為 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. 將「電子郵件地址屬性」變更為 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] (確定) 建立規則。

或者,如果排除單一機構單位不符合貴商家需求,您可以根據使用者的電子郵件地址排除網域或樹系。

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. 在「群組」方塊中,輸入下列設定:
    1. 「Group Email Address Attribute」(群組電子郵件地址屬性)cn
    2. 「User Email Address Attribute」(使用者電子郵件地址屬性)userPrincipalName
  6. 按一下 [Prefix-Suffix] (前置字串-後置字串) 分頁標籤。
  7. 在「群組電子郵件地址」方塊中,輸入下列設定:

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

      示例:@example.com

    2. 按一下 [確定]

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

電子郵件

  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. 在「Groups」方塊中,編輯「User Email Name Attribute」,輸入設定 userPrincipalName
  6. 按一下 [確定]
  7. 按一下第二個規則的十字圖示,即可刪除該規則。

電子郵件

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

如果您已啟用「以這個網域名稱取代 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. 按一下「檔案」>「儲存」,將設定變更修訂至磁碟,然後按一下「確定」

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

模擬使用者帳戶管理功能

您已完成 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
    

後續步驟