將 Active Directory 與 Google SecOps 整合

本文說明如何將 Active Directory 與 Google Security Operations 整合。

用途

Active Directory 整合功能會使用 Google SecOps 功能,支援下列用途:

  • 啟用及停用使用者:停用可能遭入侵的使用者帳戶,防止未經授權的存取行為。

  • 重設密碼:自動重設 Active Directory 中的使用者密碼,並通知使用者這項變更。

  • 管理群組:根據使用者的角色,將新使用者加入適當的安全性群組,並確保使用者具備正確的存取權限。

  • 擷取使用者資訊:擷取特定使用者帳戶的詳細資料,例如群組成員資格、上次登入時間和聯絡資訊。

  • 自動化離職程序:在員工離職時停用帳戶、將帳戶從群組中移除,以及轉移檔案擁有權。

事前準備

在 Google SecOps 中設定 Active Directory 整合功能前,請確認網路環境、Active Directory Domain Services (AD DS) 和服務帳戶憑證符合所有作業必要條件。

如要準備整合環境,請完成下列必要條件:

  1. 驗證 Google SecOps 執行個體 (或遠端代理程式) 與 Active Directory 網域控制器之間的網路連線和 DNS 解析。

  2. 選用:如果使用內部憑證授權單位透過 LDAPS (通訊埠 636,重設密碼時必須使用) 連線,請將根憑證或中繼憑證編碼為 base64 字串,設定 CA 憑證。

  3. 建立專屬 Active Directory 服務帳戶,並遵循最小權限原則。

  4. 請參閱必要動作權限,判斷執行特定動作所需的屬性和存取權。

  5. 針對您打算使用的動作,在目標組織單位上委派權限 (使用 Active Directory 使用者和電腦,或 PowerShell 和 dsacls),確保服務帳戶明確具備 userAccountControl 屬性的讀取和寫入權限。

網路和 DNS 需求

Google SecOps 會透過 TCP,使用輕量型目錄存取通訊協定 (LDAP 或 LDAPS),直接與 Active Directory 網域控制器通訊。

請確認網路環境符合下列連線規則:

  • 通訊埠連線:請確認網路防火牆和轉送功能允許 Google SecOps (或遠端代理程式) 透過下列通訊埠,與 Active Directory 網域控制器進行傳出通訊:

    • LDAP (標準):為未加密的 LDAP 通訊開啟通訊埠 389/TCP。
    • LDAPS (建議使用,密碼必須使用):開啟通訊埠 636/TCP (或自訂 SSL/TLS 通訊埠)。LDAPS 是加密目錄流量的必要條件,也是密碼修改動作的必要條件。
  • DNS 和主機名稱解析:Active Directory 需要準確的主機名稱解析,才能比對 SSL/TLS 憑證和目錄服務繫結。如果網域是透過內部 DNS 設定,由完整 DNS 名稱解析,則不需額外設定主機。如果遠端代理容器映像檔不支援 DNS 解析,請設定 /etc/hosts 檔案。

設定 /etc/hosts 檔案

這項設定為選用。如果網域控制器已透過內部 DNS 設定解析,請略過本節。如果遠端代理程式無法使用 DNS 解析 Active Directory 網域控制站,請在 /etc/hosts 檔案中手動對應主機,以符合 SSL/TLS 憑證和目錄服務繫結。

如要設定 /etc/hosts 檔案,請完成下列步驟:

  1. 使用文字編輯器開啟 /etc/hosts (須具備管理員權限):

    sudo vi /etc/hosts
    
  2. 新增項目,將網域控制器的 IP 位址對應至其完整網域名稱 (FQDN):

    192.0.2.195 dc01.example.local
    
  3. 儲存並關閉檔案。

如果整合時不需要 CA 憑證,請繼續設定驗證和服務帳戶需求。否則,請設定 CA 憑證。

設定 CA 憑證

您可以依需求選擇執行這個步驟。如果您使用標準 LDAP (通訊埠 389) 連線,或使用公開信任的憑證,請略過本節,直接前往「驗證和服務帳戶規定」。如果您使用私人或內部 CA 核發的憑證,透過 LDAPS (重設密碼所需的通訊埠 636) 連線,請在設定期間提供 Base64 編碼的憑證字串,建立受信任的 TLS 連線。

如要設定及上傳 CA 憑證,請完成下列步驟:

  1. 編碼 PEM 格式的憑證檔案:

    • Linux: bash base64 -w 0 mycert.crt

    • macOS: bash base64 -i mycert.crt

  2. 複製完整的輸出字串 (包括編碼標頭),然後貼到 Google SecOps 整合設定中的「CA Certificate File - parsed into Base64 String」(CA 憑證檔案 - 剖析為 Base64 字串) 欄位。

  3. 將「Server」參數設為網域控制器的 FQDN (而非 IP 位址),讓主機名稱與憑證上的通用名稱 (CN) 或主體別名 (SAN) 相符。

  4. 按一下「測試」,驗證 TLS 握手。

驗證和服務帳戶需求

Active Directory 整合會使用標準 AD DS 憑證進行驗證。

請確認您的驗證設定符合下列安全性做法:

  • 專屬服務帳戶:建立專屬服務帳戶 (例如 svc_secops_ad),專門用於 Google SecOps 自動化應對手冊。避免使用互動式使用者帳戶或內建網域管理員帳戶。

  • 使用者名稱格式:使用者名稱可以提供為使用者主體名稱 (UPN) (例如 svc_secops@example.local) 或下層登入名稱 (EXAMPLE\svc_secops)。

  • PoLP:請勿將服務帳戶新增至具特殊權限的內建群組,例如「Domain Admins」、「Enterprise Admins」或「Account Operators」。請改為對使用者、電腦或群組物件所在的特定組織單位,授予精細權限。

設定動作權限 (最小權限)

僅授予驗證服務帳戶 Active Directory 權限,以及執行特定動作所需的 LDAP 屬性存取權。

請參閱下表,瞭解 Active Directory 動作的最低權限:

動作名稱 必要的 AD DS 權限/擴充權限 目標物件類別 說明/屬性範圍
Ping Read Property 使用者、網域層級 查詢設定的服務帳戶物件 (sAMAccountName、userPrincipalName、mail),驗證目錄連線能力和憑證。
充實實體
  • List Contents
  • Read Property (目標屬性:userAccountControl、sAMAccountName、mail、memberOf、lockoutTime、pwdLastSet)
使用者、電腦、群組 查詢使用者和電腦屬性,並解析巢狀群組成員資格。userAccountControl 上的 Read Property 必須為 true,才能避免空值下標錯誤。
停用帳戶
  • Read Property:userAccountControl
  • Write Property:userAccountControl
使用者 讀取並設定目標使用者物件上的 ACCOUNTDISABLE 旗標 (0x0002)。
啟用帳戶
  • Read Property:userAccountControl
  • Write Property:userAccountControl
使用者 讀取並清除目標使用者物件上的 ACCOUNTDISABLE 旗標 (0x0002)。
停用電腦
  • Read Property:userAccountControl
  • Write Property:userAccountControl
電腦 讀取並設定目標電腦物件的 ACCOUNTDISABLE 旗標。
啟用電腦
  • Read Property:userAccountControl
  • Write Property:userAccountControl
電腦 讀取並清除目標電腦物件上的 ACCOUNTDISABLE 旗標。
釋出鎖定的帳戶
  • Read Property:lockoutTime
  • Write Property:lockoutTime
使用者 讀取 lockoutTime 屬性並將其設為 0,以解鎖鎖定的使用者帳戶。
強制更新密碼
  • Read Property:pwdLastSet
  • Write Property:pwdLastSet
使用者 讀取 pwdLastSet 屬性並設為 0,要求使用者在下次登入時變更密碼。
設定使用者密碼
  • 延長右側:Reset Password (User-Force-Change-Password)
  • (選用) Write Property:unicodePwd
使用者 重設目標使用者的密碼。需要 LDAPS (通訊埠 636) 或 StartTLS。
將使用者加入群組
  • Read Property:member
  • Write Property:member
群組 將目標使用者的辨別名稱 (distinguishedName) 新增至群組的 member 屬性。
將使用者從群組中移除
  • Read Property:member
  • Write Property:member
群組 從群組的 member 屬性中移除目標使用者的辨別名稱 (distinguishedName)。
變更使用者機構單位
  • 來源機構單位中的Delete Child Object (使用者)
  • 目的端機構單位中的Create Child Object (使用者)
  • Write Property:name,distinguishedName
組織單位、使用者 使用 LDAP modify_dn 在機構單位之間移動使用者物件。
變更主機機構單位
  • Delete Child Object (電腦) 位於來源機構單位
  • Create Child Object (電腦) 位於目的地機構單位
  • Write Property:name,distinguishedName
組織單位、電腦 使用 LDAP modify_dn 在機構單位之間移動電腦物件。
更新 AD 使用者的屬性 目標屬性上的 Write Property (例如 mail、title、department、telephoneNumber、description 或 manager) 使用者 修改目標使用者物件的指定屬性值。
更新 AD 主機的屬性 目標屬性上的 Write Property (例如 description 或 location) 電腦 修改目標電腦物件的指定屬性值。
取得群組成員
  • List Contents
  • Read Property:member、sAMAccountName、distinguishedName
群組、使用者、電腦 查詢群組成員資格和成員帳戶屬性。
取得管理員聯絡資料
  • Read Property:manager
  • Read Property:cn、telephoneNumber、mail、displayName、title
