将 Microsoft Entra ID Protection 与 Google SecOps 集成

本文档介绍了如何将 Azure AD Identity Protection 与 Google Security Operations (Google SecOps) 集成。

集成版本:7.0

前提条件

在 Google SecOps 平台中配置集成之前,请完成以下前提步骤:

  1. 创建 Microsoft Entra 应用。

  2. 为应用配置 API 权限。

  3. 创建客户端密钥。

创建 Microsoft Entra 应用

  1. 以用户管理员或密码管理员身份登录 Azure 门户

  2. 选择 Microsoft Entra ID

  3. 依次前往应用注册 > 新注册

  4. 输入应用的名称。

  5. 点击注册

  6. 保存应用(客户端)ID目录(租户)ID 值,以便稍后在配置集成参数时使用。

配置 API 权限

  1. 依次前往 API 权限 > 添加权限

  2. 选择 Microsoft Graph

  3. 选择权限部分,选择以下权限:

    • IdentityRiskEvent.Read.All
    • IdentityRiskyUser.ReadWrite.All
  4. 点击添加权限

  5. 点击YOUR_ORGANIZATION_NAME 授予管理员同意书

    当系统显示授予管理员同意权限确认对话框时,点击

创建客户端密钥

  1. 依次前往证书和密钥 > 新客户端密钥

  2. 为客户端密钥提供说明并设置其失效期限。

  3. 点击 Add(添加)。

  4. 保存客户端密钥的值(而非密钥 ID),以便在配置集成时将其用作 Client Secret 参数值。客户端密钥值仅显示一次。

集成参数

使用以下参数配置集成:

参数显示名称 类型 默认值 是否为必需属性 说明
登录 API 根地址 字符串 https://login.microsoftonline.com 用于向 Microsoft Identity Platform 进行身份验证的 API 根。
API 根 字符串 https://graph.microsoft.com Microsoft Entra ID Protection 实例的 API 根。
租户 ID 字符串 不适用 Microsoft Entra ID Protection 账号的租户 ID。
客户端 ID 字符串 不适用 Microsoft Entra ID Protection 账号的客户端 ID。
客户端密钥 密码 不适用 Microsoft Entra ID Protection 账号的客户端密钥。
验证 SSL 复选框 勾选 如果启用,则验证与 Microsoft Entra ID Protection 服务器的连接的 SSL 证书是否有效。

如需了解如何在 Google SecOps 中配置集成,请参阅配置集成

如有需要,您可以在稍后阶段进行更改。配置集成实例后,您可以在剧本中使用该实例。如需详细了解如何配置和支持多个实例,请参阅支持多个实例

操作

如需详细了解操作,请参阅 在工作台页面中处理待处理的操作执行手动操作

Ping

测试与 Microsoft Entra ID Protection 的连接。

参数

不适用

运行于

该操作不会在实体上运行,也没有强制性输入参数。

操作执行结果

脚本结果
脚本结果名称 值选项 示例
is_success True/False is_success:False
案例墙
结果类型 值/说明 类型(实体\常规)
输出消息*

操作不应失败,也不应停止 playbook 执行

如果成功:“已使用提供的连接参数成功连接到 Azure AD Identity Protection 服务器!”

操作应失败并停止 playbook 执行

如果不成功:“Failed to connect to the Azure AD Identity Protection server! 错误为 {0}".format(exception.stacktrace)

常规

丰富实体

使用来自 Microsoft Entra ID Protection 的信息丰富实体。支持的实体:用户名、电子邮件地址(与电子邮件正则表达式模式匹配的用户实体)。

参数

参数显示名称 类型 默认值 是否为必需属性 说明
创建分析数据 复选框 勾选 如果启用,该操作会创建一个包含检索到的有关实体的所有信息的洞见。

运行于

此操作在“用户名”实体上运行。

操作执行结果

脚本结果
脚本结果名称 值选项 示例
is_success True/False is_success:False
JSON 结果
{
    "id": "2600d017-84a1-444f-94ba-4bebed30b09e",
    "isDeleted": false,
    "isProcessing": false,
    "riskLevel": "none",
    "riskState": "remediated",
    "riskDetail": "userPerformedSecuredPasswordChange",
    "riskLastUpdatedDateTime": "2021-09-02T14:10:48Z",
    "userDisplayName": "user_1",
    "userPrincipalName": "user_1@example.com"
}
实体扩充
扩充项字段名称 逻辑 - 应用场景
is_deleted 以 JSON 格式提供时
is_processing 以 JSON 格式提供时
risk_level 以 JSON 格式提供时
risk_state 以 JSON 格式提供时
risk_detail 以 JSON 格式提供时
risk_updated 以 JSON 格式提供时
display_name 以 JSON 格式提供时
principal_name 以 JSON 格式提供时
案例墙
结果类型 值/说明 类型(实体\常规)
输出消息*

操作不应失败,也不应停止 playbook 执行

