Microsoft Entra 审核日志捕获对应用程序、组、用户和其他目录资源的更改。 为了帮助你了解为何在租户中创建Microsoft Entra 服务主体以及谁或触发了该事件的原因,新属性将添加到 ApplicationManagement 类别下的“添加服务主体”活动。 本文介绍审核日志中发生的变化、如何查找新数据以及如何解释不同的属性值。
这些审核日志改进可以执行的作
- 快速确定新创建的服务主体是由Microsoft、购买的订阅还是直接用户或应用作预配的。
- 查看租户中的哪些Microsoft 365 或其他 SKU 使Microsoft服务主体有资格进行实时预配。
- 区分不同的预配机制,例如基于商业的实时(JIT)预配、默认资格、管理器应用程序、Azure 资源提供程序和托管标识。
- 在调查创建服务主体的原因时,减少对其他Microsoft Graph 调用和自定义数据管道的依赖关系。
先决条件
若要在 Microsoft Entra 审核日志中查看和使用这些属性,需要:
- 访问 Microsoft Entra 管理中心。
- 以下角色之一(或具有等效权限的角色): 安全管理员、 安全读取者或 报表读取者。
- 为租户启用审核日志记录。 有关详细信息,请参阅 Microsoft Entra 审核日志概述。
注释
Yuo 还可以使用 Microsoft Graph API 或 Log Analytics AuditLogs 表查看这些新日志。
新属性显示在审核日志中的位置
为Microsoft Entra 审核日志中显示的服务主体创建事件发出新的属性,具有以下特征:
- 服务: 核心目录
- 类别: ApplicationManagement
- 活动(activityDisplayName): 添加服务主体
在 Microsoft Entra 管理中心,可以在 “监视”和“运行状况>审核”日志下找到这些事件。 选择 “添加服务主体 ”事件时,如果导出或查询日志,新属性会显示在 “其他详细信息 ”部分和相应的 JSON 中。
用于创建服务主体的新审核日志属性
以下新属性可帮助你了解服务主体创建事件:
- ServicePrincipalProvisioningType - 描述如何以及为何服务主体有资格创建,以及使用什么预配机制。
- SubscribedSkus - 列出租户订阅和服务计划,这些计划使Microsoft服务主体有资格进行基于商业的实时预配。
- AppOwnerOrganizationId - 标识拥有服务主体的应用注册的主租户。
ServicePrincipalProvisioningType
ServicePrincipalProvisioningType 是一个枚举值,指示用于添加服务主体事件的预配路径。 换句话说,它回答了以下问题:“为什么创建了此服务主体,以及哪个系统或执行组件启动了它?此字段记录Microsoft第一方和第三方应用。
| 价值 | 含义 |
|---|---|
defaultMicrosoft |
服务主体是通过Microsoft作为默认资格或系统管理的过程的一部分创建的。 这包括Microsoft第一方应用的默认实时(JIT)预配或其他托管预配。 |
subscription |
已创建服务主体,因为租户具有符合条件的订阅(SKU)或包含的服务计划。 这是针对Microsoft第一方应用的基于商业的 JIT 预配。 使用 SubscribedSkus 字段查看哪些 SKU 或服务计划符合条件。 |
managerApplications |
具有管理其他服务主体的权限的Microsoft托管的“管理器”应用程序创建了此服务主体。 管理器应用标识在现有审核日志字段中可用,例如 initiatedBy.app。 |
AzureResourceProvider |
Azure 资源提供程序在载入 Azure 服务时创建了服务主体(例如 Azure 数据资源管理器)。 这通常表示基础结构驱动的预配。 |
ManagedServiceIdentity |
服务主体表示托管标识(系统分配或用户分配)。 为 Azure 资源创建托管标识时,将显示此值。 |
Other |
保留用于不属于上述类别的预配机制,包括委派流和仅限应用的流。 委托: 用户作或代表用户代理委托权限的应用直接触发了服务主体创建(例如,通过 Microsoft Graph 或预配应用的门户 UX 调用 POST /servicePrincipals)。 AppOnly: 使用仅应用权限的应用程序直接调用到 Microsoft Graph 或目录来创建服务主体(例如自动化或自定义预配服务)。 |
注释
可以使用其他审核日志事件属性来区分这些流。
可用于 ServicePrincipalProvisioningType 将Microsoft驱动预配(例如, defaultMicrosoft、 subscription、 AzureResourceProvider、 managerApplications)与租户驱动的预配(例如,其他)分开。 将Microsoft驱动的预配与租户驱动的预配分离有助于快速确定新服务主体是由Microsoft平台过程还是来自租户中的管理员、用户或自定义应用。 有关在租户中为新服务主体创建检测的详细信息,请参阅 审核日志属性中的服务主体详细信息 。
SubscribedSkus
SubscribedSkus 是一个 JSON 数组,它将创建的 ServicePrincipalProvisioningType = subscription Microsoft服务主体链接到租户中的订阅和服务计划,使其有资格进行基于商业的实时预配。
由于单个服务主体可以与多个服务计划相关联,并且每个服务计划可以属于多个 SKU,SubscribedSkus 提供了租户中可能导致预配资格的 SKU 和计划的简明列表。 这是调查的起点。
| Key | 表示内容 |
|---|---|
SkuId |
租户中订阅(SKU)的 GUID。 可以将此 ID 与 Microsoft Graph /subscribedSkus 一起使用,以检索完整详细信息。 |
SkuName 或 SkuPartNumber |
SKU 的可读名称或部件号,例如 Microsoft 365 E5 或 SPE_E5。 |
ServicePlanId |
SKU 中的服务计划的 GUID,例如特定的 SharePoint 或电子签名计划。 |
ServicePlanName |
服务计划的内部名称(例如 SHAREPOINTENTERPRISE)。 |
ServicePlanServiceType |
计划所属的Microsoft服务(例如)。 SharePoint |
Association |
描述计划与服务主体的关系,例如 include ,对于包含在较大计划中的应用。 |
例如,如果 SubscribedSkus 显示一 SHAREPOINTENTERPRISE 个名为关联 SPE_E5 SKU 的服务计划,则可以推断租户中的 Microsoft 365 E5 订阅使此Microsoft服务主体有资格进行预配。 然后,可以使用 Microsoft Graph 查询 /subscribedSkus 资源,并确认哪些订阅和服务计划处于活动状态。
AppOwnerOrganizationId
AppOwnerOrganizationId 记录拥有服务主体的应用程序的主租户 ID。 此值以键/值对的形式写入“其他详细信息”部分,例如 "AppOwnerOrganizationId" : "<tenantId>"。
可以使用此值来区分:
- 在自己的租户中注册的应用 - 该值与租户 ID 匹配。
- Microsoft拥有的应用 — 值与Microsoft服务租户 ID(f8cdef31-a31e-4b4a-93e4-5f571e91255a)匹配)。
- 其他外部或合作伙伴应用 - 该值与不同的外部租户匹配。
这减少了单独调用 Microsoft Graph 以检索 appOwnerOrganizationId 每个新的服务主体创建事件的需求。