使用者 讀取目標使用者物件的 manager 屬性,並擷取管理員的聯絡資料。
Is User In Group
  • Read Property:memberOf,sAMAccountName
使用者、群組 評估使用者帳戶是否屬於指定的安全性或通訊群組。
列出使用者群組
  • Read Property:memberOf,sAMAccountName
使用者、群組 傳回指派給指定使用者帳戶的所有群組清單。
搜尋 Active Directory
  • List Contents
  • 查詢屬性的 Read Property
使用者、電腦、群組、組織單位 對目錄子樹狀結構執行自訂 LDAP 篩選器查詢。

在 Active Directory 中委派權限

如要強制執行 PoLP,而不授予廣泛的管理權限,請使用圖形 ADUC 控制台或 PowerShell 和 dsacls 指令列工具,委派目標組織單位的權限。您只需要使用其中一種方法,並委派執行特定動作所需的權限。

使用 ADUC 委派控制權

如果您偏好使用圖形介面,請在 ADUC 中使用「委派控制精靈」,委派物件和屬性專屬權限。

在目標機構單位上執行精靈,授予執行所需動作 (例如讀取和寫入帳戶控制標記、重設密碼或解鎖帳戶) 的物件和屬性權限。

如需執行精靈的逐步指南,請參閱 Microsoft 說明文件中的「AD DS 中的委派控制」。

使用 PowerShell 和 dsacls 委派控制權

如果您偏好使用指令列,或想自動指派權限,請使用 PowerShell 搭配內建的 dsacls.exe 公用程式,而非 ADUC。

請只執行適用於您打算在管理工作站或網域控制器上使用的動作的指令範例,並替換目標組織單位和服務帳戶名稱:

  • 授予使用者物件 userAccountControl 的讀取和寫入權限 (啟用或停用使用者帳戶,並防止擴充錯誤): powershell dsacls.exe "OU=Users,DC=example,DC=local" /I:S /G "EXAMPLE\svc_secops_ad:RPWP;userAccountControl;user"
  • 授予電腦物件對 userAccountControl 的讀取和寫入權限 (用於啟用或停用電腦):powershell dsacls.exe "OU=Computers,DC=example,DC=local" /I:S /G "EXAMPLE\svc_secops_ad:RPWP;userAccountControl;computer"
  • 授予解鎖帳戶權限 (lockoutTime): powershell dsacls.exe "OU=Users,DC=example,DC=local" /I:S /G "EXAMPLE\svc_secops_ad:RPWP;lockoutTime;user"
  • 授予強制變更密碼權限 (pwdLastSet): powershell dsacls.exe "OU=Users,DC=example,DC=local" /I:S /G "EXAMPLE\svc_secops_ad:RPWP;pwdLastSet;user"
  • 授予重設密碼權限 (Reset Password 擴充權限): powershell dsacls.exe "OU=Users,DC=example,DC=local" /I:S /G "EXAMPLE\svc_secops_ad:CA;Reset Password;user"
  • 授予安全性群組的成員資格修改權限: powershell dsacls.exe "CN=SecOps-Quarantine,OU=Groups,DC=example,DC=local" /G "EXAMPLE\svc_secops_ad:RPWP;member;group"

如要進一步瞭解語法和參數切換,請參閱 Microsoft 的 dsacls 說明文件。

整合參數

Active Directory 整合需要下列參數:

參數 說明
Server

這是必填欄位。

Active Directory 伺服器的主機名稱、DNS 名稱或 IP 位址。 這項整合功能會使用 LDAP 通訊協定進行通訊。

如要使用自訂通訊埠,請將其附加至位址 (例如 mydomain.com:636)。

根據預設,啟用 SSL/TLS 時,整合功能會使用通訊埠 636;停用時,則會使用通訊埠 389。

Username

這是必填欄位。

要連線至 Active Directory 的使用者名稱或電子郵件地址,例如 DOMAIN\username 或 user@example.com。

這項參數也接受 userPrincipalName 屬性。

Password

這是必填欄位。

使用者帳戶的密碼。

Domain

這是必填欄位。

網路命名空間中網域的完整 DNS 路徑。

請按照下列格式提供網域的完整網域名稱 (FQDN):SUBDOMAIN.ROOT_DOMAIN。

舉例來說,如果內部 Active Directory 網域是 example.local,則應輸入的 FQDN 為 example.local。如果內部 Active Directory 網域是 corp.example.com,請輸入 FQDN corp.example.com。

Custom Query Fields

選填。

以半形逗號分隔的自訂 Active Directory 欄位清單,用於查詢,例如 customField1, customField2。

CA Certificate File - parsed into Base64 String

選填。

設定 CA 憑證時,取得的 CA 憑證檔案字串,以 Base64 格式編碼。提供完整值。

Use SSL

選填。

如果選取這個選項,整合功能會在連線至 Active Directory 目錄伺服器時驗證 SSL 憑證,並使用安全的 LDAPS (通訊埠 636)。

如未選取,則會使用標準 LDAP (通訊埠 389)。

Debug Logging

選填。

如果選取,整合功能會記錄 Active Directory 作業的詳細偵錯資訊。

如要瞭解如何在 Google SecOps 中設定整合功能,請參閱「設定整合功能」。

如有需要,您可以在後續階段進行變更。設定整合執行個體後,即可在應對手冊中使用。如要進一步瞭解如何設定及支援多個執行個體,請參閱「支援多個執行個體」。

動作

如要進一步瞭解動作,請參閱「 在工作區回應待處理動作」和「在案件中執行手動動作」。

將使用者加入群組

使用「Add User To Group」動作,將案件中的使用者新增至一或多個 Active Directory 群組,例如在調查期間將帳戶新增至受限存取權群組。這項動作會自動從案件中找出目標使用者,並將他們加入指定群組。

這項動作會在 Google SecOps User 實體上執行。

動作輸入內容

「Add User To Group」動作需要下列參數:

參數 說明
Group Name

這是必填欄位。

以半形逗號分隔的清單,列出要新增使用者的群組。

動作輸出內容

「Add User To Group」動作會提供下列輸出內容:

動作輸出類型 可用性
案件總覽附件 無法使用
案件總覽連結 無法使用
案件總覽表格 無法使用
補充資訊表格 無法使用
JSON 結果 無法使用
輸出訊息 可用
指令碼執行結果 可用
輸出訊息

Add User To Group 動作可能會傳回下列輸出訊息:

輸出訊息 訊息說明

Successfully added the following users to the group "GROUP_NAME" in Active Directory: ENTITY_ID

The following users were already a part of the group "GROUP_NAME" in Active Directory: ENTITY_ID

動作成功。
Action wasn't able to add the following users to the group "GROUP_NAME" in Active Directory: ENTITY_ID

無法對指定使用者執行操作。

確認服務帳戶有權修改目標群組的 member 屬性。

The following users were not found in Active Directory: ENTITY_ID

無法對指定使用者執行操作。

請確認使用者帳戶存在於 Active Directory 中,且實體 ID 與有效的使用者名稱或電子郵件地址相符。

The following groups were not found in Active Directory: GROUP_NAME

無法對指定群組執行動作。

檢查 Group Name 參數中的群組名稱拼寫是否正確,並確認群組存在於設定的網域中。

No users were added to the group "GROUP_NAME" in Active Directory.

無法對指定群組執行動作。

請確認目標使用者存在於 Active Directory 中,且服務帳戶具備指定群組的寫入權限。

No users were added to the provided groups in Active Directory.

動作失敗。

確認案件包含有效的 User 實體,且 Active Directory 中存在指定群組。

Error executing action "Add User To Group". Reason: ERROR_REASON

動作失敗。

請檢查 Active Directory 目錄伺服器連線、輸入參數或服務帳戶憑證。

指令碼執行結果

下表列出使用「Add User To Group」動作時,指令碼結果輸出的值:

指令碼結果名稱 值
is_success true或false

變更主機機構單位

使用「變更主機組織單位」動作,將案件中的電腦移至 Active Directory 中的其他組織單位,例如將遭入侵的機器移至設有限制政策的隔離組織單位。這項動作會自動從案件中找出目標電腦,並將其移至指定的目的地組織單位。

這項動作會在 Google SecOps Hostname 實體上執行。

動作輸入內容

「Change Host OU」動作需要下列參數:

參數 說明
OU Name

這是必填欄位。

新主機機構單位的名稱。

動作輸出內容

「Change Host OU」動作會提供下列輸出內容:

動作輸出類型 可用性
案件總覽附件 無法使用
案件總覽連結 無法使用
案件總覽表格 無法使用
補充資訊表格 無法使用
JSON 結果 無法使用
輸出訊息 可用
指令碼執行結果 可用
輸出訊息

「Change Host OU」動作可能會傳回下列輸出訊息:

輸出訊息 訊息說明
Changed OU for the following hosts: ENTITY_ID 動作成功。
Failed to change OU for the following hosts : ENTITY_ID

無法對指定主機執行動作。

請確認目的地機構單位存在,且服務帳戶有權在來源和目的地機構單位之間移動電腦物件。

The following hosts were not found in Active Directory: ENTITY_ID

無法對指定主機執行動作。

確認電腦帳戶存在於 Active Directory 中,且與案件中的 Hostname 實體相符。

The action didn't change OU on any hosts.

動作失敗。

