將 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) 和服務帳戶憑證符合所有作業必要條件。
如要準備整合環境,請完成下列必要條件:
驗證 Google SecOps 執行個體 (或遠端代理程式) 與 Active Directory 網域控制器之間的網路連線和 DNS 解析。
選用:如果使用內部憑證授權單位透過 LDAPS (通訊埠 636,重設密碼時必須使用) 連線,請將根憑證或中繼憑證編碼為 base64 字串,設定 CA 憑證。
建立專屬 Active Directory 服務帳戶,並遵循最小權限原則。
請參閱必要動作權限,判斷執行特定動作所需的屬性和存取權。
針對您打算使用的動作,在目標組織單位上委派權限 (使用 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 是加密目錄流量的必要條件,也是密碼修改動作的必要條件。
- LDAP (標準):為未加密的 LDAP 通訊開啟通訊埠
DNS 和主機名稱解析:Active Directory 需要準確的主機名稱解析,才能比對 SSL/TLS 憑證和目錄服務繫結。如果網域是透過內部 DNS 設定,由完整 DNS 名稱解析,則不需額外設定主機。如果遠端代理容器映像檔不支援 DNS 解析,請設定
/etc/hosts檔案。
設定 /etc/hosts 檔案
這項設定為選用。如果網域控制器已透過內部 DNS 設定解析,請略過本節。如果遠端代理程式無法使用 DNS 解析 Active Directory 網域控制站,請在 /etc/hosts 檔案中手動對應主機,以符合 SSL/TLS 憑證和目錄服務繫結。
如要設定 /etc/hosts 檔案,請完成下列步驟:
使用文字編輯器開啟
/etc/hosts(須具備管理員權限):sudo vi /etc/hosts新增項目,將網域控制器的 IP 位址對應至其完整網域名稱 (FQDN):
192.0.2.195 dc01.example.local儲存並關閉檔案。
如果整合時不需要 CA 憑證,請繼續設定驗證和服務帳戶需求。否則,請設定 CA 憑證。
設定 CA 憑證
您可以依需求選擇執行這個步驟。如果您使用標準 LDAP (通訊埠 389) 連線,或使用公開信任的憑證,請略過本節,直接前往「驗證和服務帳戶規定」。如果您使用私人或內部 CA 核發的憑證,透過 LDAPS (重設密碼所需的通訊埠 636) 連線,請在設定期間提供 Base64 編碼的憑證字串,建立受信任的 TLS 連線。
如要設定及上傳 CA 憑證,請完成下列步驟:
編碼 PEM 格式的憑證檔案:
Linux:
bash base64 -w 0 mycert.crtmacOS:
bash base64 -i mycert.crt
複製完整的輸出字串 (包括編碼標頭),然後貼到 Google SecOps 整合設定中的「CA Certificate File - parsed into Base64 String」(CA 憑證檔案 - 剖析為 Base64 字串) 欄位。
將「Server」參數設為網域控制器的 FQDN (而非 IP 位址),讓主機名稱與憑證上的通用名稱 (CN) 或主體別名 (SAN) 相符。
按一下「測試」,驗證 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),驗證目錄連線能力和憑證。 |
| 充實實體 |
|
使用者、電腦、群組 | 查詢使用者和電腦屬性,並解析巢狀群組成員資格。userAccountControl 上的 Read Property 必須為 true,才能避免空值下標錯誤。 |
| 停用帳戶 |
|
使用者 | 讀取並設定目標使用者物件上的 ACCOUNTDISABLE 旗標 (0x0002)。 |
| 啟用帳戶 |
|
使用者 | 讀取並清除目標使用者物件上的 ACCOUNTDISABLE 旗標 (0x0002)。 |
| 停用電腦 |
|
電腦 | 讀取並設定目標電腦物件的 ACCOUNTDISABLE 旗標。 |
| 啟用電腦 |
|
電腦 | 讀取並清除目標電腦物件上的 ACCOUNTDISABLE 旗標。 |
| 釋出鎖定的帳戶 |
|
使用者 | 讀取 lockoutTime 屬性並將其設為 0,以解鎖鎖定的使用者帳戶。 |
| 強制更新密碼 |
|
使用者 | 讀取 pwdLastSet 屬性並設為 0,要求使用者在下次登入時變更密碼。 |
| 設定使用者密碼 |
|
使用者 | 重設目標使用者的密碼。需要 LDAPS (通訊埠 636) 或 StartTLS。 |
| 將使用者加入群組 |
|
群組 | 將目標使用者的辨別名稱 (distinguishedName) 新增至群組的 member 屬性。 |
| 將使用者從群組中移除 |
|
群組 | 從群組的 member 屬性中移除目標使用者的辨別名稱 (distinguishedName)。 |
| 變更使用者機構單位 |
|
組織單位、使用者 | 使用 LDAP modify_dn 在機構單位之間移動使用者物件。 |
| 變更主機機構單位 |
|
組織單位、電腦 | 使用 LDAP modify_dn 在機構單位之間移動電腦物件。 |
| 更新 AD 使用者的屬性 | 目標屬性上的 Write Property (例如 mail、title、department、telephoneNumber、description 或 manager) |
使用者 | 修改目標使用者物件的指定屬性值。 |
| 更新 AD 主機的屬性 | 目標屬性上的 Write Property (例如 description 或 location) |
電腦 | 修改目標電腦物件的指定屬性值。 |
| 取得群組成員 |
|
群組、使用者、電腦 | 查詢群組成員資格和成員帳戶屬性。 |
| 取得管理員聯絡資料 |
|
使用者 | 讀取目標使用者物件的 manager 屬性,並擷取管理員的聯絡資料。 |
| Is User In Group |
|
使用者、群組 | 評估使用者帳戶是否屬於指定的安全性或通訊群組。 |
| 列出使用者群組 |
|
使用者、群組 | 傳回指派給指定使用者帳戶的所有群組清單。 |
| 搜尋 Active Directory |
|
使用者、電腦、群組、組織單位 | 對目錄子樹狀結構執行自訂 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 通訊協定進行通訊。 如要使用自訂通訊埠,請將其附加至位址 (例如 根據預設,啟用 SSL/TLS 時,整合功能會使用通訊埠 636;停用時,則會使用通訊埠 389。 |
Username |
這是必填欄位。 要連線至 Active Directory 的使用者名稱或電子郵件地址,例如 這項參數也接受 |
Password |
這是必填欄位。 使用者帳戶的密碼。 |
Domain |
這是必填欄位。 網路命名空間中網域的完整 DNS 路徑。 請按照下列格式提供網域的完整網域名稱 (FQDN): 舉例來說,如果內部 Active Directory 網域是 |
Custom Query Fields |
選填。 以半形逗號分隔的自訂 Active Directory 欄位清單,用於查詢,例如 |
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 動作可能會傳回下列輸出訊息:
| 輸出訊息 | 訊息說明 |
|---|---|
|
動作成功。 |
Action wasn't able to add the following users to the group
"GROUP_NAME" in Active Directory:
ENTITY_ID |
無法對指定使用者執行操作。 確認服務帳戶有權修改目標群組的 |
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 |
無法對指定群組執行動作。 檢查 |
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. |
動作失敗。 確認案件包含有效的 |
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 中,且與案件中的 |
The action didn't change OU on any hosts. |
動作失敗。 請確認目標電腦和目的地機構單位存在於 Active Directory 中,且服務帳戶具備移動電腦帳戶的權限。 |
Error executing action "Change Host OU". Reason:
ERROR_REASON |
動作失敗。 請檢查 Active Directory 伺服器的連線、 |
指令碼執行結果
下表列出使用「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 中,且與案件中的 |
The action didn't change OU on any users. |
動作失敗。 請確認目標使用者和目的地機構單位存在於 Active Directory 中,且服務帳戶有權移動使用者帳戶。 |
Error executing action "Change User OU". Reason:
ERROR_REASON |
動作失敗。 請檢查 Active Directory 伺服器的連線、 |
指令碼執行結果
下表列出使用「變更使用者機構單位」動作時,指令碼結果輸出的值:
| 指令碼結果名稱 | 值 |
|---|---|
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 |
無法對指定使用者執行操作。 確認服務帳戶具備目標使用者帳戶 |
The following users were not found in Active Directory:
ENTITY_ID |
無法對指定使用者執行操作。 確認使用者帳戶存在於 Active Directory 中,且與案件中的 |
No users were disabled in Active Directory. |
動作失敗。 確認案件包含有效的 |
Error executing action "Disable Account". Reason:
ERROR_REASON |
動作失敗。 請檢查 Active Directory 伺服器連線或服務帳戶憑證。 |
指令碼執行結果
下表列出使用「停用帳戶」動作時,指令碼結果輸出的值:
| 指令碼結果名稱 | 值 |
|---|---|
is_success |
true或false |
停用電腦
使用「停用電腦」動作,停用 Active Directory 中的電腦帳戶,防止遭入侵或未經授權的機器向網域驗證。這項動作會自動指定與案件相關聯的主機名稱。
這項動作會在 Google SecOps Hostname 實體上執行。
動作輸入內容
無
動作輸出內容
「停用電腦」動作會提供下列輸出內容:
| 動作輸出類型 | 可用性 |
|---|---|
| 案件總覽附件 | 無法使用 |
| 案件總覽連結 | 無法使用 |
| 案件總覽表格 | 無法使用 |
| 補充資訊表格 | 無法使用 |
| JSON 結果 | 無法使用 |
| 輸出訊息 | 可用 |
| 指令碼執行結果 | 可用 |
輸出訊息
「停用電腦」動作可能會傳回下列輸出訊息:
| 輸出訊息 | 訊息說明 |
|---|---|
|
動作成功。 |
Action wasn't able to disable the following computers in Active
Directory: ENTITY_ID |
無法對指定電腦執行動作。 確認服務帳戶具備目標電腦物件 |
The following computers were not found in Active Directory:
ENTITY_ID |
無法對指定電腦執行動作。 確認電腦帳戶存在於 Active Directory 中,且與案件中的 |
No computers were disabled in Active Directory. |
動作失敗。 確認案件包含有效的 |
Error executing action "Disable Computer". Reason:
ERROR_REASON |
動作失敗。 請檢查 Active Directory 伺服器連線或服務帳戶憑證。 |
指令碼執行結果
下表列出使用「停用電腦」動作時,指令碼結果輸出的值:
| 指令碼結果名稱 | 值 |
|---|---|
is_success |
true或false |
啟用帳戶
使用「啟用帳戶」動作,重新啟用 Active Directory 中已停用的使用者帳戶。系統會自動對案件相關使用者採取行動。
這項動作會在 Google SecOps User 實體上執行。
動作輸入內容
無
動作輸出內容
「啟用帳戶」動作會提供下列輸出內容:
| 動作輸出類型 | 可用性 |
|---|---|
| 案件總覽附件 | 無法使用 |
| 案件總覽連結 | 無法使用 |
| 案件總覽表格 | 無法使用 |
| 補充資訊表格 | 無法使用 |
| JSON 結果 | 無法使用 |
| 輸出訊息 | 可用 |
| 指令碼執行結果 | 可用 |
輸出訊息
「啟用帳戶」動作可能會傳回下列輸出訊息:
| 輸出訊息 | 訊息說明 |
|---|---|
|
動作成功。 |
Action wasn't able to enable the following users in Active
Directory: ENTITY_ID |
無法對指定使用者執行操作。 確認服務帳戶具備目標使用者帳戶 |
The following users were not found in Active Directory:
ENTITY_ID |
無法對指定使用者執行操作。 確認使用者帳戶存在於 Active Directory 中,且與案件中的 |
No users were enabled in Active Directory. |
動作失敗。 請確認案件包含有效的 |
Error executing action "Enable Account". Reason:
ERROR_REASON |
動作失敗。 請檢查 Active Directory 伺服器連線或服務帳戶憑證。 |
指令碼執行結果
下表列出使用「Enable Account」(啟用帳戶) 動作時,指令碼結果輸出的值:
| 指令碼結果名稱 | 值 |
|---|---|
is_success |
true或false |
啟用電腦
使用「啟用電腦」動作,重新啟用 Active Directory 中已停用的電腦帳戶,讓機器可以再次向網域驗證。這項動作會自動指定與案件相關聯的主機名稱。
這項動作會在 Google SecOps Hostname 實體上執行。
動作輸入內容
無
動作輸出內容
「啟用電腦」動作會提供下列輸出內容:
| 動作輸出類型 | 可用性 |
|---|---|
| 案件總覽附件 | 無法使用 |
| 案件總覽連結 | 無法使用 |
| 案件總覽表格 | 無法使用 |
| 補充資訊表格 | 無法使用 |
| JSON 結果 | 無法使用 |
| 輸出訊息 | 可用 |
| 指令碼執行結果 | 可用 |
輸出訊息
「啟用電腦」動作可能會傳回下列輸出訊息:
| 輸出訊息 | 訊息說明 |
|---|---|
|
動作成功。 |
Action wasn't able to enable the following computers in Active
Directory: ENTITY_ID |
無法對指定電腦執行動作。 確認服務帳戶具備目標電腦物件 |
The following computers were not found in Active Directory:
ENTITY_ID |
無法對指定電腦執行動作。 確認電腦帳戶存在於 Active Directory 中,且與案件中的 |
No computers were enabled in Active Directory. |
動作失敗。 確認案件包含有效的 |
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 實體上執行:
UserHostname
動作輸入內容
「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? |
選填。 如果選取,這項動作只會使用 |
Should JSON result be filtered by the specified
Attributes? |
選填。 如果選取,JSON 結果只會傳回 |
動作輸出內容
「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」動作可傳回下列輸出訊息:
| 輸出訊息 | 訊息說明 |
|---|---|
|
動作成功。 |
The following entities were not found in Active Directory:
ENTITY_ID |
無法對指定實體執行動作。 確認使用者或主機帳戶存在於 Active Directory 中,且與案件中的實體 ID 相符。 |
Failed to enrich the following Users
ENTITY_ID |
無法對指定使用者執行操作。 確認服務帳戶有權讀取目標使用者帳戶的屬性 (包括 |
Failed to enrich the following Hosts
ENTITY_ID |
無法對指定主機執行動作。 請確認服務帳戶有權讀取目標電腦帳戶的屬性 (包括 |
No entities were enriched. |
動作失敗。 確認案件包含 Active Directory 中現有的有效 |
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 |
無法對指定使用者執行操作。 確認服務帳戶具備目標使用者帳戶 |
The following users were not found in Active Directory:
ENTITY_ID |
無法對指定使用者執行操作。 確認使用者帳戶存在於 Active Directory 中,且與案件中的 |
Password update wasn't forced on any users. |
動作失敗。 請確認案件包含有效的 |
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 |
這是必填欄位。 要從群組擷取的成員類型。 可能的值如下:
預設值為 |
Where To Search |
這是必填欄位。 要搜尋的特定 可能的值如下:
預設值為 |
Filter Object Value |
選填。
|
Perform Nested Search |
選填。 如果選取,這項動作會從目標群組所屬的巢狀子群組中擷取成員。 |
Limit |
選填。 從 Active Directory 擷取的清單數量上限。 預設值為 |
動作輸出內容
「Get Group Members」動作會提供下列輸出內容:
| 動作輸出類型 | 可用性 |
|---|---|
| 案件總覽附件 | 無法使用 |
| 案件總覽連結 | 無法使用 |
| 案件總覽表格 | 可用 |
| 補充資訊表格 | 無法使用 |
| JSON 結果 | 可用 |
| 輸出訊息 | 可用 |
| 指令碼執行結果 | 可用 |
案件總覽表格
「Get Group Members」動作會在「Case Wall」提供下表:
- 資料表名稱:
Members of Active Directory group: <var class="readonly">GROUP_NAME</var> - 資料欄:
Distinguished NameSAM Account NameUser Principal NameType
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」動作可能會傳回下列輸出訊息:
| 輸出訊息 | 訊息說明 |
|---|---|
|
動作成功。 |
Error executing action "Get Group Members". Reason: Filter
Object Value should be provided |
動作失敗。 當 |
Error executing action "Get Group Members". Reason: Given value
for Limit should be a positive number. |
動作失敗。 請在 |
Error executing action "Get Group Members". Reason: Given
group doesn't exist in Active Directory. |
動作失敗。 檢查 |
Error executing action "Get Group Members". Reason: Specified
Organizational Unit doesn't exist in Active Directory. |
動作失敗。 確認 Active Directory 中存在 |
Error executing action "Get Group Members". Reason: Specified
Group in "Filter Object Value" doesn't exist in Active
Directory. |
動作失敗。 確認 Active Directory 中存在 |
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 NameManager 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 中目標使用者帳戶的 |
Failed to retrieve manager details for the following users:
ENTITY_ID |
無法對指定使用者執行操作。 確認服務帳戶有權讀取 Active Directory 中的 |
The following users were not found in Active Directory:
ENTITY_ID |
無法對指定使用者執行操作。 確認使用者帳戶存在於 Active Directory 中,且與案件中的 |
No manager details were retrieved for the provided
users. |
動作失敗。 確認案件包含有效的 |
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 |
這是必填欄位。 要檢查的群組名稱,例如 |
User Name |
選填。 列出要檢查的使用者名稱,並以半形逗號分隔。 如未提供值,動作會檢查案件中的 |
Where To Search |
這是必填欄位。 要搜尋的特定 可能的值如下:
預設值為 |
Filter Object Value |
選填。 動作搜尋目標群組時所在的 |
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」動作可傳回下列輸出訊息:
| 輸出訊息 | 訊息說明 |
|---|---|
|
動作成功。 |
The following users were not found in Active Directory:
USER_NAME |
無法對指定使用者執行操作。 確認使用者名稱或 |
None of the provided users were found in Active
Directory. |
動作失敗。 請確認案件包含有效的 |
Error executing action "Is User In Group". Reason: Filter
Object Value should be provided |
動作失敗。 當 |
Error executing action "Is User In Group". Reason: Given
group doesn't exist in Active Directory. |
動作失敗。 檢查 |
Error executing action "Is User In Group". Reason: Specified
Organizational Unit doesn't exist in Active Directory. |
動作失敗。 確認 Active Directory 中存在 |
Error executing action "Is User In Group". Reason: Specified
Group in "Filter Object Value" doesn't exist in Active
Directory. |
動作失敗。 確認 Active Directory 中存在 |
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 中 |
Failed to list groups for the following users:
ENTITY_ID |
無法對指定使用者執行操作。 確認服務帳戶有權讀取目標使用者帳戶的 |
The following users were not found in Active Directory:
ENTITY_ID |
無法對指定使用者執行操作。 確認使用者帳戶存在於 Active Directory 中,且與案件中的 |
No groups were listed. |
動作失敗。 確認案件包含屬於 Active Directory 群組的有效 |
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 |
無法對指定使用者執行操作。 確認服務帳戶具備目標使用者帳戶 |
The following users were not found in Active Directory:
ENTITY_ID |
無法對指定使用者執行操作。 確認使用者帳戶存在於 Active Directory 中,且與案件中的 |
No accounts were unlocked. |
動作失敗。 確認案件包含有效的 |
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」動作可能會傳回下列輸出訊息:
| 輸出訊息 | 訊息說明 |
|---|---|
|
動作成功。 |
Action wasn't able to remove the following users from the group
"GROUP_NAME" in Active Directory:
ENTITY_ID |
無法對指定使用者執行操作。 確認服務帳戶有權修改目標群組的 |
The following users were not found in Active Directory:
ENTITY_ID |
無法對指定使用者執行操作。 確認使用者帳戶存在於 Active Directory 中,且與案件中的 |
The following groups were not found in Active Directory:
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. |
動作失敗。 確認案件包含有效的 |
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 |
這是必填欄位。 要套用至搜尋的條件。 可能的值如下:
預設值為 |
Include Domain |
選填。 如果選取,使用 |
Search Object |
這是必填欄位。 不使用 可能的值如下:
預設值為 |
Filter Object Value |
這是必填欄位。 篩選依據的物件值,或 |
Custom Fields |
選填。 以半形逗號分隔的 LDAP 屬性清單,用於在搜尋結果中傳回。 |
Specific OUs to Search |
選填。 以半形逗號分隔的組織單位名稱清單,用於限制搜尋範圍。 |
Include Default Search Fields |
選填。 如果選取,除了任何指定的 (預設為啟用)。 |
Max Records To Return |
選填。 從 Active Directory 擷取的記錄數量上限。 預設值為 |
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」動作可能會傳回下列輸出訊息:
| 輸出訊息 | 訊息說明 |
|---|---|
|
動作成功。 |
Error executing action "Search Active Directory". Reason: you
need to select "Search Object" or choose "Custom LDAP Query" as a "Search
Condition" |
動作失敗。 請在 |
Error executing action "Search Active Directory". Reason: Value
for the parameter "Max Records To Return" should be a positive
number. |
動作失敗。 請在 |
Error executing action "Search Active Directory". Reason: The
following OUs were not found in Active Directory:
OU_NAMES |
動作失敗。 請檢查 |
Error executing action "Search Active Directory". Reason:
Knowingly invalid query was executed:
"QUERY_STRING". Please verify the
inputs and try again. |
動作失敗。 請檢查 |
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 中,且與案件中的 |
No passwords were changed. |
動作失敗。 請確認案件包含有效的 |
Failed to execute "Set User Password" action! Watch Over
Extended Rights permission or SSL connection. |
動作失敗。 請確認在整合設定 (通訊埠 |
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 |
這是必填欄位。 要更新的屬性名稱,例如 |
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 中,且與案件中的 |
No hosts were updated in Active Directory. |
動作失敗。 請確認案件包含有效的 |
Error executing action "Update attributes of an AD Host".
Reason: Provided attribute doesn't exist in 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 |
這是必填欄位。 要更新的屬性名稱,例如 |
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 中,且與案件中的 |
No users were updated in Active Directory. |
動作失敗。 請確認案件包含有效的 |
Error executing action "Update attributes of an AD User".
Reason: Provided attribute doesn't exist in Active Directory. |
動作失敗。 請檢查 |
Error executing action "Update attributes of an AD User".
Reason: ERROR_REASON |
動作失敗。 請檢查 Active Directory 目錄伺服器連線、輸入參數或服務帳戶憑證。 |
指令碼執行結果
下表列出使用「更新 AD 使用者的屬性」動作時,指令碼結果輸出的值:
| 指令碼結果名稱 | 值 |
|---|---|
is_success |
true或false |
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求解答。