azureblog.co.uk
← cd ~/compare
// compare · graph permissions

AuditLog.Read.All vs Directory.Read.All

Two Microsoft Graph permissions that are easy to mix up, side by side.

In short: Pick the one that grants the least access and still covers what your app does. Compare the descriptions above, and check whether a delegated permission would do: it can never do more than the signed-in user.

AuditLog.Read.AllDirectory.Read.All
ApplicationRead all audit log data
Allows the app to read and query your audit log activities, without a signed-in user.
Always needs admin consent · Medium risk
Read directory data
Allows the app to read data in your organization's directory, such as users, groups and apps, without a signed-in user.
Always needs admin consent · Medium risk
DelegatedRead audit log data
Allows the app to read and query your audit log activities, on behalf of the signed-in user.
Needs admin consent · Low risk
Read directory data
Allows the app to read data in your organization's directory, such as users, groups and apps.
Needs admin consent · Low risk