請確認目標電腦和目的地機構單位存在於 Active Directory 中,且服務帳戶具備移動電腦帳戶的權限。

Error executing action "Change Host OU". Reason: ERROR_REASON

動作失敗。

請檢查 Active Directory 伺服器的連線、OU Name 參數或服務帳戶憑證。

指令碼執行結果

下表列出使用「Change Host OU」動作時,指令碼結果輸出的值:

指令碼結果名稱 值
is_success true或false

變更使用者機構單位

使用「Change User OU」動作,將案件中的使用者移至 Active Directory 中的其他組織單位,例如在事件或離職工作流程中,將帳戶移至受限制的組織單位。這項動作會自動從案件中找出目標使用者,並將他們移至指定的目的地機構單位。

這項動作會在 Google SecOps User 實體上執行。

動作輸入內容

「Change User OU」(變更使用者機構單位) 動作需要下列參數:

參數 說明
OU Name

這是必填欄位。

新使用者機構單位的名稱。

動作輸出內容

「Change User OU」(變更使用者組織單位) 動作會提供下列輸出內容:

動作輸出類型 可用性
案件總覽附件 無法使用
案件總覽連結 無法使用
案件總覽表格 無法使用
補充資訊表格 無法使用
JSON 結果 無法使用
輸出訊息 可用
指令碼執行結果 可用
輸出訊息

「變更使用者機構單位」動作可能會傳回下列輸出訊息:

輸出訊息 訊息說明
Changed OU for the following users: ENTITY_ID 動作成功。
Failed to change OU for the following users : ENTITY_ID

無法對指定使用者執行操作。

請確認目的地機構單位存在,且服務帳戶有權在來源和目的地機構單位之間移動使用者物件。

The following users were not found in Active Directory: ENTITY_ID

無法對指定使用者執行操作。

確認使用者帳戶存在於 Active Directory 中,且與案件中的 User 實體相符。

The action didn't change OU on any users.

動作失敗。

請確認目標使用者和目的地機構單位存在於 Active Directory 中,且服務帳戶有權移動使用者帳戶。

Error executing action "Change User OU". Reason: ERROR_REASON

動作失敗。

請檢查 Active Directory 伺服器的連線、OU Name 參數或服務帳戶憑證。

指令碼執行結果

下表列出使用「變更使用者機構單位」動作時,指令碼結果輸出的值:

指令碼結果名稱 值
is_success true或false

停用帳戶

使用「停用帳戶」動作,停用 Active Directory 中的使用者帳戶。這項動作會自動鎖定與案件相關聯的使用者。

這項動作會在 Google SecOps User 實體上執行。

動作輸入內容

無

動作輸出內容

「停用帳戶」動作會提供下列輸出內容:

動作輸出類型 可用性
案件總覽附件 無法使用
案件總覽連結 無法使用
案件總覽表格 無法使用
補充資訊表格 無法使用
JSON 結果 無法使用
輸出訊息 可用
指令碼執行結果 可用
輸出訊息

「停用帳戶」動作可能會傳回下列輸出訊息:

輸出訊息 訊息說明
Disabled account for the following users: ENTITY_ID 動作成功。
Failed to disable account for the following users: ENTITY_ID

無法對指定使用者執行操作。

確認服務帳戶具備目標使用者帳戶 userAccountControl 屬性的讀取和寫入權限,且使用者並非受保護的管理員帳戶。

The following users were not found in Active Directory: ENTITY_ID

無法對指定使用者執行操作。

確認使用者帳戶存在於 Active Directory 中,且與案件中的 User 實體相符。

No users were disabled in Active Directory.

動作失敗。

確認案件包含有效的 User 實體,且服務帳戶有權停用目標帳戶。

Error executing action "Disable Account". Reason: ERROR_REASON

動作失敗。

請檢查 Active Directory 伺服器連線或服務帳戶憑證。

指令碼執行結果

下表列出使用「停用帳戶」動作時,指令碼結果輸出的值:

指令碼結果名稱 值
is_success true或false

停用電腦

使用「停用電腦」動作,停用 Active Directory 中的電腦帳戶,防止遭入侵或未經授權的機器向網域驗證。這項動作會自動指定與案件相關聯的主機名稱。

這項動作會在 Google SecOps Hostname 實體上執行。

動作輸入內容

無

動作輸出內容

「停用電腦」動作會提供下列輸出內容:

動作輸出類型 可用性
案件總覽附件 無法使用
案件總覽連結 無法使用
案件總覽表格 無法使用
補充資訊表格 無法使用
JSON 結果 無法使用
輸出訊息 可用
指令碼執行結果 可用
輸出訊息

「停用電腦」動作可能會傳回下列輸出訊息:

輸出訊息 訊息說明

Successfully disabled the following computers in Active Directory: ENTITY_ID

The following computers were already disabled in Active Directory: ENTITY_ID

動作成功。
Action wasn't able to disable the following computers in Active Directory: ENTITY_ID

無法對指定電腦執行動作。

確認服務帳戶具備目標電腦物件 userAccountControl 屬性的讀取和寫入權限。

The following computers were not found in Active Directory: ENTITY_ID

無法對指定電腦執行動作。

確認電腦帳戶存在於 Active Directory 中,且與案件中的 Hostname 實體相符。

No computers were disabled in Active Directory.

動作失敗。

確認案件包含有效的 Hostname 實體,且服務帳戶有權停用目標電腦帳戶。

Error executing action "Disable Computer". Reason: ERROR_REASON

動作失敗。

請檢查 Active Directory 伺服器連線或服務帳戶憑證。

指令碼執行結果

下表列出使用「停用電腦」動作時,指令碼結果輸出的值:

指令碼結果名稱 值
is_success true或false

啟用帳戶

使用「啟用帳戶」動作,重新啟用 Active Directory 中已停用的使用者帳戶。系統會自動對案件相關使用者採取行動。

這項動作會在 Google SecOps User 實體上執行。

動作輸入內容

無

動作輸出內容

「啟用帳戶」動作會提供下列輸出內容:

動作輸出類型 可用性
案件總覽附件 無法使用
案件總覽連結 無法使用
案件總覽表格 無法使用
補充資訊表格 無法使用
JSON 結果 無法使用
輸出訊息 可用
指令碼執行結果 可用
輸出訊息

「啟用帳戶」動作可能會傳回下列輸出訊息:

輸出訊息 訊息說明

Successfully enabled the following users in Active Directory: ENTITY_ID

The following users were already enabled in Active Directory: ENTITY_ID

動作成功。
Action wasn't able to enable the following users in Active Directory: ENTITY_ID

無法對指定使用者執行操作。

確認服務帳戶具備目標使用者帳戶 userAccountControl 屬性的讀取和寫入權限。

The following users were not found in Active Directory: ENTITY_ID

無法對指定使用者執行操作。

確認使用者帳戶存在於 Active Directory 中,且與案件中的 User 實體相符。

No users were enabled in Active Directory.

動作失敗。

請確認案件包含有效的 User 實體,且服務帳戶有權啟用目標帳戶。

Error executing action "Enable Account". Reason: ERROR_REASON

動作失敗。

請檢查 Active Directory 伺服器連線或服務帳戶憑證。

指令碼執行結果

下表列出使用「Enable Account」(啟用帳戶) 動作時,指令碼結果輸出的值:

指令碼結果名稱 值
is_success true或false

啟用電腦

使用「啟用電腦」動作,重新啟用 Active Directory 中已停用的電腦帳戶,讓機器可以再次向網域驗證。這項動作會自動指定與案件相關聯的主機名稱。

這項動作會在 Google SecOps Hostname 實體上執行。

動作輸入內容

無

動作輸出內容

「啟用電腦」動作會提供下列輸出內容:

動作輸出類型 可用性
案件總覽附件 無法使用
案件總覽連結 無法使用
案件總覽表格 無法使用
補充資訊表格 無法使用
JSON 結果 無法使用
輸出訊息 可用
指令碼執行結果 可用
輸出訊息

「啟用電腦」動作可能會傳回下列輸出訊息:

輸出訊息 訊息說明

Successfully enabled the following computers in Active Directory: ENTITY_ID

The following computers were already enabled in Active Directory: ENTITY_ID

動作成功。
Action wasn't able to enable the following computers in Active Directory: ENTITY_ID

無法對指定電腦執行動作。

確認服務帳戶具備目標電腦物件 userAccountControl 屬性的讀取和寫入權限。

The following computers were not found in Active Directory: ENTITY_ID

無法對指定電腦執行動作。

確認電腦帳戶存在於 Active Directory 中,且與案件中的 Hostname 實體相符。

No computers were enabled in Active Directory.

動作失敗。

確認案件包含有效的 Hostname 實體,且服務帳戶有權啟用目標電腦帳戶。

Error executing action "Enable Computer". Reason: ERROR_REASON

動作失敗。

請檢查 Active Directory 伺服器連線或服務帳戶憑證。

指令碼執行結果

下表列出使用「啟用電腦」動作時,指令碼結果輸出的值:

指令碼結果名稱 值
is_success true或false

充實實體

使用「Enrich Entities」動作,擷取案件中使用者和電腦的 Active Directory 設定檔詳細資料、帳戶狀態和群組成員資格。您可以使用所有可用的目錄資訊來充實實體,或將結果和案件牆表格限制為特定屬性。

這項操作是非同步的。視需要前往 Google SecOps IDE 調整動作的指令碼逾時值。

