Audit Logs / Microsoft Entra ID AuditLogs category
Audit Logs: PendingExternalUserProfile
| OperationName | Description | Sample | Rule |
|---|---|---|---|
| Create Pending | Creation of a pending external user profile pre-staging an external user's attributes (can surface in Teams search) before they consent. | N | N |
| Delete Pending | Deletion of a pending (pre-provisioned, not-yet-redeemed) external B2B user profile object. | N | N |
| Hard Delete Pending | Permanent deletion of a pending external user profile (external user not yet consented). | N | N |
Create PendingExternalUserProfile
#Description
Records the creation of a pending external user profile, a directory placeholder that pre-stages an external user's profile attributes (display name, company name, job title, department, phone number) in the tenant before that external user has consented to share their data. These profiles can surface in Microsoft Teams search, supporting external-collaboration scenarios, so pre-provisioning external identities is worth tracking for unexpected external-access staging.
References #
Delete PendingExternalUserProfile
#Description
Records the deletion of a pending external user profile, the pre-provisioned placeholder object created in the directory for an external (B2B) identity that has not yet redeemed an invitation or been added as a full guest. Removal of a pre-staged external identity may precede or accompany changes to external collaboration access.
References #
Hard Delete PendingExternalUserProfile
#Description
Records the permanent (hard) deletion of a pendingExternalUserProfile object, which represents an external user in the Microsoft Entra tenant who has not yet consented to share their data with the tenant. The resource is defined only on the Microsoft Graph beta endpoint.
References #
Rules often query computed field names, not native AuditLogs columns #
Many Entra detection rules pivot on field names that are not columns in this table but KQL projections the rule author computes from two dynamic columns. Searching the field list for those names finds nothing; use the canonical paths instead.
InitiatingUserPrincipalName(and siblingInitiating*names) is not a column. Rules project it fromInitiatedBy, for exampleextend InitiatingUserPrincipalName = tostring(InitiatedBy.user.userPrincipalName). The native paths areInitiatedBy.user.userPrincipalName,InitiatedBy.user.displayName, andInitiatedBy.user.idfor user actors, andInitiatedBy.app.displayName/InitiatedBy.app.appIdfor application or service-principal actors.- What changed lives in
TargetResources, adynamicarray. Expand it before filtering on the change:AuditLogs | mv-expand TargetResources | extend props = TargetResources.modifiedProperties, then readprops[].displayName,props[].oldValue, andprops[].newValue.
Column shapes per the AuditLogs table reference and the Graph directoryAudit resource.