Skip to content

Repository files navigation

Privileged Identity & Access in Microsoft Entra

Docs, resources and samples to implement a secure privileged identity and access management in Microsoft Azure and Microsoft Entra.

📝 Classification of Roles and Permissions

I've created an approach to automate classification of role actions based on Microsoft's Enterprise Access Model. Samples of the classification file which I've created for the implementation in EntraOps can be found here:

The generated classification (based on the previous definition files) are also available and can be used as lookup in analytics rules (in Microsoft Sentinel) or to built your own automation and/or entity enrichment:

  • Classified Entra ID Roles in JSON
  • Classified Non-Graph Microsoft API Permissions in JSON — EAM-classified application permissions (AppRole) and delegated permissions (Scope) for major first-party Microsoft APIs (e.g. Microsoft Graph, Azure AD Identity Governance Insights, Defender, Intune). Each entry includes PermissionType (Application/Delegated), the target app, and the EAM tier level.
  • Classified Application Permissions (AppRoles) in JSON — EAM-classified application permissions (OAuth2 AppRoles) across all classified Microsoft first-party apps, including Microsoft Graph. Each entry maps an AppRoleId to its EAM tier level and category. This is the full superset; use Classification_MsGraphAppRoles.json for a Microsoft Graph-only subset.
  • Classified Delegated Permissions (Scopes) in JSON — EAM-classified delegated permissions (OAuth2 Scopes) across all classified Microsoft first-party apps, including Microsoft Graph and SharePoint Online. Each entry maps a ScopeId to its EAM tier level and category. This is the full superset; use Classification_MsGraphScopes.json for a Microsoft Graph-only subset.
  • Classified Microsoft Graph Application Permissions (AppRoles) in JSON — A Microsoft Graph-only subset of Classification_AppRoles.json, containing EAM-classified application permissions scoped exclusively to AppId 00000003-0000-0000-c000-000000000000. Useful when enriching service principal app role assignments granted to Microsoft Graph.
  • Classified Microsoft Graph Delegated Permissions (Scopes) in JSON — A Microsoft Graph-only subset of Classification_Scopes.json, containing EAM-classified delegated permissions scoped exclusively to AppId 00000003-0000-0000-c000-000000000000. Useful when enriching OAuth2 permission grants or sign-in events against Microsoft Graph.

Sample queries to use classification in KQL queries in Microsoft Sentinel can be found here:

The helper script to create classification by using the definition of classification are available here:

Side Note: The classification export of App Roles (Export-EntraOpsClassificationAppRoles) can also include a list of "Authorized Api Calls" by using the Parameter IncludeAuthorizedApiCalls. This information will be enriched from the GitHub project "graphpermissions.github.io" (created by Merill Fernando). Kudos to Merill!

📢 Call for Community Contributors!

Mostly, role actions and permissions on Control Plane has been classified. There are still a high number of "unclassified" role actions and maybe also some classified roles which should be reviewed or may assessed differently. As already described, the source for all classification will be managed in the "EntraOps_Classification" files and should be the single point for modification to this project. I would be more than happy to see contributions by the community which helps to increase the coverage and quality of the classification for the Enterprise Access Model. Feel free to create PR, issues or contact me if you have any further questions or feedback.

💡 Community use cases and references

🔁 Lifecycle Workflows

On- and Offboarding of Privileged Accounts can be automated with the Entra ID Governance feature "Lifecycle workflows". Samples for the custom tasks can be found here and are described in the blog post "Automated Lifecycle Workflows for Privileged Identities with Azure AD Identity Governance"

📄 Role Definition Matrix of Personas for Privileged Access in Microsoft Azure

Various articles on Microsoft Learn describes Roles and Personas for privileged access in Azure. I've created a role definition matrix to compare the descriptions of personas but also tiering levels from Enterprise Access Model. Check out the "EAS_EAM_AzureRBAC_TabularSummary.pdf"

🤖 Scripts for Automation and Definition of Classification

Examples for PowerShell Scripts to export a list of privileged assignments in Azure (incl. Azure Billing/Enterprise Agreement) and also helper files for Classification can be found here.

About

Docs and samples for privileged identity and access management in Microsoft Azure and Microsoft Entra.

Topics

Resources

Stars

190 stars

Watchers

6 watching

Forks

Releases

Packages

Used by

Contributors

Languages