「Enrich Entities」動作會在下列 Google SecOps 實體上執行:

  • User
  • Hostname

動作輸入內容

「Enrich Entities」動作需要下列參數:

參數 說明
Mark Entities as Internal

選填。

如果選取,這項動作會自動將成功擴充的實體標示為內部實體。

(預設為啟用)。

Create Case Wall Table

選填。

如果選取,這項動作會產生案件牆表格,其中包含每個擴充實體擷取的 Active Directory 屬性。

(預設為啟用)。

Specific Attribute Names To Enrich With

選填。

以半形逗號分隔的屬性名稱清單,用於充實實體。

如未提供任何值,這項動作會使用所有可用屬性來充實實體。如果屬性包含多個值,這項動作會以所有可用值充實屬性。

這個參數須區分大小寫。

Should Case Wall Table be filtered by the specified Attributes?

選填。

如果選取,這項動作只會使用 Specific Attribute Names To Enrich With 中指定的屬性填入案件總覽表格。

Should JSON result be filtered by the specified Attributes?

選填。

如果選取,JSON 結果只會傳回 Specific Attribute Names To Enrich With 中指定的屬性。

動作輸出內容

「Enrich Entities」動作會提供下列輸出內容:

動作輸出類型 可用性
案件總覽附件 無法使用
案件總覽連結 無法使用
案件總覽表格 可用
實體擴充表格 可用
JSON 結果 可用
輸出訊息 可用
指令碼執行結果 可用
案件總覽表格

選取 Create Case Wall Table 時,「Enrich Entities」動作會在「Case Wall」上提供下表:

  • 資料表名稱:Report for: <var class="readonly">ENTITY_ID</var>
  • 資料欄:為實體擷取的 Active Directory 屬性名稱和值 (如果選取 Should Case Wall Table be filtered by the specified Attributes?,則依 Specific Attribute Names To Enrich With 參數篩選)。
實體擴充

「Enrich Entities」(擴充實體) 動作支援下列實體擴充:

補充資料欄位名稱 邏輯
AD_primaryGroupID 如果 JSON 結果中存在該值,動作就會傳回該值。
AD_logonCount 如果 JSON 結果中存在該值,動作會傳回該值。
AD_cn 如果 JSON 結果中存在該值,動作會傳回該值。
AD_countryCode 如果 JSON 結果中存在該值,動作會傳回該值。
AD_objectClass 如果 JSON 結果中存在該值,動作會傳回該值。
AD_userPrincipalName 如果 JSON 結果中存在該值,動作會傳回該值。
AD_adminCount 如果 JSON 結果中存在該值,動作會傳回該值。
AD_lastLogonTimestamp 如果 JSON 結果中存在該值,動作會傳回該值。
AD_manager 如果 JSON 結果中存在該值,動作會傳回該值。
AD_instanceType 如果 JSON 結果中存在該值,動作會傳回該值。
AD_distinguishedName 如果 JSON 結果中存在該值,動作會傳回該值。
AD_dSCorePropagationData 如果 JSON 結果中存在該值,動作會傳回該值。
AD_msDS-SupportedEncryptionTypes 如果 JSON 結果中存在該值,動作會傳回該值。
AD_objectSid 如果 JSON 結果中存在該值,動作會傳回該值。
AD_whenCreated 如果 JSON 結果中存在該值,動作會傳回該值。
AD_uSNCreated 如果 JSON 結果中存在該值,動作會傳回該值。
AD_lockoutTime 如果 JSON 結果中存在該值,動作會傳回該值。
AD_badPasswordTime 如果 JSON 結果中存在該值,動作會傳回該值。
AD_pwdLastSet 如果 JSON 結果中存在該值,動作會傳回該值。
AD_sAMAccountName 如果 JSON 結果中存在該值,動作會傳回該值。
AD_objectCategory 如果 JSON 結果中存在該值,動作會傳回該值。
AD_lastLogon 如果 JSON 結果中存在該值,動作會傳回該值。
AD_objectGUID 如果 JSON 結果中存在該值,動作會傳回該值。
AD_whenChanged 如果 JSON 結果中存在該值,動作會傳回該值。
AD_badPwdCount 如果 JSON 結果中存在該值,動作會傳回該值。
AD_accountExpires 如果 JSON 結果中存在該值,動作會傳回該值。
AD_displayName 如果 JSON 結果中存在該值,動作會傳回該值。
AD_name 如果 JSON 結果中存在該值,動作會傳回該值。
AD_memberOf 如果 JSON 結果中存在該值,動作會傳回該值。
AD_codePage 如果 JSON 結果中存在該值,動作會傳回該值。
AD_userAccountControl 如果 JSON 結果中存在該值,動作會傳回該值。
AD_sAMAccountType 如果 JSON 結果中存在該值,動作會傳回該值。
AD_uSNChanged 如果 JSON 結果中存在該值,動作會傳回該值。
AD_sn 如果 JSON 結果中存在該值,動作會傳回該值。
AD_givenName 如果 JSON 結果中存在該值,動作會傳回該值。
AD_lastLogoff 如果 JSON 結果中存在該值,動作會傳回該值。
JSON 結果

以下範例顯示使用「Enrich Entities」動作時,收到的 JSON 結果輸出內容:

[
    {
        "EntityResult": {
            "primaryGroupID": [513],
            "logonCount": [6505],
            "cn": ["user name"],
            "countryCode": [0],
            "objectClass": ["top", "person", "organizationalPerson"],
            "userPrincipalName": ["user@example.com"],
            "adminCount": [1],
            "lastLogonTimestamp": ["2019-01-09 08:42:03.540783+00:00"],
            "manager": ["CN=user name,OU=R&D,OU=TLV,OU=host name,DC=domain,DC=LOCAL"],
            "instanceType": [4],
            "distinguishedName": ["CN=user name,OU=R&D,OU=TLV,OU=host,DC=domain,DC=LOCAL"],
            "dSCorePropagationData": ["2019-01-14 14:39:16+00:00"],
            "msDS-SupportedEncryptionTypes": [0],
            "objectSid": ["ID"],
            "whenCreated": ["2011-11-07 08:00:44+00:00"],
            "uSNCreated": [7288202],
            "lockoutTime": ["1601-01-01 00:00:00+00:00"],
            "badPasswordTime": ["date"],
            "pwdLastSet": ["date"],
            "sAMAccountName": ["example"],
            "objectCategory": ["CN=Person,CN=Schema,CN=Configuration,DC=host,DC=LOCAL"],
            "lastLogon": ["2019-01-14 17:13:54.463070+00:00"],
            "objectGUID": ["GUID"],
            "whenChanged": ["2019-01-14 16:49:01+00:00"],
            "badPwdCount": [1],
            "accountExpires": ["9999-12-31 23:59:59.999999"],
            "displayName": ["example user"],
            "name": ["user"],
            "memberOf": ["CN=\\\\u05e7\\\\u05d1\\\\u05d5\\\\u05e6\\\\u05d4 \\\\u05d1\\\\u05e2\\\\u05d1\\\\u05e8\\\\u05d9\\\\u05ea,OU=TEST,OU=QA,OU=IT,OU=TLV,OU=host,DC=domain,DC=LOCAL", "CN=Organization Management,OU=Microsoft Exchange Security Groups,DC=domain,DC=LOCAL", "CN=Local Admin,OU=Groups,OU=IT,OU=TLV,OU=host,DC=domain,DC=LOCAL"],
            "codePage": [0],
            "userAccountControl": [111],
            "sAMAccountType": [805306368],
            "uSNChanged": [15301168],
            "sn": ["example"],
            "givenName": ["user"],
            "lastLogoff": ["1601-01-01 00:00:00+00:00"]
        },
        "Entity": "user@example.com"
    }
]
輸出訊息

「Enrich Entities」動作可傳回下列輸出訊息:

輸出訊息 訊息說明

Active Directory Permalink: SERVER

Enriched the following Users ENTITY_ID

Enriched the following Hosts ENTITY_ID

All entities were enriched.

動作成功。
The following entities were not found in Active Directory: ENTITY_ID

無法對指定實體執行動作。

確認使用者或主機帳戶存在於 Active Directory 中,且與案件中的實體 ID 相符。

Failed to enrich the following Users ENTITY_ID

無法對指定使用者執行操作。

確認服務帳戶有權讀取目標使用者帳戶的屬性 (包括 userAccountControl),並檢查 Active Directory 中是否有任何自訂屬性。

Failed to enrich the following Hosts ENTITY_ID

無法對指定主機執行動作。

請確認服務帳戶有權讀取目標電腦帳戶的屬性 (包括 userAccountControl),並檢查 Active Directory 中是否有任何自訂屬性。

No entities were enriched.

動作失敗。

確認案件包含 Active Directory 中現有的有效 User 或 Hostname 實體。

Error executing action "Enrich Entities". Reason: ERROR_REASON

動作失敗。

請檢查 Active Directory 伺服器連線、自訂查詢欄位或服務帳戶憑證。

指令碼執行結果

下表列出使用「Enrich Entities」動作時,指令碼結果輸出的值:

指令碼結果名稱 值
is_success true或false

強制更新密碼

使用「強制更新密碼」動作,要求使用者在下次登入時變更密碼。這項動作會自動指定與案件相關聯的使用者。

這項動作會在 Google SecOps User 實體上執行。

動作輸入內容

無

動作輸出內容

「強制更新密碼」動作會提供下列輸出內容:

