get_permission_context
Look up Microsoft Graph permissions by object or permission name. See what each scope unlocks, who can grant it, and compare overlapping alternatives with ownership-scope details.
Instructions
Two modes. (1) Pass object_name: which permissions touch a Graph object, what each unlocks, who can grant them, and its recent changes. (2) Pass permission_name alone (e.g. when comparing "is there a less-privileged alternative to Synchronization.ReadWrite.All"): that permission's detail plus other permissions with overlapping resource scope, annotated with resource_count and is_ownership_scoped (OwnedBy-suffixed permissions restrict to owned objects only) so you can reason about the tradeoff yourself — this does NOT rank or claim to compute "least privilege" automatically, since resource-type count and instance-level ownership scoping are different privilege axes. Role<->permission cross-referencing is a heuristic correlation (no official Microsoft crosswalk exists) — treat "grantable_by" as a strong signal to verify, not ground truth.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max permissions to return when using object_name (sorted narrowest-first by resource count); broad objects like "user" can match 100+ | |
| endpoint | No | ||
| object_name | No | e.g. administrativeUnit, user, group, accessPackage, synchronizationJob | |
| permission_name | No | A specific permission scope, e.g. AdministrativeUnit.Read.All or Synchronization.ReadWrite.All. If object_name is omitted, returns this permission's detail plus resource-overlapping alternatives to compare. |