Audit Logs / Microsoft Entra ID AuditLogs category
Audit Logs: PermissionGrantPolicy
| OperationName | Description | Sample | Rule |
|---|---|---|---|
| Add permission grant policy | A permission grant policy defining app-consent conditions was created. | Y | N |
| Delete permission grant policy | Deletion of an app consent (permission grant) policy governing when apps/users may be granted delegated permissions. | Y | N |
| Update permission grant policy | An app consent (permission grant) policy governing permission grants to apps was modified. | N | N |
Add permission grant policy
#Description
Records the creation of a permission grant policy, which defines the include and exclude condition sets under which application consent (delegated permission grants) may be granted. Overly permissive custom permission grant policies can broaden user consent and enable illicit consent-grant attacks.
Example Audit Log Entry #
{
"AADOperationType": "Add",
"AADTenantId": "11111111-1111-1111-1111-111111111111",
"ActivityDateTime": "2026-07-24T03:20:53.8160997Z",
"ActivityDisplayName": "Add permission grant policy",
"AdditionalDetails": [
{
"key": "User-Agent",
"value": "python/3.14.5 (Linux-6.1.0-51-amd64-x86_64-with-glibc2.36) AZURECLI/2.88.0 (DEB)"
}
],
"Category": "PermissionGrantPolicy",
"CorrelationId": "8dbf64e0-1cbc-40d6-a0e6-e4cc23e33ddc",
"DurationMs": "0",
"Id": "Directory_8dbf64e0-1cbc-40d6-a0e6-e4cc23e33ddc_M38SZ_10472378",
"InitiatedBy": {
"user": {
"id": "aaaaaaaa-0000-0000-0000-000000000001",
"displayName": null,
"userPrincipalName": "adminuser@example.onmicrosoft.com",
"ipAddress": "203.0.113.10",
"roles": [],
"agentType": "notAgentic"
}
},
"LoggedByService": "Core Directory",
"OperationName": "Add permission grant policy",
"OperationVersion": "1.0",
"Resource": "Microsoft.aadiam",
"ResourceGroup": "Microsoft.aadiam",
"ResourceId": "/tenants/11111111-1111-1111-1111-111111111111/providers/Microsoft.aadiam",
"Result": "success",
"ResultSignature": "None",
"TargetResources": [
{
"id": "82aca392-bf62-49e7-a864-e071ba0e544d",
"displayName": null,
"type": "Other",
"modifiedProperties": [
{
"displayName": "PermissionGrantPolicy",
"oldValue": null,
"newValue": {
"EncodingVersion": 2,
"Id": "dwharn-pgp-cf516524",
"Includes": [],
"Excludes": [],
"DisplayName": "dw-harness-pgp-cf516524",
"Description": "harness",
"IncludeAllPreApprovedApplications": false,
"ConsentResourceScopeType": "tenant"
}
}
],
"administrativeUnits": [],
"agentType": "notAgentic"
}
]
}
References #
Delete permission grant policy
#Description
Records the deletion of a permission grant policy (app consent policy), which defines the conditions under which applications may be granted delegated permissions or users may consent to apps. Deleting or weakening these policies can broaden the scope for illicit application consent.
Example Audit Log Entry #
{
"AADOperationType": "Delete",
"AADTenantId": "11111111-1111-1111-1111-111111111111",
"ActivityDateTime": "2026-07-24T03:20:54.9877418Z",
"ActivityDisplayName": "Delete permission grant policy",
"AdditionalDetails": [
{
"key": "User-Agent",
"value": "python/3.14.5 (Linux-6.1.0-51-amd64-x86_64-with-glibc2.36) AZURECLI/2.88.0 (DEB)"
}
],
"Category": "PermissionGrantPolicy",
"CorrelationId": "e08342ba-f0b1-443f-89b0-db0a02627e81",
"DurationMs": "0",
"Id": "Directory_e08342ba-f0b1-443f-89b0-db0a02627e81_MW2BI_10465729",
"InitiatedBy": {
"user": {
"id": "aaaaaaaa-0000-0000-0000-000000000001",
"displayName": null,
"userPrincipalName": "adminuser@example.onmicrosoft.com",
"ipAddress": "203.0.113.10",
"roles": [],
"agentType": "notAgentic"
}
},
"LoggedByService": "Core Directory",
"OperationName": "Delete permission grant policy",
"OperationVersion": "1.0",
"Resource": "Microsoft.aadiam",
"ResourceGroup": "Microsoft.aadiam",
"ResourceId": "/tenants/11111111-1111-1111-1111-111111111111/providers/Microsoft.aadiam",
"Result": "success",
"ResultSignature": "None",
"TargetResources": [
{
"id": "82aca392-bf62-49e7-a864-e071ba0e544d",
"displayName": null,
"type": "Other",
"modifiedProperties": [
{
"displayName": "PermissionGrantPolicy",
"oldValue": {
"EncodingVersion": 2,
"Id": "dwharn-pgp-cf516524",
"Includes": [],
"Excludes": [],
"DisplayName": "dw-harness-pgp-cf516524",
"Description": "harness",
"IncludeAllPreApprovedApplications": false,
"ConsentResourceScopeType": "tenant"
},
"newValue": null
}
],
"administrativeUnits": [],
"agentType": "notAgentic"
}
]
}
References #
Computed Fields in AuditLogs #
Some rules create fields that are not native AuditLogs columns. Use these source paths when searching the schema.
Initiating*values come fromInitiatedBy:InitiatedBy.user.userPrincipalName,InitiatedBy.user.displayName, orInitiatedBy.user.id; application actors useInitiatedBy.app.displayNameorInitiatedBy.app.appId.- Change details come from
TargetResources[].modifiedProperties. ExpandTargetResourcesbefore usingdisplayName,oldValue, ornewValue.
Sources: the AuditLogs table reference and Graph directoryAudit resource.