動作輸出類型 可用性
案件總覽附件 無法使用
案件總覽連結 無法使用
案件總覽表格 無法使用
補充資訊表格 無法使用
JSON 結果 無法使用
輸出訊息 可用
指令碼執行結果 可用
輸出訊息

強制更新密碼動作可能會傳回下列輸出訊息:

輸出訊息 訊息說明
Forced password update on next logon for the following users: ENTITY_ID 動作成功。
Failed to force password update on next logon for the following users: ENTITY_ID

無法對指定使用者執行操作。

確認服務帳戶具備目標使用者帳戶 pwdLastSet 屬性的讀取和寫入權限。

The following users were not found in Active Directory: ENTITY_ID

無法對指定使用者執行操作。

確認使用者帳戶存在於 Active Directory 中,且與案件中的 User 實體相符。

Password update wasn't forced on any users.

動作失敗。

請確認案件包含有效的 User 實體,且服務帳戶有權更新密碼到期設定。

Error executing action "Force Password Update". Reason: ERROR_REASON

動作失敗。

請檢查 Active Directory 伺服器連線或服務帳戶憑證。

指令碼執行結果

下表列出使用「強制更新密碼」動作時,指令碼結果輸出的值:

指令碼結果名稱 值
is_success true或false

取得群組成員

使用「Get Group Members」動作,列出屬於特定 Active Directory 群組的使用者、電腦或兩者。您也可以視需要縮小搜尋範圍,只搜尋特定組織單位或上層群組,並納入巢狀子群組的成員。

這項動作不會在 Google SecOps 實體上執行。

動作輸入內容

「Get Group Members」動作需要下列參數:

參數 說明
Group Name

這是必填欄位。

包含所列成員的群組名稱。

Members Type

這是必填欄位。

要從群組擷取的成員類型。

可能的值如下:

  • Only Users
  • Only Hosts
  • Both

預設值為 Only Users。

Where To Search

這是必填欄位。

要搜尋的特定 Organizational Unit 或 Group。

可能的值如下:

  • Select Option
  • Organizational Unit
  • Group

預設值為 Select Option。

Filter Object Value

選填。

Organizational Unit 或 Group 的名稱,動作會在這個位置搜尋目標群組。如果 Where To Search 設為 Organizational Unit 或 Group,則必須提供這項參數。

Perform Nested Search

選填。

如果選取,這項動作會從目標群組所屬的巢狀子群組中擷取成員。

Limit

選填。

從 Active Directory 擷取的清單數量上限。

預設值為 100。

動作輸出內容

「Get Group Members」動作會提供下列輸出內容:

動作輸出類型 可用性
案件總覽附件 無法使用
案件總覽連結 無法使用
案件總覽表格 可用
補充資訊表格 無法使用
JSON 結果 可用
輸出訊息 可用
指令碼執行結果 可用
案件總覽表格

「Get Group Members」動作會在「Case Wall」提供下表:

  • 資料表名稱:Members of Active Directory group: <var class="readonly">GROUP_NAME</var>
  • 資料欄:
    • Distinguished Name
    • SAM Account Name
    • User Principal Name
    • Type
JSON 結果

以下範例顯示使用「Get Group Members」動作時,收到的 JSON 結果輸出內容:

[
  {
    "dn": "CN=Example User1,OU=User Accounts,DC=example,DC=local",
    "sAMAccountName": "ExampleUser1",
    "userPrincipalName": "user1@example.local",
    "type": "CN=Person,CN=Schema,CN=Configuration,DC=example,DC=local"
  },
  {
    "dn": "CN=Example User2,CN=Users,DC=example,DC=local",
    "sAMAccountName": "ExampleUser2",
    "userPrincipalName": "user2@example.local",
    "type": "CN=Person,CN=Schema,CN=Configuration,DC=example,DC=local"
  }
]
輸出訊息

「Get Group Members」動作可能會傳回下列輸出訊息:

輸出訊息 訊息說明

Successfully retrieved members of the group "GROUP_NAME" from Active Directory.

Group "GROUP_NAME" doesn't contain any members matching search criteria in Active Directory.

動作成功。
Error executing action "Get Group Members". Reason: Filter Object Value should be provided

動作失敗。

當 Where To Search 設為 Organizational Unit 或 Group 時,請在 Filter Object Value 參數中提供有效的機構單位或群組名稱。

Error executing action "Get Group Members". Reason: Given value for Limit should be a positive number.

動作失敗。

請在 Limit 參數中輸入大於 0 的整數。

Error executing action "Get Group Members". Reason: Given group doesn't exist in Active Directory.

動作失敗。

檢查 Group Name 參數中的群組名稱,並確認該群組存在於設定的搜尋範圍內。

Error executing action "Get Group Members". Reason: Specified Organizational Unit doesn't exist in Active Directory.

動作失敗。

確認 Active Directory 中存在 Filter Object Value 指定的組織單位。

Error executing action "Get Group Members". Reason: Specified Group in "Filter Object Value" doesn't exist in Active Directory.

動作失敗。

確認 Active Directory 中存在 Filter Object Value 指定的父項群組。

Error executing action "Get Group Members". Reason: ERROR_REASON

動作失敗。

請檢查 Active Directory 目錄伺服器連線、輸入參數或服務帳戶憑證。

指令碼執行結果

下表列出使用「Get Group Members」動作時,指令碼結果輸出的值:

指令碼結果名稱 值
is_success true或false

取得管理員聯絡資料

使用「Get Manager Contact Details」動作,在 Active Directory 中查詢使用者的主管,並擷取主管的聯絡資料。這項動作會自動指定與案件相關聯的使用者。

這項動作會在 Google SecOps User 實體上執行。

動作輸入內容

無

動作輸出內容

「取得主管聯絡資料」動作會提供下列輸出內容:

動作輸出類型 可用性
案件總覽附件 無法使用
案件總覽連結 無法使用
案件總覽表格 可用
實體擴充表格 可用
JSON 結果 可用
輸出訊息 可用
指令碼執行結果 可用
案件總覽表格

「Get Manager Contact Details」動作會在案件牆上提供下表:

  • 資料表名稱:Manager Contact: <var class="readonly">ENTITY_ID</var>
  • 資料欄:
    • Manager Name
    • Manager Phone
實體擴充

「Get Manager Contact Details」動作支援下列實體擴充:

補充資料欄位名稱 邏輯
AD_Manager_Name 如果 JSON 結果中存在該值,動作就會傳回該值。
AD_Manager_phone 如果 JSON 結果中存在該值,動作會傳回該值。
AD_primaryGroupID 如果 JSON 結果中存在該值,動作會傳回該值。
AD_logonCount 如果 JSON 結果中存在該值,動作會傳回該值。
AD_cn 如果 JSON 結果中存在該值,動作會傳回該值。
AD_countryCode 如果 JSON 結果中存在該值,動作會傳回該值。
AD_objectClass 如果 JSON 結果中存在該值,動作會傳回該值。
AD_userPrincipalName 如果 JSON 結果中存在該值,動作會傳回該值。
AD_adminCount 如果 JSON 結果中存在該值,動作會傳回該值。
AD_lastLogonTimestamp 如果 JSON 結果中存在該值,動作會傳回該值。
AD_manager 如果 JSON 結果中存在該值,動作會傳回該值。
AD_instanceType 如果 JSON 結果中存在該值,動作會傳回該值。
AD_distinguishedName 如果 JSON 結果中存在該值,動作會傳回該值。
AD_dSCorePropagationData 如果 JSON 結果中存在該值,動作會傳回該值。
AD_msDS-SupportedEncryptionTypes 如果 JSON 結果中存在該值,動作會傳回該值。
AD_objectSid 如果 JSON 結果中存在該值,動作會傳回該值。
AD_whenCreated 如果 JSON 結果中存在該值,動作會傳回該值。
AD_uSNCreated 如果 JSON 結果中存在該值,動作會傳回該值。
AD_lockoutTime 如果 JSON 結果中存在該值,動作會傳回該值。
AD_badPasswordTime 如果 JSON 結果中存在該值,動作會傳回該值。
AD_pwdLastSet 如果 JSON 結果中存在該值,動作會傳回該值。
AD_sAMAccountName 如果 JSON 結果中存在該值,動作會傳回該值。
AD_objectCategory 如果 JSON 結果中存在該值,動作會傳回該值。
AD_lastLogon 如果 JSON 結果中存在該值,動作會傳回該值。
AD_objectGUID 如果 JSON 結果中存在該值,動作會傳回該值。
AD_whenChanged 如果 JSON 結果中存在該值,動作會傳回該值。
AD_badPwdCount 如果 JSON 結果中存在該值,動作會傳回該值。
AD_accountExpires 如果 JSON 結果中存在該值,動作會傳回該值。
AD_displayName 如果 JSON 結果中存在該值,動作會傳回該值。
AD_name 如果 JSON 結果中存在該值,動作會傳回該值。
AD_memberOf 如果 JSON 結果中存在該值,動作會傳回該值。
AD_codePage 如果 JSON 結果中存在該值,動作會傳回該值。
AD_userAccountControl 如果 JSON 結果中存在該值,動作會傳回該值。
AD_sAMAccountType 如果 JSON 結果中存在該值,動作會傳回該值。
AD_uSNChanged 如果 JSON 結果中存在該值,動作會傳回該值。
AD_sn 如果 JSON 結果中存在該值,動作會傳回該值。
AD_givenName 如果 JSON 結果中存在該值,動作會傳回該值。
AD_lastLogoff 如果 JSON 結果中存在該值,動作會傳回該值。
JSON 結果

