收集 Microsoft Entra ID 组织情境数据(以前称为 Azure Active Directory)日志
解析器版本:12.0
本文档介绍了如何使用第三方 API 设置 Google Security Operations Feed,以收集 Microsoft Entra ID(以前称为 Azure Active Directory)组织情境数据。
Microsoft Entra ID 组织上下文提供来自 Microsoft Entra ID 租户的目录信息,例如用户、群组和设备。这不是事件或日志数据,而是目录状态的定期快照,可为 Google SecOps 中的其他日志类型提供身份背景信息。
准备工作
请确保满足以下前提条件:
- Google SecOps 实例
- 对 Microsoft Azure 门户的特权访问权限
- 拥有以下任一角色即可授予管理员同意权限:
- 全局管理员 - 可以针对任何 API 授予任何权限的同意
- 特权角色管理员 - 可以针对任何 API 授予任何权限的同意
配置 IP 许可名单
在创建 Feed 之前,您应先在 Microsoft Azure 投放网络设置或条件访问政策中添加 Google SecOps IP 范围。如果数据源强制执行基于 IP 的限制,这一点就非常重要。如果 Feed 返回 403 错误,请验证是否已启用许可清单。如需按更窄的范围限制访问权限,请开立支持服务工单。
如需了解详情,请参阅 IP 许可清单。
获取 Google SecOps IP 范围
- 前往 SIEM 设置 > Feed。
- 点击添加新 Feed。
- 请注意 Feed 创建界面中显示的 IP 范围。
- 或者,您也可以使用 Feed Management API 以编程方式检索 IP 范围。
为 Workload Identity 配置条件访问权限(如果需要)
如果贵组织使用按位置限制访问权限的条件访问政策,请执行以下操作:
- 在 Microsoft Entra 管理中心内,依次前往保护 > 条件访问 > 命名位置。
- 点击 + 新地点。
- 提供以下配置详细信息:
- 名称:输入
Google SecOps IP Ranges。 - 标记为可信位置:可选,具体取决于您的安全政策。
- IP 范围:以 CIDR 表示法添加每个 Google SecOps IP 范围。
- 名称:输入
- 点击创建。
- 依次前往 Conditional Access(条件访问)> Policies(政策)。
- 对于适用于工作负载身份的任何政策,请为
Google SecOps IP Ranges命名位置或特定服务主体配置排除对象。
配置 Microsoft Entra 应用注册
创建应用注册
- 登录 Microsoft Entra 管理中心或 Azure 门户。
- 依次前往身份 > 应用 > 应用注册。
- 点击 New registration(新注册)。
- 提供以下配置详细信息:
- 名称:输入一个描述性名称(例如
Google SecOps Entra ID Context Integration)。 - 支持的账号类型:选择仅此组织目录中的账号(单租户)。
- 重定向 URI:留空(服务主体身份验证不需要此字段)。
- 名称:输入一个描述性名称(例如
- 点击注册。
- 注册后,复制并保存以下值:
- 应用(客户端)ID
- 目录(租户)ID
配置 API 权限
该 Feed 通过 Microsoft Graph List users 端点读取用户目录,并展开每位用户的经理。授予与您启用的 Feed 选项相匹配的应用权限。
- 在应用注册中,前往 API 权限。
- 点击添加权限。
- 依次选择 Microsoft Graph > 应用权限。
- 搜索并选择以下权限:
- User.Read.All - 必需。读取 Feed 提取的用户个人资料和经理关系。
- Group.Read.All - 仅当您在 Feed 中将检索群组设置为 True 时。读取为每个用户的会员资格返回的群组。
- Device.Read.All - 仅当您在 Feed 中将检索设备设置为 True 时。读取与每个用户关联的设备。
- 点击添加权限。
- 点击为您的组织授予管理员同意书。
验证状态列是否针对所有权限显示已向您的组织授予。
权限 类型 需要时 User.Read.All 应用 始终 Group.Read.All 应用 检索群组为 True Device.Read.All 应用 检索设备为 True
创建客户端密钥
- 在应用注册中,前往证书和密钥。
- 点击 New client secret(新建客户端密钥)。
提供以下配置详细信息:
- 说明:输入描述性名称(例如
Google SecOps Feed)。 - 失效:选择失效期限。
- 说明:输入描述性名称(例如
点击 Add(添加)。
立即复制客户端密钥值。
在 Google SecOps 中配置 Feed 以注入 Microsoft Entra ID 组织情境数据
如需配置 Feed,请执行以下操作:
- 前往 SIEM 设置 > Feed。
- 点击添加新 Feed。
- 在下一页上,点击配置单个 Feed。
- 在 Feed 名称字段中,输入 Feed 的名称(例如
Azure AD Organizational Context)。 - 选择第三方 API 作为来源类型。
- 选择 Azure AD Organizational Context 作为日志类型。
- 点击下一步。
为以下输入参数指定值,如下所示:
- OAuth 客户端 ID:输入应用注册中的应用(客户端)ID。
- OAuth 客户端密钥:输入您之前复制的客户端密钥值。
- 租户 ID:以 UUID 格式输入应用注册中的目录(租户)ID(例如
0fc279f9-fe30-41be-97d3-abe1d7681418)。 - 检索设备:选择是否在用户上下文中检索设备信息。设置为 True 可包含设备数据。
- 检索群组:选择是否在用户上下文中检索群组成员资格信息。设置为 True 以包含群组数据。
API 完整路径:Microsoft Graph REST API 端点网址:
graph.microsoft.com/beta
API 身份验证端点:Microsoft Entra ID 身份验证端点:
login.microsoftonline.com
高级选项:
- 资产命名空间:资产命名空间。
- 注入标签:要应用于此 Feed 中事件的标签。
点击下一步。
在最终确定界面中查看新的新闻信息流配置,然后点击提交。
区域端点
对于主权云中的 Microsoft Entra ID 部署,请使用相应的区域端点:
| 云环境 | API 完整路径 | API 身份验证端点 |
|---|---|---|
| 全球 | graph.microsoft.com/beta |
login.microsoftonline.com |
| 美国政府 L4 | graph.microsoft.us/beta |
login.microsoftonline.us |
| 美国政府 L5 (DOD) | dod-graph.microsoft.us/beta |
login.microsoftonline.us |
| 中国(世纪互联) | microsoftgraph.chinacloudapi.cn/beta |
login.chinacloudapi.cn |
UDM 映射表
| 日志字段 | UDM 映射 | 逻辑 |
|---|---|---|
extension_wfc_AccountType |
entity.labels.value |
直接映射 |
extension_wfc_AccountingUnitName |
entity.labels.value |
直接映射 |
extension_wfc_execDescription |
entity.labels.value |
直接映射 |
extension_wfc_groupDescription |
entity.labels.value |
直接映射 |
extension_wfc_orgDescription |
entity.labels.value |
直接映射 |
createdDateTime |
entity.user.attribute.creation_time |
已解析为 RFC3339 |
sign_in_type |
entity.user.attribute.labels.key |
直接映射 |
assignedLicense.skuId |
entity.user.attribute.labels.value |
直接映射 |
employeeType |
entity.user.attribute.labels.value |
直接映射 |
empmanager-src.usageLocation |
entity.user.attribute.labels.value |
直接映射 |
externalUserState |
entity.user.attribute.labels.value |
直接映射 |
gopher-manager.onPremisesImmutableId |
entity.user.attribute.labels.value |
直接映射 |
mailNickname |
entity.user.attribute.labels.value |
直接映射 |
onPremisesDistinguishedName |
entity.user.attribute.labels.value |
直接映射 |
onPremisesDomainName |
entity.user.attribute.labels.value |
直接映射 |
onPremisesExtensionAttributes.extensionAttribute4 |
entity.user.attribute.labels.value |
直接映射 |
onPremisesImmutableId |
entity.user.attribute.labels.value |
直接映射 |
onPremisesSamAccountName |
entity.user.attribute.labels.value |
直接映射 |
refreshTokensValidFromDateTime |
entity.user.attribute.labels.value |
直接映射 |
token_date_time |
entity.user.attribute.labels.value |
直接映射 |
userPrincipalName |
entity.user.attribute.labels.value |
直接映射 |
user_ou_data |
entity.user.attribute.labels.value |
直接映射 |
userType |
entity.user.attribute.roles.name |
直接映射 |
user_ou_data |
entity.user.attribute.roles.type |
已映射:Admin → ADMINISTRATOR,Service Accounts → SERVICE_ACCOUNT |
department |
entity.user.department |
已合并 |
mail |
entity.user.email_addresses |
已合并 |
proxyAddress |
entity.user.email_addresses |
已映射:smtp/SMTP → proxyAddress |
userPrincipalName |
entity.user.email_addresses |
已合并 |
employeeId |
entity.user.employee_id |
已重命名/已映射 |
extension_employeeNumber |
entity.user.employee_id |
已重命名/已映射 |
onPremisesDomainName |
entity.user.group_identifiers |
已合并 |
proxyAddress |
entity.user.group_identifiers |
已合并 |
sign_in_type_manager |
entity.user.managers.attribute.labels.key |
直接映射 |
temp |
entity.user.managers.attribute.labels.key |
已映射:true → manager accountEnabled |
empmanager-src.sbuxCompanyCode |
entity.user.managers.attribute.labels.value |
直接映射 |
empmanager-src.sbuxCostCenter |
entity.user.managers.attribute.labels.value |
直接映射 |
empmanager-src.sbuxDirectorySync |
entity.user.managers.attribute.labels.value |
直接映射 |
empmanager-src.sbuxEmployeeStatus |
entity.user.managers.attribute.labels.value |
直接映射 |
empmanager-src.sbuxEmployeeType |
entity.user.managers.attribute.labels.value |
直接映射 |
empmanager-src.sbuxFullName |
entity.user.managers.attribute.labels.value |
直接映射 |
empmanager-src.sbuxFullNameAKA |
entity.user.managers.attribute.labels.value |
直接映射 |
empmanager-src.sbuxFullNameAKAAlt |
entity.user.managers.attribute.labels.value |
直接映射 |
empmanager-src.sbuxFullNameAlt |
entity.user.managers.attribute.labels.value |
直接映射 |
empmanager-src.sbuxGivenNameAlt |
entity.user.managers.attribute.labels.value |
直接映射 |
empmanager-src.sbuxGlobalID |
entity.user.managers.attribute.labels.value |
直接映射 |
empmanager-src.sbuxJobNumber |
entity.user.managers.attribute.labels.value |
直接映射 |
empmanager-src.sbuxKnownAs |
entity.user.managers.attribute.labels.value |
直接映射 |
empmanager-src.sbuxKnownAsAlt |
entity.user.managers.attribute.labels.value |
直接映射 |
empmanager-src.sbuxLocalMarket |
entity.user.managers.attribute.labels.value |
直接映射 |
empmanager-src.sbuxLocalMarketEmployeeID |
entity.user.managers.attribute.labels.value |
直接映射 |
empmanager-src.sbuxManagerImmutableID |
entity.user.managers.attribute.labels.value |
直接映射 |
empmanager-src.sbuxManagerNumber |
entity.user.managers.attribute.labels.value |
直接映射 |
empmanager-src.sbuxOnTLA |
entity.user.managers.attribute.labels.value |
直接映射 |
empmanager-src.sbuxOrgAreaID |
entity.user.managers.attribute.labels.value |
直接映射 |
empmanager-src.sbuxOrgDistrictID |
entity.user.managers.attribute.labels.value |
直接映射 |
empmanager-src.sbuxOrgDivisionID |
entity.user.managers.attribute.labels.value |
直接映射 |
empmanager-src.sbuxOrgRegionID |
entity.user.managers.attribute.labels.value |
直接映射 |
empmanager-src.sbuxOrgShortName |
entity.user.managers.attribute.labels.value |
直接映射 |
empmanager-src.sbuxOrgStoreID |
entity.user.managers.attribute.labels.value |
直接映射 |
empmanager-src.sbuxOrgType |
entity.user.managers.attribute.labels.value |
直接映射 |
empmanager-src.sbuxOrgUnit |
entity.user.managers.attribute.labels.value |
直接映射 |
empmanager-src.sbuxSnAlt |
entity.user.managers.attribute.labels.value |
直接映射 |
empmanager-src.sbuxSourceSystem |
entity.user.managers.attribute.labels.value |
直接映射 |
empmanager-src.userPrincipalName |
entity.user.managers.attribute.labels.value |
直接映射 |
manager_ou_data |
entity.user.managers.attribute.labels.value |
直接映射 |
temp |
entity.user.managers.attribute.labels.value |
直接映射 |
manager_user_type |
entity.user.managers.attribute.roles.name |
直接映射 |
manager_ou_data |
entity.user.managers.attribute.roles.type |
已映射:Users → ADMINISTRATOR,Service Accounts → SERVICE_ACCOUNT |
empmanager-src.companyName |
entity.user.managers.company_name |
已重命名/已映射 |
empmanager-src.department |
entity.user.managers.department |
已合并 |
empProxyAddress |
entity.user.managers.email_addresses |
已映射:smtp/SMTP → empProxyAddress |
empmanager-src.mail |
entity.user.managers.email_addresses |
已合并 |
principal_name |
entity.user.managers.email_addresses |
已合并 |
empmanager-src.employeeId |
entity.user.managers.employee_id |
已重命名/已映射 |
empmanager-src.extension_employeeNumber |
entity.user.managers.employee_id |
已重命名/已映射 |
empmanager-src.givenName |
entity.user.managers.first_name |
已重命名/已映射 |
empProxyAddress |
entity.user.managers.group_identifiers |
已合并 |
empmanager-src.surname |
entity.user.managers.last_name |
已重命名/已映射 |
empmanager-src.city |
entity.user.managers.personal_address.city |
已重命名/已映射 |
country_n_code |
entity.user.managers.personal_address.country_or_region |
直接映射 |
empmanager-src.streetAddress |
entity.user.managers.personal_address.name |
已重命名/已映射 |
empmanager-src.state |
entity.user.managers.personal_address.state |
已重命名/已映射 |
empmanager-src.businessPhones.0 |
entity.user.managers.phone_numbers |
已合并 |
empmanager-src.id |
entity.user.managers.product_object_id |
已重命名/已映射 |
empmanager-src.jobTitle |
entity.user.managers.title |
已重命名/已映射 |
empmanager-src.displayName |
entity.user.managers.user_display_name |
已重命名/已映射 |
empmanager-src.sAMAccountName |
entity.user.managers.userid |
已重命名/已映射 |
empmanager-src.onPremisesSecurityIdentifier |
entity.user.managers.windows_sid |
已重命名/已映射 |
country |
entity.user.personal_address.country_or_region |
直接映射 |
usageLocation |
entity.user.personal_address.country_or_region |
直接映射 |
phoneNumber |
entity.user.phone_numbers |
已合并 |
onPremisesSamAccountName |
entity.user.userid |
已重命名/已映射 |
sAMAccountName |
entity.user.userid |
已重命名/映射 |
gopher-device-item.createdDateTime |
metadata.event_timestamp |
解析为 RFC3339 |
| 不适用 | entity.labels.key |
常量:wfc_AccountType |
| 不适用 | entity.user.attribute.labels.key |
常量:gopher-manager onPremisesImmutableId |
| 不适用 | entity.user.attribute.roles.type |
常量:SERVICE_ACCOUNT |
| 不适用 | entity.user.managers.attribute.labels.key |
常量:manager accountEnabled |
| 不适用 | entity.user.managers.attribute.roles.type |
常量:SERVICE_ACCOUNT |
| 不适用 | entity.user.user_authentication_status |
常量:ACTIVE |
| 不适用 | metadata.entity_type |
常量:USER |
| 不适用 | metadata.event_metadata.log_type |
常量:AZURE_AD_CONTEXT |
| 不适用 | metadata.product_name |
常量:Azure Active Directory |
| 不适用 | metadata.vendor_name |
常量:Microsoft |
更新日志
需要更多帮助?获得社区成员和 Google SecOps 专业人士的解答。