MediumModule packFree

Least Privileged MSGraph

Checks that service principals hold only the Microsoft Graph permissions their real API activity needs, using Microsoft Graph activity logs in Log Analytics.

Version
1.0.0
Tests
5
Connectors
0
Published
25 Oct 2026

Mynster9361 · mynster9361.least-privileged-msgraph · 0 stars · Open source · MIT

PowerShell
Install-MtPack Mynster9361/maester-pack-lpms

Install only packs from sources you trust. This pack is made by Mynster9361, not by Maester. The site only indexes and scans it: Install-MtPack downloads it straight from github.com/Mynster9361/maester-pack-lpms.

maester-packs.lock.json entry
{  "Id": "mynster9361.least-privileged-msgraph",  "Source": "Mynster9361/maester-pack-lpms",  "Version": "1.0.0",  "Commit": "6868b8a6e047c88c80b24c3d1d3c40809a402d31",  "Digest": "sha256:aec769ec4373f32d3ab1bac69ba47d228a4f9192788af1d8c087b006af852a36"}

← All tests

MP.LPMS.1002 All Microsoft Graph activity of service principals matches a known endpoint

Severity: LowAzure

Checks that all Graph API activity recorded for each service principal could be matched to a known Microsoft Graph endpoint for least-privilege permission analysis.

When a service principal makes a Graph API call that cannot be matched to a known endpoint pattern, the LeastPrivilegedMSGraph permission analysis is incomplete for that application. The tool cannot determine the minimum required permission for the unmatched call, which means:

  • Its ExcessPermissions result may be understated — some permissions reported as excess might actually be required.
  • Its OptimalPermissions result may be missing entries for the unmatched endpoints.
  • Permission reduction recommendations for that application should not be applied without manual review.

Unmatched activities most commonly occur because:

  1. The application is using an undocumented or deprecated endpoint.
  2. The endpoint pattern involves an unusual path that the tokeniser did not normalise correctly.
  3. The official documentation for the MSGraph api endpoints and least privileged permissions has not yet been updated.

Remediation action

For each application listed below:

  1. Review the unmatched endpoint(s) shown in the results table.
  2. Check whether the endpoint corresponds to a known Graph API operation in the Microsoft Graph API reference.
  3. If the endpoint is a beta API, consider creating an issue for the mapping to the microsoft-graph-devx-content repo.(Specifically using the permissions.json document here /permissions/new/permissions.json)
  4. Until the endpoint is mapped, do not remove any permissions from this application without a manual permissions audit.

Related links

%TestResult%