以下範例顯示使用「Get Manager Contact Details」動作時,收到的 JSON 結果輸出內容:

[
   {
        "EntityResult":
        {
            "primaryGroupID": [513],
            "logonCount": [6505],
            "cn": ["user name"],
            "countryCode": [0],
            "objectClass": ["top", "person", "organizationalPerson"],
            "userPrincipalName": ["user@example.com"],
            "adminCount": [1],
            "lastLogonTimestamp": ["2019-01-09 08:42:03.540783+00:00"],
            "manager": ["CN=user name,OU=R&D,OU=TLV,OU=host name,DC=domain,DC=LOCAL"],
            "instanceType": [4],
            "distinguishedName": ["CN=user name,OU=R&D,OU=TLV,OU=host,DC=domain,DC=LOCAL"],
            "dSCorePropagationData": ["2019-01-14 14:39:16+00:00"],
            "msDS-SupportedEncryptionTypes": [0],
            "objectSid": ["ID"],
            "whenCreated": ["2011-11-07 08:00:44+00:00"],
            "uSNCreated": [7288202],
            "lockoutTime": ["1601-01-01 00:00:00+00:00"],
            "badPasswordTime": ["date"],
            "pwdLastSet": ["date"],
            "sAMAccountName": ["example"],
            "objectCategory": ["CN=Person,CN=Schema,CN=Configuration,DC=host,DC=LOCAL"],
            "lastLogon": ["2019-01-14 17:13:54.463070+00:00"],
            "objectGUID": ["GUID"],
            "whenChanged": ["2019-01-14 16:49:01+00:00"],
            "badPwdCount": [1],
            "accountExpires": ["9999-12-31 23:59:59.999999"],
            "displayName": ["example"],
            "name": ["user"],
            "memberOf": ["CN=\\\\u05e7\\\\u05d1\\\\u05d5\\\\u05e6\\\\u05d4 \\\\u05d1\\\\u05e2\\\\u05d1\\\\u05e8\\\\u05d9\\\\u05ea,OU=TEST,OU=QA,OU=IT,OU=TLV,OU=host,DC=domain,DC=LOCAL", "CN=Organization Management,OU=Microsoft Exchange Security Groups,DC=domain,DC=LOCAL", "CN=Local Admin,OU=Groups,OU=IT,OU=TLV,OU=host,DC=domain,DC=LOCAL"],
            "codePage": [0],
            "userAccountControl": [111],
            "sAMAccountType": [805306368],
            "uSNChanged": [15301168],
            "sn": ["example"],
            "givenName": ["user"],
            "lastLogoff": ["1601-01-01 00:00:00+00:00"]
        },
        "Entity": "user@example.com"
    }
]
輸出訊息

「Get Manager Contact Details」動作可傳回下列輸出訊息:

輸出訊息 訊息說明
Retrieved manager details for the following users: ENTITY_ID 動作成功。
The following users don't have managers specified in Active Directory: ENTITY_ID

無法對指定使用者執行操作。

確認 Active Directory 中目標使用者帳戶的 manager 屬性已填入值。

Failed to retrieve manager details for the following users: ENTITY_ID

無法對指定使用者執行操作。

確認服務帳戶有權讀取 Active Directory 中的 manager 屬性和主管的使用者個人資料。

The following users were not found in Active Directory: ENTITY_ID

無法對指定使用者執行操作。

確認使用者帳戶存在於 Active Directory 中,且與案件中的 User 實體相符。

No manager details were retrieved for the provided users.

動作失敗。

確認案件包含有效的 User 實體,且在 Active Directory 中指派了管理員。

Error executing action "Get Manager Contact Details". Reason: ERROR_REASON

動作失敗。

請檢查 Active Directory 伺服器連線或服務帳戶憑證。

指令碼執行結果

下表列出使用「Get Manager Contact Details」動作時,指令碼結果輸出的值:

指令碼結果名稱 值
is_success true或false

使用者是否在群組中

使用「Is User In Group」動作,檢查特定使用者是否屬於指定的 Active Directory 群組。根據預設,這項動作會檢查案件中的 User 實體,您也可以在 User Name 參數中輸入以逗號分隔的清單,直接檢查特定帳戶。

這項動作會在 Google SecOps User 實體上執行。

動作輸入內容

「Is User In Group」動作需要下列參數:

參數 說明
Group Name

這是必填欄位。

要檢查的群組名稱,例如 administrators。

User Name

選填。

列出要檢查的使用者名稱,並以半形逗號分隔。

如未提供值,動作會檢查案件中的 User 實體。

Where To Search

這是必填欄位。

要搜尋的特定 Organizational Unit 或 Group。

可能的值如下:

  • Select Option
  • Organizational Unit
  • Group

預設值為 Select Option。

Filter Object Value

選填。

動作搜尋目標群組時所在的 Organizational Unit 或 Group 名稱。如果 Where To Search 設為 Organizational Unit 或 Group,則必須提供這項參數。

Search In Subgroups

選填。

如果選取這個選項,系統會在巢狀子群組中遞迴搜尋。

動作輸出內容

「Is User In Group」動作會提供下列輸出內容:

動作輸出類型 可用性
案件總覽附件 無法使用
案件總覽連結 無法使用
案件總覽表格 無法使用
補充資訊表格 無法使用
JSON 結果 可用
輸出訊息 可用
指令碼執行結果 可用
JSON 結果

以下範例顯示使用「Is User In Group」動作時,收到的 JSON 結果輸出內容:

[
    {
        "EntityResult": true,
        "Entity": "USER1@EXAMPLE.COM"
    }, {
        "EntityResult": false,
        "Entity": "USER2@EXAMPLE.COM"
    }, {
        "EntityResult": true,
        "Entity": "USER3@EXAMPLE.COM"
    }
]
輸出訊息

「Is User In Group」動作可傳回下列輸出訊息:

輸出訊息 訊息說明

USER_NAME IN GROUP_NAME;

USER_NAME NOT in GROUP_NAME;

動作成功。
The following users were not found in Active Directory: USER_NAME

無法對指定使用者執行操作。

確認使用者名稱或 User 實體存在於 Active Directory 中。

None of the provided users were found in Active Directory.

動作失敗。

請確認案件包含有效的 User 實體,或 User Name 參數中指定的使用者名稱存在於 Active Directory 中。

Error executing action "Is User In Group". Reason: Filter Object Value should be provided

動作失敗。

當 Where To Search 設為 Organizational Unit 或 Group 時,請在 Filter Object Value 參數中提供有效的機構單位或群組名稱。

Error executing action "Is User In Group". Reason: Given group doesn't exist in Active Directory.

動作失敗。

檢查 Group Name 參數中的群組名稱,並確認該群組存在於設定的搜尋範圍內。

Error executing action "Is User In Group". Reason: Specified Organizational Unit doesn't exist in Active Directory.

動作失敗。

確認 Active Directory 中存在 Filter Object Value 指定的組織單位。

Error executing action "Is User In Group". Reason: Specified Group in "Filter Object Value" doesn't exist in Active Directory.

動作失敗。

確認 Active Directory 中存在 Filter Object Value 指定的父項群組。

Error executing action "Is User In Group". Reason: ERROR_REASON

動作失敗。

請檢查 Active Directory 目錄伺服器連線、輸入參數或服務帳戶憑證。

指令碼執行結果

下表列出使用「Is User In Group」動作時,指令碼結果輸出的值:

指令碼結果名稱 值
is_success true或false

列出使用者群組

使用「List User Groups」動作,擷取使用者所屬的所有 Active Directory 群組清單。這項動作會自動指定與案件相關聯的使用者。

這項動作會在 Google SecOps User 實體上執行。

動作輸入內容

無

動作輸出內容

「List User Groups」動作會提供下列輸出內容:

動作輸出類型 可用性
案件總覽附件 無法使用
案件總覽連結 無法使用
案件總覽表格 無法使用
補充資訊表格 無法使用
JSON 結果 可用
輸出訊息 可用
指令碼執行結果 可用
JSON 結果

以下範例顯示使用「List User Groups」動作時,收到的 JSON 結果輸出內容:

[
    {
        "EntityResult": ["Domain Users"],
        "Entity": "user@example.com"
    }
]
輸出訊息

「List User Groups」動作可傳回下列輸出訊息:

輸出訊息 訊息說明
Groups were listed for the following users: ENTITY_ID 動作成功。
No groups were found for the following users: ENTITY_ID

無法對指定使用者執行操作。

確認使用者帳戶已指派給 Active Directory 中 memberOf 屬性內的至少一個明確群組。

Failed to list groups for the following users: ENTITY_ID

無法對指定使用者執行操作。

確認服務帳戶有權讀取目標使用者帳戶的 memberOf 屬性。

The following users were not found in Active Directory: ENTITY_ID

無法對指定使用者執行操作。

確認使用者帳戶存在於 Active Directory 中,且與案件中的 User 實體相符。

No groups were listed.

動作失敗。

確認案件包含屬於 Active Directory 群組的有效 User 實體。

Error executing action "List User Groups". Reason: ERROR_REASON

動作失敗。

請檢查 Active Directory 伺服器連線或服務帳戶憑證。

指令碼執行結果

下表列出使用「List User Groups」動作時,指令碼結果輸出的值:

