将 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,重设密码时需要)进行连接,请通过将根证书或中间证书编码为 base64 字符串来配置 CA 证书。
遵循最小权限原则创建专用 Active Directory 服务账号。
查看所需的操作权限,确定您计划运行的特定操作所需的属性和访问权限。
针对您计划使用的操作,在目标组织部门上委托权限(使用 Active Directory 用户和计算机或 PowerShell 和 dsacls),确保服务账号对
userAccountControl属性具有明确的读写权限。
网络和 DNS 要求
Google SecOps 使用轻量级目录访问协议(LDAP 或 LDAPS)通过 TCP 直接与 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)进行连接,或使用公开可信的证书,请跳过此部分,直接前往身份验证和服务账号。如果您通过 LDAPS(端口 636,重设密码时需要)使用由私有或内部 CA 颁发的证书进行连接,请在设置期间提供 base64 编码的证书字符串,以建立可信 TLS 连接。
如需配置和上传 CA 证书,请完成以下步骤:
对 PEM 格式的证书文件进行编码:
Linux:
bash base64 -w 0 mycert.crtmacOS:
bash base64 -i mycert.crt
复制完整的输出字符串(包括编码标头),并将其粘贴到 Google SecOps 集成配置中的 CA 证书文件 - 解析为 Base64 字符串字段。
将服务器参数设置为网域控制器的 FQDN(而非其 IP 地址),以便主机名与证书上的通用名称 (CN) 或主体备用名称 (SAN) 匹配。
点击测试以验证 TLS 握手。
身份验证和服务账号要求
Active Directory 集成使用标准 AD DS 凭据进行身份验证。
确保您的身份验证设置符合以下安全做法:
专用服务账号:专门为 Google SecOps 自动化 playbook 创建一个专用服务账号(例如
svc_secops_ad)。避免使用交互式用户账号或内置网域管理员账号。用户名格式:用户名可以作为用户主体名称 (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,以防止出现 null 下标错误。 |
| 停用账号 |
|
用户 | 读取和设置目标用户对象上的 ACCOUNTDISABLE 标志 (0x0002)。 |
| 启用账号 |
|
用户 | 读取并清除目标用户对象上的 ACCOUNTDISABLE 标志 (0x0002)。 |
| 停用计算机 |
|
计算机 | 读取并设置目标计算机对象上的 ACCOUNTDISABLE 标志。 |
| 启用计算机 |
|
计算机 | 读取并清除目标计算机对象上的 ACCOUNTDISABLE 标志。 |
| 释放锁定的账号 |
|
用户 | 读取 lockoutTime 属性并将其设置为 0,以解锁锁定的用户账号。 |
| 强制更新密码 |
|
用户 | 读取 pwdLastSet 属性并将其设置为 0,以要求用户在下次登录时更改密码。 |
| 设置用户密码 |
|
用户 | 重置目标用户的密码。需要 LDAPS(端口 636)或 StartTLS。 |
| 将用户添加到群组 |
|
群组 | 将目标用户的标识名 (distinguishedName) 添加到群组的 member 属性。 |
| 从群组中移除用户 |
|
群组 | 从群组的 member 属性中移除目标用户的专有名称 (distinguishedName)。 |
| 更改用户组织部门 |
|
组织部门、用户 | 使用 LDAP modify_dn 在组织部门之间移动用户对象。 |
| 更改主持人组织部门 |
|
组织部门、计算机 | 使用 LDAP modify_dn 在组织部门之间移动计算机对象。 |
| 更新 AD 用户的属性 | 目标属性(例如 mail、title、department、telephoneNumber、description 或 manager)上的 Write Property |
用户 | 修改目标用户对象上的指定属性值。 |
| 更新 AD 主机的属性 | Write Property 针对目标属性(例如 description 或 location) |
计算机 | 修改目标计算机对象上的指定属性值。 |
| 获取群组成员 |
|
群组、用户、计算机 | 查询群组成员资格和成员账号属性。 |
| 获取经理的详细联系信息 |
|
用户 | 从目标用户对象中读取 manager 属性,并检索主管的详细联系信息。 |
| Is User In Group |
|
用户、群组 | 评估用户账号是否属于指定的安全群组或通讯群组。 |
| 列出用户群组 |
|
用户、群组 | 返回分配给指定用户账号的所有群组的列表。 |
| 搜索 Active Directory |
|
用户、计算机、群组、组织部门 | 针对目录子树执行自定义 LDAP 过滤条件查询。 |
在 Active Directory 中委托权限
如需在不授予广泛管理权限的情况下强制执行 PoLP,请使用图形 ADUC 控制台或 PowerShell 和 dsacls 命令行工具在目标组织部门上委派权限。您只需使用其中一种方法,并且只需委托您计划执行的特定操作所需的权限。
使用 ADUC 委托控制权
如果您更喜欢使用图形界面,请使用 ADUC 中的“控制委派向导”来委派对象和属性专属权限。
在目标组织部门上运行向导,以授予您计划使用的操作(例如读取和写入账号控制标志、重置密码或解锁账号)所需的对象和属性权限。
如需了解运行该向导的分步指南,请参阅有关 AD DS 中的控制权委派的 Microsoft 文档。
使用 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"
如需详细了解语法和参数开关,请参阅有关 dsacls 的 Microsoft 文档。
集成参数
Active Directory 集成需要以下参数:
| 参数 | 说明 |
|---|---|
Server |
必填。 Active Directory 服务器的主机名、DNS 名称或 IP 地址。 该集成使用 LDAP 协议进行通信。 如需使用自定义端口,请将其附加到地址(例如 默认情况下,集成在启用 SSL/TLS 时使用端口 636,在停用 SSL/TLS 时使用端口 389。 |
Username |
必填。 要连接到 Active Directory 的用户的用户名或邮箱,例如 此参数还接受 |
Password |
必填。 用户账号的密码。 |
Domain |
必填。 网络命名空间中网域的完整 DNS 路径。 请按以下格式提供网域的完全限定域名 (FQDN): 例如,如果您的内部 Active Directory 域是 |
Custom Query Fields |
可选。 要包含在查询中的自定义 Active Directory 字段的逗号分隔列表,例如 |
CA Certificate File - parsed into Base64 String |
可选。 配置 CA 证书时获取的编码为 base64 格式的 CA 证书文件字符串。 请提供完整值。 |
Use SSL |
可选。 如果选中此选项,则集成会在连接到 Active Directory 目录服务器时验证 SSL 证书,并使用安全的 LDAPS(端口 636)。 如果未选择,则使用标准 LDAP(端口 389)。 |
Debug Logging |
可选。 如果选中,则集成会记录 Active Directory 操作的详细调试信息。 |
如需了解如何在 Google SecOps 中配置集成,请参阅配置集成。
如有需要,您可以在后续阶段进行更改。配置集成实例后,您可以在 playbook 中使用该实例。如需详细了解如何配置和支持多个实例,请参阅支持多个实例。
操作
如需详细了解操作,请参阅 在工作桌上响应待处理的操作和在案例中运行手动操作。
将用户添加到群组
使用将用户添加到群组操作,将案例中的用户添加到一个或多个 Active Directory 群组,例如在调查期间将账号添加到受限访问群组。该操作会自动从案例中识别目标用户,并将其添加到指定群组。
此操作在 Google SecOps User 实体上运行。
操作输入
将用户添加到群组操作需要以下参数:
| 参数 | 说明 |
|---|---|
Group Name |
必填。 要向其中添加用户的群组的逗号分隔列表。 |
操作输出
将用户添加到群组操作提供以下输出:
| 操作输出类型 | 可用性 |
|---|---|
| 案例墙附件 | 不可用 |
| 案例墙链接 | 不可用 |
| 案例墙表格 | 不可用 |
| 丰富化表 | 不可用 |
| JSON 结果 | 不可用 |
| 输出消息 | 可用 |
| 脚本结果 | 可用 |
输出消息
将用户添加到群组操作可以返回以下输出消息:
| 输出消息 | 消息说明 |
|---|---|
|
操作成功。 |
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 中,以及实体标识符是否与有效的用户名或电子邮件地址匹配。 |
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 目录服务器的连接、输入参数或服务账号凭证。 |
脚本结果
下表列出了使用将用户添加到群组操作时脚本结果输出的值:
| 脚本结果名称 | 值 |
|---|---|
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 服务器的连接、 |
脚本结果
下表列出了使用更改主机组织部门操作时脚本结果输出的值:
| 脚本结果名称 | 值 |
|---|---|
is_success |
true 或 false |
更改用户所属的组织部门
使用更改用户组织部门操作,将案例中的用户移至 Active Directory 中的其他组织部门,例如在突发事件或离职工作流期间将账号移至受限组织部门。该操作会自动从案例中识别目标用户,并将其移至指定的目标组织部门。
此操作在 Google SecOps User 实体上运行。
操作输入
更改用户组织部门操作需要以下参数:
| 参数 | 说明 |
|---|---|
OU Name |
必填。 新用户组织部门的名称。 |
操作输出
更改用户组织部门操作会提供以下输出:
| 操作输出类型 | 可用性 |
|---|---|
| 案例墙附件 | 不可用 |
| 案例墙链接 | 不可用 |
| 案例墙表格 | 不可用 |
| 丰富化表 | 不可用 |
| JSON 结果 | 不可用 |
| 输出消息 | 可用 |
| 脚本结果 | 可用 |
输出消息
Change User OU 操作可能会返回以下输出消息:
| 输出消息 | 消息说明 |
|---|---|
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 结果 | 不可用 |
| 输出消息 | 可用 |
| 脚本结果 | 可用 |
输出消息
Enable Account(启用账号)操作可能会返回以下输出消息:
| 输出消息 | 消息说明 |
|---|---|
|
操作成功。 |
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 目录服务器的连接或服务账号凭证。 |
脚本结果
下表列出了使用启用账号操作时脚本结果输出的值:
| 脚本结果名称 | 值 |
|---|---|
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 |
丰富实体
使用丰富实体操作,检索案例中用户和计算机的 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 结果将仅返回 |
操作输出
丰富实体操作提供以下输出:
| 操作输出类型 | 可用性 |
|---|---|
| 案例墙附件 | 不可用 |
| 案例墙链接 | 不可用 |
| 案例墙表格 | 可用 |
| 实体丰富化表 | 可用 |
| JSON 结果 | 可用 |
| 输出消息 | 可用 |
| 脚本结果 | 可用 |
案例墙表格
选择 Create Case Wall Table 时,丰富实体操作会在案例墙上提供下表:
- 表名称:
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参数过滤)。
实体丰富化
丰富实体操作支持以下实体丰富:
| 扩充项字段名称 | 逻辑 |
|---|---|
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": ["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 中,并且与案例中的实体标识符匹配。 |
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 服务器的连接、自定义查询字段或服务账号凭证。 |
脚本结果
下表列出了使用丰富实体操作时脚本结果输出的值:
| 脚本结果名称 | 值 |
|---|---|
is_success |
true 或 false |
强制更新密码
使用强制更新密码操作,要求用户在下次登录时更改密码。该操作会自动定位到与该支持请求关联的用户。
此操作在 Google SecOps User 实体上运行。
操作输入
无。
操作输出
强制更新密码操作会提供以下输出:
| 操作输出类型 | 可用性 |
|---|---|
| 案例墙附件 | 不可用 |
| 案例墙链接 | 不可用 |
| 案例墙表格 | 不可用 |
| 丰富化表 | 不可用 |
| JSON 结果 | 不可用 |
| 输出消息 | 可用 |
| 脚本结果 | 可用 |
输出消息
Force Password Update 操作可能会返回以下输出消息:
| 输出消息 | 消息说明 |
|---|---|
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 |
获取群组成员
使用获取群组成员操作可列出属于特定 Active Directory 群组的用户、计算机或两者。您可以选择将搜索范围缩小到特定组织部门或父级群组,并包含嵌套子群组中的成员。
此操作不会在 Google SecOps 实体上运行。
操作输入
获取群组成员操作需要以下参数:
| 参数 | 说明 |
|---|---|
Group Name |
必填。 包含所列成员的群组的名称。 |
Members Type |
必填。 要从群组中检索的成员类型。 可能的值如下:
默认值为 |
Where To Search |
必填。 要将搜索范围限定到的特定 可能的值如下:
默认值为 |
Filter Object Value |
可选。 操作在其中搜索目标群组的 |
Perform Nested Search |
可选。 如果选中,该操作会从属于目标群组的嵌套子群组中检索成员。 |
Limit |
可选。 要从 Active Directory 检索的列表数量上限。 默认值为 |
操作输出
获取群组成员操作会提供以下输出:
| 操作输出类型 | 可用性 |
|---|---|
| 案例墙附件 | 不可用 |
| 案例墙链接 | 不可用 |
| 案例墙表格 | 可用 |
| 丰富化表 | 不可用 |
| JSON 结果 | 可用 |
| 输出消息 | 可用 |
| 脚本结果 | 可用 |
案例墙表格
获取群组成员操作在案例墙上提供以下表格:
- 表名称:
Members of Active Directory group: <var class="readonly">GROUP_NAME</var> - 列:
Distinguished NameSAM Account NameUser Principal NameType
JSON 结果
以下示例展示了使用获取群组成员操作时收到的 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"
}
]
输出消息
获取群组成员操作可以返回以下输出消息:
| 输出消息 | 消息说明 |
|---|---|
|
操作成功。 |
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. |
操作失败。 验证 |
Error executing action "Get Group Members". Reason: Specified
Group in "Filter Object Value" doesn't exist in Active
Directory. |
操作失败。 验证 |
Error executing action "Get Group Members". Reason:
ERROR_REASON |
操作失败。 检查与 Active Directory 目录服务器的连接、输入参数或服务账号凭证。 |
脚本结果
下表列出了使用获取群组成员操作时脚本结果输出的值:
| 脚本结果名称 | 值 |
|---|---|
is_success |
true 或 false |
获取经理详细联系信息
使用获取主管详细联系信息操作,在 Active Directory 中查找用户的主管并检索主管的详细联系信息。该操作会自动定位到与案例关联的用户。
此操作在 Google SecOps User 实体上运行。
操作输入
无。
操作输出
获取经理详细联系信息操作会提供以下输出:
| 操作输出类型 | 可用性 |
|---|---|
| 案例墙附件 | 不可用 |
| 案例墙链接 | 不可用 |
| 案例墙表格 | 可用 |
| 实体丰富化表 | 可用 |
| JSON 结果 | 可用 |
| 输出消息 | 可用 |
| 脚本结果 | 可用 |
案例墙表格
获取经理详细联系信息操作会在支持请求墙上提供下表:
- 表名称:
Manager Contact: <var class="readonly">ENTITY_ID</var> - 列:
Manager NameManager Phone
实体丰富化
获取经理详细联系信息操作支持以下实体丰富:
| 扩充项字段名称 | 逻辑 |
|---|---|
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": ["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"
}
]
输出消息
获取经理详细联系信息操作可以返回以下输出消息:
| 输出消息 | 消息说明 |
|---|---|
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 目录服务器的连接或服务账号凭证。 |
脚本结果
下表列出了使用获取经理详细联系信息操作时脚本结果输出的值:
| 脚本结果名称 | 值 |
|---|---|
is_success |
true 或 false |
用户是否在群组中
使用用户是否在群组中操作可检查特定用户是否属于给定的 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 结果
以下示例展示了使用用户是否在群组中操作时收到的 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. |
操作失败。 验证 |
Error executing action "Is User In Group". Reason: Specified
Group in "Filter Object Value" doesn't exist in Active
Directory. |
操作失败。 验证 |
Error executing action "Is User In Group". Reason:
ERROR_REASON |
操作失败。 检查与 Active Directory 目录服务器的连接、输入参数或服务账号凭证。 |
脚本结果
下表列出了使用用户是否在群组中操作时脚本结果输出的值:
| 脚本结果名称 | 值 |
|---|---|
is_success |
true 或 false |
列出用户群组
使用列出用户群组操作可检索用户所属的所有 Active Directory 群组的列表。该操作会自动定位到与案例关联的用户。
此操作在 Google SecOps User 实体上运行。
操作输入
无。
操作输出
列出用户群组操作提供以下输出:
| 操作输出类型 | 可用性 |
|---|---|
| 案例墙附件 | 不可用 |
| 案例墙链接 | 不可用 |
| 案例墙表格 | 不可用 |
| 丰富化表 | 不可用 |
| JSON 结果 | 可用 |
| 输出消息 | 可用 |
| 脚本结果 | 可用 |
JSON 结果
以下示例展示了使用列出用户群组操作时收到的 JSON 结果输出:
[
{
"EntityResult": ["Domain Users"],
"Entity": "user@example.com"
}
]
输出消息
列出用户群组操作可以返回以下输出消息:
| 输出消息 | 消息说明 |
|---|---|
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 目录服务器的连接或服务账号凭证。 |
脚本结果
下表列出了使用列出用户群组操作时脚本结果输出的值:
| 脚本结果名称 | 值 |
|---|---|
is_success |
true 或 false |
Ping
使用 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 目录服务器的连接或服务账号凭证。 |
脚本结果
下表列出了使用释放锁定的账号操作时脚本结果输出的值:
| 脚本结果名称 | 值 |
|---|---|
is_success |
true 或 false |
从群组中移除用户
使用从群组中移除用户操作,从一个或多个 Active Directory 群组中移除案例中的用户,例如在突发事件期间撤消提升的群组访问权限。该操作会自动从支持请求中识别目标用户,并将其从指定群组中移除。
此操作在 Google SecOps User 实体上运行。
操作输入
从群组中移除用户操作需要以下参数:
| 参数 | 说明 |
|---|---|
Group Name |
必填。 要从中移除用户的群组的英文逗号分隔列表。 |
操作输出
从群组中移除用户操作提供以下输出:
| 操作输出类型 | 可用性 |
|---|---|
| 案例墙附件 | 不可用 |
| 案例墙链接 | 不可用 |
| 案例墙表格 | 不可用 |
| 丰富化表 | 不可用 |
| JSON 结果 | 不可用 |
| 输出消息 | 可用 |
| 脚本结果 | 可用 |
输出消息
从群组中移除用户操作可能会返回以下输出消息:
| 输出消息 | 消息说明 |
|---|---|
|
操作成功。 |
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 目录服务器的连接、输入参数或服务账号凭证。 |
脚本结果
下表列出了使用从群组中移除用户操作时脚本结果输出的值:
| 脚本结果名称 | 值 |
|---|---|
is_success |
true 或 false |
搜索 Active Directory
使用搜索 Active Directory 操作,通过内置搜索条件或自定义查询在目录中搜索用户、计算机、群组或组织部门。您还可以按特定组织部门过滤搜索结果,并选择要在结果中包含哪些目录字段。
此操作不会在 Google SecOps 实体上运行。
操作输入
搜索 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 操作会在案例墙上提供下表:
- 表名称:
Active Directory Search Results - 列:为匹配的目录条目返回的 Active Directory 属性(基于
Include Default Search Fields和Custom Fields)。
JSON 结果
以下示例展示了使用搜索 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: 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 目录服务器的连接、输入参数或服务账号凭证。 |
脚本结果
下表列出了使用搜索 Active Directory 操作时脚本结果输出的值:
| 脚本结果名称 | 值 |
|---|---|
is_success |
true 或 false |
设置用户密码
使用设置用户密码操作,将案例中用户的密码重置为新密码。确保集成通过 SSL (LDAPS) 连接,并且新密码符合网域的密码复杂性规则。
此操作在 Google SecOps User 实体上运行。
操作输入
设置用户密码操作需要以下参数:
| 参数 | 说明 |
|---|---|
New Password |
必填。 新密码值。 |
操作输出
设置用户密码操作提供以下输出:
| 操作输出类型 | 可用性 |
|---|---|
| 案例墙附件 | 不可用 |
| 案例墙链接 | 不可用 |
| 案例墙表格 | 不可用 |
| 丰富化表 | 不可用 |
| JSON 结果 | 不可用 |
| 输出消息 | 可用 |
| 脚本结果 | 可用 |
输出消息
设置用户密码操作可能会返回以下输出消息:
| 输出消息 | 消息说明 |
|---|---|
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 目录服务器的连接、输入参数或服务账号凭证。 |
脚本结果
下表列出了使用设置用户密码操作时脚本结果输出的值:
| 脚本结果名称 | 值 |
|---|---|
is_success |
true 或 false |
更新 AD 主机的属性
使用更新 AD 主机的特性操作来更新案例中计算机账号的特定目录属性,例如使用突发事件备注更新计算机的 Description 字段。该操作会自动从案例中识别目标计算机并应用新值。
此操作在 Google SecOps Hostname 实体上运行。
操作输入
更新 AD 主机的属性操作需要以下参数:
| 参数 | 说明 |
|---|---|
Attribute Name |
必填。 要更新的属性的名称,例如 |
Attribute Value |
必填。 属性的新值。 |
操作输出
更新 AD 主机的属性操作提供以下输出:
| 操作输出类型 | 可用性 |
|---|---|
| 案例墙附件 | 不可用 |
| 案例墙链接 | 不可用 |
| 案例墙表格 | 不可用 |
| 丰富化表 | 不可用 |
| JSON 结果 | 不可用 |
| 输出消息 | 可用 |
| 脚本结果 | 可用 |
输出消息
更新 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 用户的属性
使用更新 AD 用户的属性操作可更新案例中用户账号的特定目录属性,例如更新用户的 Description、title 或 department 字段。该操作会自动从支持请求中识别目标用户并应用新值。
此操作在 Google SecOps User 实体上运行。
操作输入
更新 AD 用户的属性操作需要以下参数:
| 参数 | 说明 |
|---|---|
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 |