如果某个实体有可用数据 (is_success=true):“已使用来自 Azure AD Identity Protection 的信息成功扩充以下实体:{entity.identifier}”。

如果某个实体没有数据 (is_success=true):“Action wasn't able to enrich the following entities using information from Azure AD Identity Protection: {entity.identifier}”(操作无法使用来自 Azure AD Identity Protection 的信息来丰富以下实体:{entity.identifier})。

如果并非所有实体都有数据 (is_success=false):“未扩充任何提供的实体。”

操作应失败并停止 playbook 执行

如果报告了致命错误(例如凭据错误、无法连接到服务器等):“Error executing action "Enrich Entities". 原因:{0}''.format(error.Stacktrace)

常规
“案例墙”表格

表格名称:{entity.identifier}

表格列

实体

更新用户状态

更新 Microsoft Entra ID 保护中的用户状态。支持的实体:用户名、电子邮件地址(与电子邮件正则表达式模式匹配的用户实体)。

参数

参数显示名称 类型 默认值 是否为必需属性 说明
DDL

已破解

可能的值:

  • 已破解
  • 已拒绝
指定用户的状态。

运行于

此操作在“用户名”实体上运行。

操作执行结果

脚本结果
脚本结果名称 值选项 示例
is_success True/False is_success:False
案例墙
结果类型 值/说明 类型(实体\常规)
输出消息*

操作不应失败,也不应停止 playbook 执行

如果报告了 204 状态代码(is_success=true):“已成功更新 Azure AD Identity Protection 中以下用户的状态:{实体标识符}”。

如果未找到某个用户 (is_success=true):“以下用户未在 Azure AD Identity Protection 中找到:”{entity.identifier}

如果未找到任何用户 (is_success=true): “在 Azure AD Identity Protection 中未找到任何提供的用户。”

操作应失败并停止 playbook 执行

如果报告了致命错误(例如凭据错误、无法连接到服务器、其他错误):“Error executing action "Update User State". 原因:{0}''.format(error.Stacktrace)'

常规

连接器

如需详细了解如何在 Google SecOps 中配置连接器,请参阅注入数据(连接器)

Azure AD 身份保护 - 风险检测连接器

从 Microsoft Entra ID Protection 中提取有关风险检测的信息。

动态列表过滤条件可与 riskEventType 参数搭配使用。

连接器参数

使用以下参数配置连接器:

参数显示名称 类型 默认值 是否为必需属性 说明
登录 API 根地址 字符串 https://login.microsoftonline.com 用于向 Microsoft Identity Platform 进行身份验证的 API 根。
API 根 字符串 https://graph.microsoft.com Microsoft Entra ID Protection 实例的 API 根。
商品字段名称 字符串 产品名称

存储商品名称的字段的名称。

商品名称主要会影响映射。为了简化和改进连接器的映射流程,默认值会解析为代码中引用的回退值。默认情况下,此参数的任何无效输入都会解析为回退值。

默认值为 Product Name

事件字段名称 字符串 riskEventType

用于确定事件名称(子类型)的字段的名称。

环境字段名称 字符串 ""

存储环境名称的字段的名称。

如果缺少环境字段,连接器将使用默认值。

Environment Regex Pattern 字符串 .*

要对 Environment Field Name 字段中的值运行的正则表达式模式。此参数可让您使用正则表达式逻辑来操纵环境字段。

使用默认值 .* 可检索所需的原始 Environment Field Name 值。

如果正则表达式模式为 null 或空,或者环境值为 null,则最终环境结果为默认环境。

PythonProcessTimeout 整数 180

运行当前脚本的 Python 进程的超时时间限制(以秒为单位)。

API 根 字符串 https://graph.microsoft.com Microsoft Entra ID Protection 实例的 API 根。
租户 ID 字符串 不适用 Microsoft Entra ID Protection 账号的租户 ID。
客户端 ID 字符串 不适用 Microsoft Entra ID Protection 账号的客户端 ID。
客户端密钥 密码 不适用 Microsoft Entra ID Protection 账号的客户端密钥。
要提取的最低风险等级 字符串 不适用

用于提取提醒的最低风险。

可能的值:LowMediumHigh

如果未指定值,连接器会注入所有风险级别的风险检测结果。

回溯的小时数上限 整数 1 应提取风险检测结果的小时数。
要提取的提醒数量上限 整数 100 每次连接器迭代要处理的提醒数量。
Use whitelist as a blacklist 复选框 尚未核查

如果选中此选项,连接器会将动态列表用作屏蔽列表。

验证 SSL 复选框 勾选 如果选择此选项,集成会在连接到 Microsoft Entra ID Protection 服务器时验证 SSL 证书。
代理服务器地址 字符串 不适用 要使用的代理服务器的地址。
代理用户名 字符串 不适用 用于进行身份验证的代理用户名。
代理密码 密码 不适用 用于进行身份验证的代理密码。

连接器规则

连接器支持代理。

需要更多帮助?从社区成员和 Google SecOps 专业人士那里获得解答。