指令碼結果名稱 值
is_success true或false

乒乓

使用「Ping」動作,確認 Google SecOps 能使用設定的整合設定,連線至 Active Directory 目錄伺服器並進行驗證。

這項動作不會在 Google SecOps 實體上執行。

動作輸入內容

無

動作輸出內容

Ping 動作會提供下列輸出內容:

動作輸出類型 可用性
案件總覽附件 無法使用
案件總覽連結 無法使用
案件總覽表格 無法使用
補充資訊表格 無法使用
JSON 結果 無法使用
輸出訊息 可用
指令碼執行結果 可用
輸出訊息

Ping 動作可能會傳回下列輸出訊息:

輸出訊息 訊息說明
Connected successfully. 動作成功。
Error executing action "Ping". Reason: ERROR_REASON

動作失敗。

請檢查整合設定中的伺服器位址、通訊埠、SSL 設定或服務帳戶憑證。

指令碼執行結果

下表列出使用 Ping 動作時,指令碼結果輸出的值:

指令碼結果名稱 值
is_success true或false

解除鎖定帳戶

使用「解除鎖定帳戶」動作,可解鎖 Active Directory 中因登入失敗次數過多而鎖定的使用者帳戶。這項動作會自動指定與案件相關聯的使用者。

這項動作會在 Google SecOps User 實體上執行。

動作輸入內容

無

動作輸出內容

「Release Locked Account」動作會提供下列輸出內容:

動作輸出類型 可用性
案件總覽附件 無法使用
案件總覽連結 無法使用
案件總覽表格 無法使用
補充資訊表格 無法使用
JSON 結果 無法使用
輸出訊息 可用
指令碼執行結果 可用
輸出訊息

Release Locked Account 動作可能會傳回下列輸出訊息:

輸出訊息 訊息說明
Unlocked account for the following users: ENTITY_ID 動作成功。
Failed to unlock account for the following users: ENTITY_ID

無法對指定使用者執行操作。

確認服務帳戶具備目標使用者帳戶 lockoutTime 屬性的讀取和寫入權限。

The following users were not found in Active Directory: ENTITY_ID

無法對指定使用者執行操作。

確認使用者帳戶存在於 Active Directory 中,且與案件中的 User 實體相符。

No accounts were unlocked.

動作失敗。

確認案件包含有效的 User 實體,且服務帳戶有權解鎖目標帳戶。

Error executing action "Release Locked Account". Reason: ERROR_REASON

動作失敗。

請檢查 Active Directory 伺服器連線或服務帳戶憑證。

指令碼執行結果

下表列出使用「Release Locked Account」(解除鎖定帳戶) 動作時,指令碼結果輸出的值:

指令碼結果名稱 值
is_success true或false

從群組中移除使用者

使用「Remove User From Group」動作,從一或多個 Active Directory 群組中移除案件中的使用者,例如在事件期間撤銷較高的群組存取權。這項動作會自動從案件中找出目標使用者,並將他們從指定群組中移除。

這項動作會在 Google SecOps User 實體上執行。

動作輸入內容

「Remove User From Group」動作需要下列參數:

參數 說明
Group Name

這是必填欄位。

以半形逗號分隔的清單,列出要移除使用者的群組。

動作輸出內容

「Remove User From Group」動作會提供下列輸出內容:

動作輸出類型 可用性
案件總覽附件 無法使用
案件總覽連結 無法使用
案件總覽表格 無法使用
補充資訊表格 無法使用
JSON 結果 無法使用
輸出訊息 可用
指令碼執行結果 可用
輸出訊息

「Remove User From Group」動作可能會傳回下列輸出訊息:

輸出訊息 訊息說明

Successfully removed the following users from the group "GROUP_NAME" in Active Directory: ENTITY_ID

The following users were not a part of the group "GROUP_NAME" in Active Directory: ENTITY_ID

動作成功。
Action wasn't able to remove the following users from the group "GROUP_NAME" in Active Directory: ENTITY_ID

無法對指定使用者執行操作。

確認服務帳戶有權修改目標群組的 member 屬性。

The following users were not found in Active Directory: ENTITY_ID

無法對指定使用者執行操作。

確認使用者帳戶存在於 Active Directory 中,且與案件中的 User 實體相符。

The following groups were not found in Active Directory: GROUP_NAME

無法對指定群組執行動作。

檢查 Group Name 參數中的群組名稱拼寫是否正確,並確認群組存在於設定的網域中。

No users were removed from the group "GROUP_NAME" in Active Directory.

無法對指定群組執行動作。

請確認目標使用者存在於 Active Directory 中,且服務帳戶具備指定群組的寫入權限。

No users were removed from the provided groups in Active Directory.

動作失敗。

確認案件包含有效的 User 實體,且 Active Directory 中存在指定群組。

Error executing action "Remove User From Group". Reason: ERROR_REASON

動作失敗。

請檢查 Active Directory 目錄伺服器連線、輸入參數或服務帳戶憑證。

指令碼執行結果

下表列出使用「Remove User From Group」動作時,指令碼結果輸出的值:

指令碼結果名稱 值
is_success true或false

搜尋 Active Directory

使用「搜尋 Active Directory」動作,透過內建搜尋條件或自訂查詢,在目錄中搜尋使用者、電腦、群組或組織單位。您也可以依特定組織單位篩選搜尋結果,並選擇要在結果中包含哪些目錄欄位。

這項動作不會在 Google SecOps 實體上執行。

動作輸入內容

「Search Active Directory」動作需要下列參數:

參數 說明
Search Condition

這是必填欄位。

要套用至搜尋的條件。

可能的值如下:

  • Contains
  • Exact Match
  • Starts With
  • Custom LDAP Query

預設值為 Contains。

Include Domain

選填。

如果選取,使用 Contains、Exact Match 或 Starts With 條件搜尋時,動作會包含網域元件。

Search Object

這是必填欄位。

不使用 Custom LDAP Query 時要搜尋的物件類型。

可能的值如下:

  • Select Option
  • User
  • Host
  • Group
  • Organizational Unit

預設值為 Select Option。

Filter Object Value

這是必填欄位。

篩選依據的物件值,或 Search Condition 設為 Custom LDAP Query 時的完整 LDAP 查詢字串。

Custom Fields

選填。

以半形逗號分隔的 LDAP 屬性清單,用於在搜尋結果中傳回。

Specific OUs to Search

選填。

以半形逗號分隔的組織單位名稱清單,用於限制搜尋範圍。

Include Default Search Fields

選填。

如果選取,除了任何指定的 Custom Fields 之外,動作還會在傳回的結果中包含預設 Active Directory 欄位。

(預設為啟用)。

Max Records To Return

選填。

從 Active Directory 擷取的記錄數量上限。

預設值為 100。

Sort Field

選填。

用來排序傳回項目的 LDAP 屬性名稱。

動作輸出內容

「搜尋 Active Directory」動作會提供下列輸出內容:

動作輸出類型 可用性
案件總覽附件 無法使用
案件總覽連結 無法使用
案件總覽表格 可用
補充資訊表格 無法使用
JSON 結果 可用
輸出訊息 可用
指令碼執行結果 可用
案件總覽表格

「Search Active Directory」動作會在「Case Wall」中提供下表:

  • 資料表名稱:Active Directory Search Results
  • 欄:為相符目錄項目傳回的 Active Directory 屬性 (根據 Include Default Search Fields 和 Custom Fields)。
JSON 結果

以下範例顯示使用「Search Active Directory」動作時,收到的 JSON 結果輸出內容:

[
      {
        "primaryGroupID": [
          513
        ],
        "logonCount": [
          6505
        ],
        "cn": [
          "user name"
        ],
        "countryCode": [
          0
        ],
        "objectClass": [
          "top",
          "person",
          "organizationalPerson"
        ],
        "userPrincipalName": [
          "user@example.com"
        ],
        "adminCount": [
          1
        ],
        "lastLogonTimestamp": [
          "2019-01-09 08:42:03.540783+00:00"
        ],
        "manager": [
          "CN=user name,OU=R&D,OU=TLV,OU=host name,DC=domain,DC=LOCAL"
        ],
        "instanceType": [
          4
        ],
        "distinguishedName": [
          "CN=user name,OU=R&D,OU=TLV,OU=host,DC=domain,DC=LOCAL"
        ],
        "dSCorePropagationData": [
          "2019-01-14 14:39:16+00:00"
        ],
        "msDS-SupportedEncryptionTypes": [
          0
        ],
        "objectSid": [
          "ID"
        ],
        "whenCreated": [
          "2011-11-07 08:00:44+00:00"
        ],
        "uSNCreated": [
          7288202
        ],
        "lockoutTime": [
          "1601-01-01 00:00:00+00:00"
        ],
        "badPasswordTime": [
          "date"
        ],
        "pwdLastSet": [
          "date"
        ],
        "sAMAccountName": [
          "example"
        ],
        "objectCategory": [
          "CN=Person,CN=Schema,CN=Configuration,DC=host,DC=LOCAL"
        ],
        "lastLogon": [
          "2019-01-14 17:13:54.463070+00:00"
        ],
        "objectGUID": [
          "GUID"
        ],
        "whenChanged": [
          "2019-01-14 16:49:01+00:00"
        ],
        "badPwdCount": [
          1
        ],
        "accountExpires": [
          "9999-12-31 23:59:59.999999"
        ],
        "displayName": [
          "example"
        ],
        "name": [
          "user"
        ],
        "memberOf": [
          "CN=\\\\u05e7\\\\u05d1\\\\u05d5\\\\u05e6\\\\u05d4 \\\\u05d1\\\\u05e2\\\\u05d1\\\\u05e8\\\\u05d9\\\\u05ea,OU=TEST,OU=QA,OU=IT,OU=TLV,OU=host,DC=domain,DC=LOCAL",
          "CN=Organization Management,OU=Microsoft Exchange Security Groups,DC=domain,DC=LOCAL",
          "CN=Local Admin,OU=Groups,OU=IT,OU=TLV,OU=host,DC=domain,DC=LOCAL"
        ],
        "codePage": [
          0
        ],
        "userAccountControl": [
          111
        ],
        "sAMAccountType": [
          805306368
        ],
        "uSNChanged": [
          15301168
        ],
        "sn": [
          "example"
        ],
        "givenName": [
          "user"
        ],
        "lastLogoff": [
          "1601-01-01 00:00:00+00:00"
        ]
      }
    ]
