将 Microsoft Entra ID Protection 与 Google SecOps 集成
本文档介绍了如何将 Azure AD Identity Protection 与 Google Security Operations (Google SecOps) 集成。
集成版本:7.0
前提条件
在 Google SecOps 平台中配置集成之前,请完成以下前提步骤:
创建 Microsoft Entra 应用。
为应用配置 API 权限。
创建客户端密钥。
创建 Microsoft Entra 应用
以用户管理员或密码管理员身份登录 Azure 门户。
选择 Microsoft Entra ID。
依次前往应用注册 > 新注册。
输入应用的名称。
点击注册。
保存应用(客户端)ID 和目录(租户)ID 值,以便稍后在配置集成参数时使用。
配置 API 权限
依次前往 API 权限 > 添加权限。
选择 Microsoft Graph。
在选择权限部分,选择以下权限:
IdentityRiskEvent.Read.All
IdentityRiskyUser.ReadWrite.All
点击添加权限。
点击为
YOUR_ORGANIZATION_NAME
授予管理员同意书。当系统显示授予管理员同意权限确认对话框时,点击是。
创建客户端密钥
依次前往证书和密钥 > 新客户端密钥。
为客户端密钥提供说明并设置其失效期限。
点击 Add(添加)。
保存客户端密钥的值(而非密钥 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 根。 |
商品字段名称 | 字符串 | 产品名称 | 是 |
存储商品名称的字段的名称。 商品名称主要会影响映射。为了简化和改进连接器的映射流程,默认值会解析为代码中引用的回退值。默认情况下,此参数的任何无效输入都会解析为回退值。 默认值为 |
事件字段名称 | 字符串 | riskEventType | 是 | 用于确定事件名称(子类型)的字段的名称。 |
环境字段名称 | 字符串 | "" | 否 | 存储环境名称的字段的名称。 如果缺少环境字段,连接器将使用默认值。 |
Environment Regex Pattern |
字符串 | .* | 否 |
要对 使用默认值 如果正则表达式模式为 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 账号的客户端密钥。 |
要提取的最低风险等级 | 字符串 | 不适用 | 否 | 用于提取提醒的最低风险。 可能的值: 如果未指定值,连接器会注入所有风险级别的风险检测结果。 |
回溯的小时数上限 | 整数 | 1 | 否 | 应提取风险检测结果的小时数。 |
要提取的提醒数量上限 | 整数 | 100 | 否 | 每次连接器迭代要处理的提醒数量。 |
Use whitelist as a blacklist |
复选框 | 尚未核查 | 是 | 如果选中此选项,连接器会将动态列表用作屏蔽列表。 |
验证 SSL | 复选框 | 勾选 | 是 | 如果选择此选项,集成会在连接到 Microsoft Entra ID Protection 服务器时验证 SSL 证书。 |
代理服务器地址 | 字符串 | 不适用 | 否 | 要使用的代理服务器的地址。 |
代理用户名 | 字符串 | 不适用 | 否 | 用于进行身份验证的代理用户名。 |
代理密码 | 密码 | 不适用 | 否 | 用于进行身份验证的代理密码。 |
连接器规则
连接器支持代理。
需要更多帮助?从社区成员和 Google SecOps 专业人士那里获得解答。