整合 Active Directory 與 Google SecOps
本文說明如何將 Active Directory 與 Google Security Operations 整合。
用途
Active Directory 整合功能會運用 Google SecOps 功能,支援下列使用情境:
啟用及停用使用者:停用可能遭駭的使用者帳戶,防止未經授權的存取行為。
重設密碼:自動重設 Active Directory 中的使用者密碼,並通知使用者這項變更。
管理群組:根據使用者的角色,將新使用者加入適當的安全性群組,並確保使用者擁有正確的存取權。
擷取使用者資訊:擷取使用者詳細資料,例如群組成員資格、上次登入時間,以及特定使用者帳戶的聯絡資訊。
自動執行離職程序:在員工離職時停用帳戶、將他們從群組中移除,並轉移檔案擁有權。
事前準備
在 Google SecOps 中設定 Active Directory 整合功能前,請先確認網路環境、Active Directory 網域服務 (AD DS) 和服務帳戶憑證符合所有運作前提條件。
如要準備整合環境,請完成下列事前準備工作:
驗證 Google SecOps 執行個體 (或遠端代理程式) 與 Active Directory 網域控制站之間的網路連線和 DNS 解析。
如果透過 LDAPS (通訊埠 636) 連線 (重設密碼時必須透過 LDAPS 連線),請務必設定目錄憑證。如果使用內部憑證授權單位 (CA),請準備好根或中繼 CA 憑證,以進行 Base64 編碼。
建立專屬的 Active Directory 服務帳戶,並遵循最小權限原則 (PoLP)。
請參閱必要動作權限,瞭解執行特定劇本所需的屬性和存取權。
使用 Active Directory 使用者和電腦 (ADUC) 或 PowerShell (
dsacls),在目標機構單位 (OU) 委派權限,確保服務帳戶具有userAccountControl屬性的明確讀取和寫入權限。
網路和 DNS 需求
Google SecOps 會透過 TCP 上的輕量型目錄存取通訊協定 (LDAP 或 LDAPS),直接與 Active Directory 網域控制器通訊。
請確認網路環境符合下列連線規則:
通訊埠連線:請確認網路防火牆和路由允許 Google SecOps (或遠端代理程式) 透過下列通訊埠,與 Active Directory 網域控制站進行輸出通訊:
DNS 和主機名稱解析:Active Directory 需要準確解析主機名稱,才能比對 SSL/TLS 憑證和目錄服務繫結。如果您的網域是透過內部 DNS 設定,以完整 DNS 名稱解析,則不需要額外的主機設定。如果遠端代理程式容器映像檔無法進行 DNS 解析,請設定
/etc/hosts檔案。
設定 /etc/hosts 檔案
Active Directory 需要準確解析主機名稱,才能比對 SSL/TLS 憑證和目錄服務繫結。如果遠端代理程式無法使用 DNS 解析 Active Directory 網域控制器,請手動對應主機。
如要設定 /etc/hosts 檔案,請完成下列步驟:
使用管理員權限,在文字編輯器中開啟
/etc/hosts:sudo vi /etc/hosts新增項目,將網域控制器的 IP 位址對應至完整網域名稱 (FQDN):
192.0.2.195 dc01.example.local儲存並關閉檔案。
如果整合作業不需要 CA 憑證,請繼續設定驗證和服務帳戶需求。否則,請設定 CA 憑證。
(選用) 設定 CA 憑證
透過 LDAPS (通訊埠 636) 連線時,如果使用私人或內部 CA 核發的憑證,請在設定期間提供 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」欄位。
將「Server」參數設為網域控制器的完整網域名稱 (FQDN,而非 IP 位址),確保主機名稱與憑證上的一般名稱 (CN) 或主體別名 (SAN) 相符。
按一下「測試」,驗證 TLS 交握。
驗證和服務帳戶規定
Active Directory 整合功能會使用標準 AD DS 憑證進行驗證。
請確保驗證設定符合下列安全做法:
專屬服務帳戶:建立專屬服務帳戶 (例如
svc_secops_ad),專門用於 Google SecOps 自動化劇本。請避免使用互動式使用者帳戶或內建網域管理員帳戶。使用者名稱格式:使用者名稱可以使用者主體名稱 (UPN) (例如
svc_secops@example.local) 或低層級登入名稱 (EXAMPLE\svc_secops) 的形式提供。PoLP:請勿將服務帳戶新增至具備特殊權限的內建群組,例如「網域管理員」、「企業管理員」或「帳戶操作員」。請改為在使用者、電腦或群組物件所在的特定 OU 中,授予精細的權限。
設定動作權限 (最低權限)
授予驗證服務帳戶執行劇本動作所需的特定 Active Directory 權限和 LDAP 屬性存取權。
請參閱下表,瞭解 Active Directory 動作的最低權限:
| 動作名稱 | 必要的 AD DS 權限 / 擴充權限 | 目標物件類別 | 說明 / 屬性範圍 |
|---|---|---|---|
| Ping | Read Property |
使用者、網域層級 | 查詢已設定的服務帳戶物件 (sAMAccountName、userPrincipalName、mail),驗證目錄連線和憑證。 |
| 豐富實體 |
|
使用者、電腦、群組 | 查詢使用者和電腦屬性,並解析巢狀群組成員資格。
需要 Read Property 上的 userAccountControl,才能避免空值下標錯誤。 |
| 停用帳戶 |
|
使用者 | 讀取及設定目標使用者物件的 ACCOUNTDISABLE 旗標 (0x0002)。 |
| 啟用帳戶 |
|
使用者 | 讀取並清除目標使用者物件上的 ACCOUNTDISABLE 旗標 (0x0002)。 |
| 停用電腦 |
|
電腦 | 讀取及設定目標電腦物件上的 ACCOUNTDISABLE 旗標。 |
| 啟用電腦 |
|
電腦 | 讀取並清除目標電腦物件上的 ACCOUNTDISABLE 旗標。 |
| 解除鎖定帳戶 | Write Property:lockoutTime |
使用者 | 將 lockoutTime 屬性設為 0,即可解鎖已鎖定的使用者帳戶。 |
| 強制更新密碼 | Write Property:pwdLastSet |
使用者 | 將 pwdLastSet 屬性設為 0,要求使用者在下次登入時變更密碼。 |
| 設定使用者密碼 |
|
使用者 | 重設目標使用者的密碼。需要 LDAPS (通訊埠 636) 或 StartTLS。 |
| 將使用者加入群組 |
|
群組 | 將目標使用者的識別名稱 (distinguishedName) 新增至群組的 member 屬性。 |
| 從群組中移除使用者 |
|
群組 | 從群組的 member 屬性中移除目標使用者的識別名稱 (distinguishedName)。 |
| 變更使用者 OU |
|
機構單位 (OU)、使用者 | 使用 LDAP modify_dn 在 OU 之間移動使用者物件。 |
| 變更主機 OU |
|
組織單位 (OU)、電腦 | 使用 LDAP modify_dn 在 OU 之間移動電腦物件。 |
| 更新 AD 使用者的屬性 | Write Property 目標屬性 (例如 mail、title、department、telephoneNumber、description 或 manager) |
使用者 | 修改目標使用者物件的指定屬性值。 |
| 更新 AD 主機的屬性 | 目標屬性 (例如 description 或 location) 的 Write Property |
電腦 | 修改目標電腦物件上的指定屬性值。 |
| 取得群組成員 |
|
群組、使用者、電腦 | 查詢群組成員資格和成員帳戶屬性。 |
| 取得管理員聯絡資料 |
|
使用者 | 從目標使用者物件讀取 manager 屬性,並擷取管理員的聯絡人詳細資料。 |
| Is User In Group |
|
使用者、群組 | 評估使用者帳戶是否屬於指定的安全性或通訊群組。 |
| 列出使用者群組 |
|
使用者、群組 | 傳回指派給指定使用者帳戶的所有群組清單。 |
| 搜尋 Active Directory |
|
使用者、電腦、群組、機構單位 | 針對目錄子樹狀結構執行自訂 LDAP 篩選器查詢。 |
在 Active Directory 中委派權限
如要強制執行 PoLP,但不想授予廣泛的管理權限,請使用 ADUC 或 PowerShell 和 dsacls,透過標準 Active Directory 管理工具,將權限委派給目標 OU。
使用 ADUC 委派控制權
如果偏好使用圖形介面,請在 ADUC 中使用「控制權委派精靈」,委派物件和屬性的特定權限。
在目標 OU 上執行精靈,授予帳戶管理所需的特定物件和屬性權限 (例如讀取和寫入帳戶控制項標記、重設密碼,以及解除鎖定帳戶)。
如需執行精靈的逐步指南,請參閱 Microsoft 說明文件「Delegation of Control in AD DS on Windows Server」(在 Windows Server 上委派 AD DS 控制權)。
使用 PowerShell 和 dsacls 委派控制權
如果您偏好使用指令列,或需要自動執行及編寫權限指派作業的指令碼,請搭配使用 PowerShell 和內建的 dsacls.exe 指令列公用程式。
在管理工作站或網域控制站上執行下列指令範例,並替換目標 OU 和服務帳戶名稱:
- 授予「讀取」和「寫入」權限
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:WP;lockoutTime;user" - 授予強制變更密碼的權限 (
pwdLastSet):powershell dsacls.exe "OU=Users,DC=example,DC=local" /I:S /G "EXAMPLE\svc_secops_ad:WP;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 的使用者電子郵件地址,例如 這項參數也接受 |
Domain |
必填。 網路命名空間中網域的完整 DNS 路徑。 如要設定這個參數,請輸入網域的完整網域名稱 (FQDN),格式如下: example.local,則要輸入的 FQDN 為 example.local。如果內部 Active Directory 網域是 corp.example.com,請輸入 corp.example.com 這個 FQDN。 |
Password |
必填。 使用者帳戶的密碼。 |
Custom Query Fields |
選填。 Active Directory 整合的自訂欄位,例如 |
CA Certificate File - parsed into Base64 String |
選填。 以 Base64 格式編碼的 CA 憑證檔案字串,是在設定 CA 憑證時取得。如要設定這個參數,請輸入完整的 BASE64_ENCODED_CERTIFICATE_STRING 值。 |
Use SSL |
選填。 如果選取這個選項,整合服務會在連線至 Active Directory 伺服器時驗證 SSL 憑證。 選取後,整合功能會使用安全的 LDAPS (連接埠 636)。如未選取,系統會使用標準 LDAP (通訊埠 389)。 預設為未選取。 |
如需在 Google SecOps 中設定整合功能的操作說明,請參閱「設定整合功能」。
如有需要,您可以在稍後階段進行變更。設定整合執行個體後,您可以在應對手冊中使用該執行個體。如要進一步瞭解如何設定及支援多個執行個體,請參閱「支援多個執行個體」。
動作
如要進一步瞭解動作,請參閱「 從工作台回覆待處理動作」和「執行手動動作」。
將使用者加入群組
使用「將使用者加入群組」動作,將使用者加入群組。
這項動作會在 Google SecOps User 實體上執行。
動作輸入內容
「將使用者新增至群組」動作需要下列參數:
| 參數 | 說明 |
|---|---|
Group Name |
必填。 以半形逗號分隔的群組清單,使用者會新增至這些群組。 |
動作輸出內容
「將使用者加入群組」動作會提供下列輸出內容:
| 動作輸出類型 | 可用性 |
|---|---|
| 案件總覽附件 | 無法使用 |
| 案件總覽連結 | 無法使用 |
| 案件牆表格 | 無法使用 |
| 充實資料表 | 無法使用 |
| JSON 結果 | 無法使用 |
| 輸出訊息 | 可用 |
| 指令碼結果 | 可用 |
輸出訊息
「將使用者新增至群組」動作可傳回下列輸出訊息:
| 輸出訊息 | 訊息說明 |
|---|---|
|
動作成功。 |
Error executing action "Add User to Group". Reason:
ERROR_REASON |
動作失敗。 檢查伺服器的連線、 輸入參數或憑證。 |
指令碼結果
下表列出使用「將使用者新增至群組」動作時,指令碼結果輸出的值:
| 指令碼結果名稱 | 值 |
|---|---|
is_success |
True或False |
變更主機機構單位
使用「變更主機 OU」動作,變更主機的 OU。
這項動作會在 Google SecOps Hostname 實體上執行。
動作輸入內容
「變更主機 OU」動作需要下列參數:
| 參數 | 說明 |
|---|---|
OU Name |
必填。 新使用者 OU 的名稱。 |
動作輸出內容
「變更主機 OU」動作會提供下列輸出內容:
| 動作輸出類型 | 可用性 |
|---|---|
| 案件總覽附件 | 無法使用 |
| 案件總覽連結 | 無法使用 |
| 案件牆表格 | 無法使用 |
| 充實資料表 | 無法使用 |
| JSON 結果 | 無法使用 |
| 指令碼結果 | 可用 |
指令碼結果
下表列出使用「變更主機 OU」動作時,指令碼結果輸出的值:
| 指令碼結果名稱 | 值 |
|---|---|
is_success |
True或False |
變更使用者機構單位
使用「變更使用者機構單位」動作,變更使用者的機構單位。
這項動作會在 Google SecOps User 實體上執行。
動作輸入內容
「變更使用者 OU」動作需要下列參數:
| 參數 | 說明 |
|---|---|
OU Name |
必填。 新使用者 OU 的名稱。 |
動作輸出內容
「變更使用者 OU」動作會提供下列輸出內容:
| 動作輸出類型 | 可用性 |
|---|---|
| 案件總覽附件 | 無法使用 |
| 案件總覽連結 | 無法使用 |
| 案件牆表格 | 無法使用 |
| 充實資料表 | 無法使用 |
| JSON 結果 | 無法使用 |
| 指令碼結果 | 可用 |
指令碼結果
下表列出使用「變更使用者 OU」動作時,指令碼結果輸出的值:
| 指令碼結果名稱 | 值 |
|---|---|
is_success |
True或False |
停用帳戶
使用「停用帳戶」動作停用使用者帳戶。
這項動作會在 Google SecOps User 實體上執行。
動作輸入內容
無
動作輸出內容
「停用帳戶」動作會提供下列輸出內容:
| 動作輸出類型 | 可用性 |
|---|---|
| 案件總覽附件 | 無法使用 |
| 案件總覽連結 | 無法使用 |
| 案件牆表格 | 無法使用 |
| 充實資料表 | 無法使用 |
| JSON 結果 | 無法使用 |
| 指令碼結果 | 可用 |
指令碼結果
下表列出使用「停用帳戶」動作時,指令碼結果輸出的值:
| 指令碼結果名稱 | 值 |
|---|---|
is_success |
True或False |
停用電腦
使用「停用電腦」動作停用電腦帳戶。
這項動作會在 Google SecOps Hostname 實體上執行。
動作輸入內容
無
動作輸出內容
「停用電腦」動作會提供下列輸出內容:
| 動作輸出類型 | 可用性 |
|---|---|
| 案件總覽附件 | 無法使用 |
| 案件總覽連結 | 無法使用 |
| 案件牆表格 | 無法使用 |
| 充實資料表 | 無法使用 |
| JSON 結果 | 無法使用 |
| 指令碼結果 | 可用 |
指令碼結果
下表列出使用「停用電腦」動作時,指令碼結果輸出的值:
| 指令碼結果名稱 | 值 |
|---|---|
is_success |
True或False |
啟用帳戶
使用「啟用帳戶」動作啟用使用者帳戶。
這項動作會在 Google SecOps User 實體上執行。
動作輸入內容
無
動作輸出內容
「啟用帳戶」動作會提供下列輸出內容:
| 動作輸出類型 | 可用性 |
|---|---|
| 案件總覽附件 | 無法使用 |
| 案件總覽連結 | 無法使用 |
| 案件牆表格 | 無法使用 |
| 充實資料表 | 無法使用 |
| JSON 結果 | 無法使用 |
| 指令碼結果 | 可用 |
指令碼結果
下表列出使用「啟用帳戶」動作時,指令碼結果輸出的值:
| 指令碼結果名稱 | 值 |
|---|---|
is_success |
True或False |
啟用電腦
使用「啟用電腦」動作啟用電腦帳戶。
這項動作會在 Google SecOps Hostname 實體上執行。
動作輸入內容
無
動作輸出內容
「啟用電腦」動作會提供下列輸出內容:
| 動作輸出類型 | 可用性 |
|---|---|
| 案件總覽附件 | 無法使用 |
| 案件總覽連結 | 無法使用 |
| 案件牆表格 | 無法使用 |
| 充實資料表 | 無法使用 |
| JSON 結果 | 無法使用 |
| 指令碼結果 | 可用 |
指令碼結果
下表列出使用「啟用電腦」動作時,指令碼結果輸出的值:
| 指令碼結果名稱 | 值 |
|---|---|
is_success |
True或False |
充實實體
使用「Enrich Entities」(擴充實體) 動作,以 Active Directory 屬性擴充 Hostname 或 Username 實體。
這項動作是非同步作業。如有需要,請在 Google SecOps IDE 中調整動作的指令碼逾時值。
「Enrich Entities」動作會對下列 Google SecOps 實體執行:
UserHostname
動作輸入內容
「Enrich Entities」動作需要下列參數:
| 參數 | 說明 |
|---|---|
Mark entities as internal |
必填。 如果選取這個選項,系統會自動將成功擴充的實體標示為內部實體。 |
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 結果只會傳回您在 預設為未選取。 |
Connection Timeout |
選填。 網路連線逾時限制 (以秒為單位)。 預設值為 |
Receive Timeout |
選填。 網路接收逾時限制 (以秒為單位)。 預設值為 |
動作輸出內容
「Enrich Entities」(擴充實體) 動作會提供下列輸出內容:
| 動作輸出類型 | 可用性 |
|---|---|
| 案件總覽附件 | 無法使用 |
| 案件總覽連結 | 無法使用 |
| 案件牆表格 | 無法使用 |
| 實體擴充表格 | 可用 |
| JSON 結果 | 可用 |
| 指令碼結果 | 可用 |
實體充實
「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」動作時,指令碼結果輸出的值:
| 指令碼結果名稱 | 值 |
|---|---|
is_success |
True或False |
強制更新密碼
使用「強制更新密碼」動作,要求使用者在下次登入時變更密碼。
這項動作會在 Google SecOps User 實體上執行。
動作輸入內容
無
動作輸出內容
「強制更新密碼」動作會提供下列輸出內容:
| 動作輸出類型 | 可用性 |
|---|---|
| 案件總覽附件 | 無法使用 |
| 案件總覽連結 | 無法使用 |
| 案件牆表格 | 無法使用 |
| 充實資料表 | 無法使用 |
| JSON 結果 | 無法使用 |
| 指令碼結果 | 可用 |
指令碼結果
下表列出使用「強制更新密碼」動作時,指令碼結果輸出的值:
| 指令碼結果名稱 | 值 |
|---|---|
is_success |
True或False |
取得群組成員
使用「Get Group Members」(取得群組成員) 動作,擷取指定 Active Directory 群組的成員。
這項動作支援擷取使用者和主機名稱成員,並支援在巢狀群組中搜尋。
動作輸入內容
「取得群組成員」動作需要下列參數:
| 參數 | 說明 |
|---|---|
Group Name |
必填。 列出成員的群組名稱。 |
Members Type |
必填。 群組的成員類型。 預設值為 |
Perform Nested Search |
選填。 選取後,這項動作會擷取主要群組所屬群組的其他詳細資料。 預設為未選取。 |
Limit |
必填。 要從 Active Directory 擷取的清單數量上限。 預設值為 100。 |
動作輸出內容
「Get Group Members」(取得群組成員) 動作會提供下列輸出內容:
| 動作輸出類型 | 可用性 |
|---|---|
| 案件總覽附件 | 無法使用 |
| 案件總覽連結 | 無法使用 |
| 案件牆表格 | 無法使用 |
| 充實資料表 | 無法使用 |
| JSON 結果 | 可用 |
| 指令碼結果 | 可用 |
JSON 結果
以下範例顯示使用「取得群組成員」動作時收到的 JSON 結果輸出內容:
[
{
"cn":"Example User1",
"displayName":"Example User1",
"distinguishedName":"CN=Example User1,OU=User Accounts,DC=example,DC=local"
},
{
"cn":"Example User2",
"displayName":"Example User2",
"distinguishedName":"CN=Example User2,CN=Users,DC=example,DC=local"
},
{
"cn":"Example User3",
"displayName":"Example User3",
"distinguishedName":"CN=Example User3,CN=Users,DC=example,DC=local"
}
]
指令碼結果
下表列出使用「取得群組成員」動作時,指令碼結果輸出的值:
| 指令碼結果名稱 | 值 |
|---|---|
is_success |
True或False |
取得經理聯絡資料
使用「Get Manager Contact Details」(取得經理聯絡詳細資料) 動作,從 Active Directory 取得經理聯絡詳細資料。
這項動作會在 Google SecOps User 實體上執行。
動作輸入內容
無
動作輸出內容
「取得管理員聯絡詳細資料」動作會提供下列輸出內容:
| 動作輸出類型 | 可用性 |
|---|---|
| 案件總覽附件 | 無法使用 |
| 案件總覽連結 | 無法使用 |
| 案件牆表格 | 無法使用 |
| 實體擴充表格 | 可用 |
| JSON 結果 | 可用 |
| 輸出訊息 | 可用 |
| 指令碼結果 | 可用 |
實體充實
「取得管理員聯絡資料」動作支援下列實體擴充功能:
| 補充資料欄位名稱 | 邏輯 |
|---|---|
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 結果
以下範例顯示使用「取得管理員聯絡詳細資料」動作時收到的 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": ["{id}"],
"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"
}
]
輸出訊息
「Ping」動作可能會傳回下列輸出訊息:
| 輸出訊息 | 訊息說明 |
|---|---|
|
動作成功。 |
Error executing action "Get Manager Contact Details".
Reason: ERROR_REASON |
動作失敗。 檢查伺服器的連線、 輸入參數或憑證。 |
指令碼結果
下表列出使用「取得管理員聯絡資訊」動作時,指令碼結果輸出的值:
| 指令碼結果名稱 | 值 |
|---|---|
is_success |
True或False |
使用者是否屬於群組
使用「Is User in Group」(使用者是否在群組中) 動作,檢查使用者是否為特定群組的成員。
這項動作會在 Google SecOps User 實體上執行。
動作輸入內容
「使用者是否在群組中」動作需要下列參數:
| 參數 | 說明 |
|---|---|
Group Name |
必填。 要檢查的群組名稱,例如
|
動作輸出內容
「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」動作時,指令碼結果輸出的值:
| 指令碼結果名稱 | 值 |
|---|---|
is_success |
True或False |
列出使用者群組
使用「List User Groups」動作,取得 Active Directory 中所有可用使用者群組的清單。
這項動作會在 Google SecOps User 實體上執行。
動作輸入內容
無
動作輸出內容
「列出使用者群組」動作會提供下列輸出內容:
| 動作輸出類型 | 可用性 |
|---|---|
| 案件總覽附件 | 無法使用 |
| 案件總覽連結 | 無法使用 |
| 案件牆表格 | 無法使用 |
| 充實資料表 | 無法使用 |
| JSON 結果 | 可用 |
| 指令碼結果 | 可用 |
JSON 結果
以下範例顯示使用「列出使用者群組」動作時收到的 JSON 結果輸出內容:
[
{
"EntityResult": ["Domain Users"],
"Entity": "user@example.com"
}
]
指令碼結果
下表列出使用「列出使用者群組」動作時,指令碼結果輸出的值:
| 指令碼結果名稱 | 值 |
|---|---|
is_success |
True或False |
Ping
使用「Ping」動作測試與 Active Directory 的連線。
這項操作會對所有 Google SecOps 實體執行。
動作輸入內容
無
動作輸出內容
「Ping」動作會提供下列輸出內容:
| 動作輸出類型 | 可用性 |
|---|---|
| 案件總覽附件 | 無法使用 |
| 案件總覽連結 | 無法使用 |
| 案件牆表格 | 無法使用 |
| 充實資料表 | 無法使用 |
| JSON 結果 | 無法使用 |
| 指令碼結果 | 可用 |
指令碼結果
下表列出使用「Ping」動作時,指令碼結果輸出的值:
| 指令碼結果名稱 | 值 |
|---|---|
is_success |
True或False |
解除鎖定帳戶
使用「Release Locked Account」(解除鎖定帳戶) 動作,即可解除鎖定帳戶。
這項動作會在 Google SecOps User 實體上執行。
動作輸入內容
無
動作輸出內容
「Release Locked Account」(解除鎖定帳戶) 動作會提供下列輸出內容:
| 動作輸出類型 | 可用性 |
|---|---|
| 案件總覽附件 | 無法使用 |
| 案件總覽連結 | 無法使用 |
| 案件牆表格 | 無法使用 |
| 充實資料表 | 無法使用 |
| JSON 結果 | 無法使用 |
| 指令碼結果 | 可用 |
指令碼結果
下表列出使用「Release Locked Account」(解除鎖定帳戶) 動作時,指令碼結果輸出的值:
| 指令碼結果名稱 | 值 |
|---|---|
is_success |
True或False |
從群組中移除使用者
使用「Remove User From Group」(從群組中移除使用者) 動作,將使用者從群組中移除。
這項動作會在 Google SecOps User 實體上執行。
動作輸入內容
「從群組中移除使用者」動作需要下列參數:
| 參數 | 說明 |
|---|---|
Group Name |
必填。 以半形逗號分隔的群組清單,用於移除使用者。 |
動作輸出內容
「從群組中移除使用者」動作會提供下列輸出內容:
| 動作輸出類型 | 可用性 |
|---|---|
| 案件總覽附件 | 無法使用 |
| 案件總覽連結 | 無法使用 |
| 案件牆表格 | 無法使用 |
| 充實資料表 | 無法使用 |
| JSON 結果 | 無法使用 |
| 輸出訊息 | 可用 |
| 指令碼結果 | 可用 |
輸出訊息
「從群組移除使用者」動作可能會傳回下列輸出訊息:
| 輸出訊息 | 訊息說明 |
|---|---|
|
動作成功。 |
Error executing action "Remove User From Group". Reason:
ERROR_REASON |
動作失敗。 檢查伺服器的連線、 輸入參數或憑證。 |
指令碼結果
下表列出使用「從群組移除使用者」動作時,指令碼結果輸出的值:
| 指令碼結果名稱 | 值 |
|---|---|
is_success |
True或False |
搜尋 Active Directory
使用「搜尋 Active Directory」動作,透過指定查詢搜尋 Active Directory。
這項操作不會在 Google SecOps 實體上執行。
動作輸入內容
「搜尋 Active Directory」動作需要下列參數:
| 參數 | 說明 |
|---|---|
Query String |
必填。 要在 Active Directory 中執行的查詢字串。 |
Limit |
選填。 要從 Active Directory 擷取的清單數量上限。 |
動作輸出內容
「搜尋 Active Directory」動作會提供下列輸出內容:
| 動作輸出類型 | 可用性 |
|---|---|
| 案件總覽附件 | 無法使用 |
| 案件總覽連結 | 無法使用 |
| 案件牆表格 | 無法使用 |
| 充實資料表 | 無法使用 |
| JSON 結果 | 可用 |
| 輸出訊息 | 可用 |
| 指令碼結果 | 可用 |
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"
]
}
]
輸出訊息
「搜尋 Active Directory」動作可傳回下列輸出訊息:
| 輸出訊息 | 訊息說明 |
|---|---|
|
動作成功。 |
Error executing action "Search Active Directory". Reason:
ERROR_REASON |
動作失敗。 檢查伺服器的連線、 輸入參數或憑證。 |
指令碼結果
下表列出使用「搜尋 Active Directory」動作時,指令碼結果輸出的值:
| 指令碼結果名稱 | 值 |
|---|---|
is_success |
True或False |
設定使用者密碼
使用「設定使用者密碼」動作設定使用者密碼。
這項動作會在 Google SecOps User 實體上執行。
動作輸入內容
「設定使用者密碼」動作需要下列參數:
| 參數 | 說明 |
|---|---|
New Password |
必填。 新密碼值。 |
動作輸出內容
「設定使用者密碼」動作會提供下列輸出內容:
| 動作輸出類型 | 可用性 |
|---|---|
| 案件總覽附件 | 無法使用 |
| 案件總覽連結 | 無法使用 |
| 案件牆表格 | 無法使用 |
| 充實資料表 | 無法使用 |
| JSON 結果 | 無法使用 |
| 指令碼結果 | 可用 |
指令碼結果
下表列出使用「設定使用者密碼」動作時,指令碼結果輸出的值:
| 指令碼結果名稱 | 值 |
|---|---|
is_success |
True或False |
更新 AD 主機的屬性
使用「Update attributes of an AD Host」(更新 AD 主機的屬性) 動作,更新 Active Directory 中目前主機的屬性。
這項動作會在 Google SecOps Hostname 實體上執行。
動作輸入內容
「更新 AD 主機的屬性」動作需要下列參數:
| 參數 | 說明 |
|---|---|
Attribute Name |
必填。 要更新的屬性名稱,例如 |
Attribute Value |
必填。 屬性的新值。 |
動作輸出內容
「Update attributes of an AD Host」動作會提供下列輸出內容:
| 動作輸出類型 | 可用性 |
|---|---|
| 案件總覽附件 | 無法使用 |
| 案件總覽連結 | 無法使用 |
| 案件牆表格 | 無法使用 |
| 充實資料表 | 無法使用 |
| JSON 結果 | 無法使用 |
| 輸出訊息 | 可用 |
| 指令碼結果 | 可用 |
輸出訊息
「更新 AD 主機的屬性」動作可傳回下列輸出訊息:
| 輸出訊息 | 訊息說明 |
|---|---|
|
動作成功。 |
Failed to update the
ATTRIBUTE_NAME for the following
entities: ENTITY_ID_LIST.
|
動作失敗。 檢查伺服器的連線、 輸入參數或憑證。 |
指令碼結果
下表列出使用「更新 AD 主機的屬性」動作時,指令碼結果輸出的值:
| 指令碼結果名稱 | 值 |
|---|---|
is_success |
True或False |
更新 AD 使用者的屬性
使用「更新 AD 使用者的屬性」動作,更新 Active Directory 中目前使用者的屬性。
這項動作會在 Google SecOps User 實體上執行。
動作輸入內容
「更新 AD 使用者的屬性」動作需要下列參數:
| 參數 | 說明 |
|---|---|
Attribute Name |
必填。 要更新的屬性名稱,例如 |
Attribute Value |
必填。 屬性的新值。 |
動作輸出內容
「更新 AD 使用者屬性」動作會提供下列輸出內容:
| 動作輸出類型 | 可用性 |
|---|---|
| 案件總覽附件 | 無法使用 |
| 案件總覽連結 | 無法使用 |
| 案件牆表格 | 無法使用 |
| 充實資料表 | 無法使用 |
| JSON 結果 | 無法使用 |
| 輸出訊息 | 可用 |
| 指令碼結果 | 可用 |
輸出訊息
「更新 AD 使用者的屬性」動作可傳回下列輸出訊息:
| 輸出訊息 | 訊息說明 |
|---|---|
|
動作成功。 |
Failed to update the
ATTRIBUTE_NAME for the following
entities: ENTITY_ID_LIST.
|
動作失敗。 檢查伺服器的連線、 輸入參數或憑證。 |
指令碼結果
下表列出使用「更新 AD 使用者的屬性」動作時,指令碼結果輸出的值:
| 指令碼結果名稱 | 值 |
|---|---|
is_success |
True或False |
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求解答。