輸出訊息

「Search Active Directory」動作可能會傳回下列輸出訊息:

輸出訊息 訊息說明

Successfully performed the query "QUERY_STRING" in Active Directory.

No results to show following the query: "QUERY_STRING".

動作成功。
Error executing action "Search Active Directory". Reason: you need to select "Search Object" or choose "Custom LDAP Query" as a "Search Condition"

動作失敗。

請在 Search Object 參數中選取有效的物件類型,或將 Search Condition 變更為 Custom LDAP Query。

Error executing action "Search Active Directory". Reason: Value for the parameter "Max Records To Return" should be a positive number.

動作失敗。

請在 Max Records To Return 參數中輸入大於 0 的整數。

Error executing action "Search Active Directory". Reason: The following OUs were not found in Active Directory: OU_NAMES

動作失敗。

請檢查 Specific OUs to Search 參數中的組織單位拼寫,並確認這些單位存在於 Active Directory 中。

Error executing action "Search Active Directory". Reason: Knowingly invalid query was executed: "QUERY_STRING". Please verify the inputs and try again.

動作失敗。

請檢查 Filter Object Value 參數中自訂查詢或篩選器值的語法,並確認所有指定的 Custom Fields 或 Sort Field 名稱都是有效的 LDAP 屬性。

Error executing action "Search Active Directory". Reason: ERROR_REASON

動作失敗。

請檢查 Active Directory 目錄伺服器連線、輸入參數或服務帳戶憑證。

指令碼執行結果

下表列出使用「Search Active Directory」動作時,指令碼結果輸出的值:

指令碼結果名稱 值
is_success true或false

設定使用者密碼

使用「Set User Password」動作,將案件中使用者的密碼重設為新密碼。請確認整合功能已透過 SSL (LDAPS) 連線,且新密碼符合網域的密碼複雜度規則。

這項動作會在 Google SecOps User 實體上執行。

動作輸入內容

「Set User Password」動作需要下列參數:

參數 說明
New Password

這是必填欄位。

新密碼值。

動作輸出內容

「設定使用者密碼」動作會提供下列輸出內容:

動作輸出類型 可用性
案件總覽附件 無法使用
案件總覽連結 無法使用
案件總覽表格 無法使用
補充資訊表格 無法使用
JSON 結果 無法使用
輸出訊息 可用
指令碼執行結果 可用
輸出訊息

「Set User Password」動作可能會傳回下列輸出訊息:

輸出訊息 訊息說明
Reset password for the following users: ENTITY_ID 動作成功。
Failed to reset password for the following users: ENTITY_ID

無法對指定使用者執行操作。

確認新密碼符合網域密碼複雜度和歷來記錄規定,且目標使用者並非受保護的管理員帳戶。

The following users were not found in Active Directory: ENTITY_ID

無法對指定使用者執行操作。

確認使用者帳戶存在於 Active Directory 中,且與案件中的 User 實體相符。

No passwords were changed.

動作失敗。

請確認案件包含有效的 User 實體,且服務帳戶有權重設目標帳戶的密碼。

Failed to execute "Set User Password" action! Watch Over Extended Rights permission or SSL connection.

動作失敗。

請確認在整合設定 (通訊埠 636 上的 LDAPS) 中選取 Use SSL,且服務帳戶具備「重設密碼」擴充權限。

Error executing action "Set User Password". Reason: ERROR_REASON

動作失敗。

請檢查 Active Directory 目錄伺服器連線、輸入參數或服務帳戶憑證。

指令碼執行結果

下表列出使用「Set User Password」動作時,指令碼結果輸出的值:

指令碼結果名稱 值
is_success true或false

更新 AD 主機的屬性

使用「更新 AD 主機的屬性」動作,更新案件中電腦帳戶的特定目錄屬性,例如使用事件附註更新電腦的 Description 欄位。這項動作會自動從案件中找出目標電腦,並套用新值。

這項動作會在 Google SecOps Hostname 實體上執行。

動作輸入內容

「Update attributes of an AD Host」(更新 AD 主機的屬性) 動作需要下列參數:

參數 說明
Attribute Name

這是必填欄位。

要更新的屬性名稱,例如 Description。

Attribute Value

這是必填欄位。

屬性的新值。

動作輸出內容

「更新 AD 主機屬性」動作會提供下列輸出內容:

動作輸出類型 可用性
案件總覽附件 無法使用
案件總覽連結 無法使用
案件總覽表格 無法使用
補充資訊表格 無法使用
JSON 結果 無法使用
輸出訊息 可用
指令碼執行結果 可用
輸出訊息

「Update attributes of an AD Host」(更新 AD 主機的屬性) 動作可能會傳回下列輸出訊息:

輸出訊息 訊息說明
Successfully updated attribute "ATTRIBUTE_NAME" on the following hosts in Active Directory: ENTITY_ID_LIST 動作成功。
Action wasn't able to update attribute "ATTRIBUTE_NAME" on the following hosts in Active Directory: ENTITY_ID_LIST

無法對指定主機執行動作。

請確認服務帳戶具備目標電腦帳戶指定屬性的寫入權限,且值格式適用於該屬性。

The following hosts were not found in Active Directory: ENTITY_ID_LIST

無法對指定主機執行動作。

確認電腦帳戶存在於 Active Directory 中,且與案件中的 Hostname 實體相符。

No hosts were updated in Active Directory.

動作失敗。

請確認案件包含有效的 Hostname 實體,且服務帳戶有權更新指定屬性。

Error executing action "Update attributes of an AD Host". Reason: Provided attribute doesn't exist in Active Directory.

動作失敗。

請檢查 Attribute Name 參數中的屬性拼寫,並確認該屬性是有效的 Active Directory 電腦屬性。

Error executing action "Update attributes of an AD Host". Reason: ERROR_REASON

動作失敗。

請檢查 Active Directory 目錄伺服器連線、輸入參數或服務帳戶憑證。

指令碼執行結果

下表列出使用「更新 AD 主機的屬性」動作時,指令碼結果輸出的值:

指令碼結果名稱 值
is_success true或false

更新 AD 使用者的屬性

使用「Update attributes of an AD User」動作,更新案件中使用者帳戶的特定目錄屬性,例如更新使用者的 Description、title 或 department 欄位。這項動作會自動從案件中找出目標使用者,並套用新值。

這項動作會在 Google SecOps User 實體上執行。

動作輸入內容

「Update attributes of an AD User」動作需要下列參數:

參數 說明
Attribute Name

這是必填欄位。

要更新的屬性名稱,例如 Description。

Attribute Value

這是必填欄位。

屬性的新值。

動作輸出內容

「更新 AD 使用者的屬性」動作會提供下列輸出內容:

動作輸出類型 可用性
案件總覽附件 無法使用
案件總覽連結 無法使用
案件總覽表格 無法使用
補充資訊表格 無法使用
JSON 結果 無法使用
輸出訊息 可用
指令碼執行結果 可用
輸出訊息

「更新 AD 使用者的屬性」動作可能會傳回下列輸出訊息:

輸出訊息 訊息說明
Successfully updated attribute "ATTRIBUTE_NAME" for the following users in Active Directory: ENTITY_ID_LIST 動作成功。
Action wasn't able to update attribute "ATTRIBUTE_NAME" for the following users in Active Directory: ENTITY_ID_LIST

無法對指定使用者執行操作。

請確認服務帳戶具備目標使用者帳戶指定屬性的寫入權限,且值格式適用於該屬性。

The following users were not found in Active Directory: ENTITY_ID_LIST

無法對指定使用者執行操作。

確認使用者帳戶存在於 Active Directory 中,且與案件中的 User 實體相符。

No users were updated in Active Directory.

動作失敗。

請確認案件包含有效的 User 實體,且服務帳戶有權更新指定屬性。

Error executing action "Update attributes of an AD User". Reason: Provided attribute doesn't exist in Active Directory.

動作失敗。

請檢查 Attribute Name 參數中的屬性拼寫,並確認該屬性是有效的 Active Directory 使用者屬性。

Error executing action "Update attributes of an AD User". Reason: ERROR_REASON

動作失敗。

請檢查 Active Directory 目錄伺服器連線、輸入參數或服務帳戶憑證。

指令碼執行結果

下表列出使用「更新 AD 使用者的屬性」動作時,指令碼結果輸出的值:

指令碼結果名稱 值
is_success true或false

還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求解答。