Blog Post

Exchange Team Blog
3 MIN READ

Critical Update: ApplicationImpersonation RBAC Role Deprecation in Exchange Online

The_Exchange_Team's avatar
Nov 13, 2024

Update 11/20/2024: We added a new Graph-FindImpersonation script as a way of finding the applications using the role.

In our previous announcement, we detailed the upcoming deprecation of the ApplicationImpersonation role in Exchange Online. As the deprecation date of February 2025 approaches, it is vital for administrators and developers to take immediate action to ensure a smooth transition. This follow-up article aims to reinforce the urgency and provide clear guidance on the necessary steps.

Unchanged Timeline

We want to emphasize that the timeline for the complete removal of the ApplicationImpersonation role remains unchanged. The deprecation will occur starting February 2025, and it is crucial that all necessary preparations are made well in advance of this date.

You should be receiving Message Center post MC724116 if we have detected usage in your tenant. However, it’s possible for there to be usage outside of our reporting range, so we advise our customers that they must exercise their own due diligence to ensure that this feature is no longer being used in their tenant.

The Security Imperative for This Change

The decision to deprecate the ApplicationImpersonation role is rooted in our commitment to enhancing security within Exchange Online. Historically, the role served as a broad-access solution, but it poses several security risks due to its extensive permissions and potential for abuse. Leaving such wide-ranging access enabled compromises your organization’s security posture.

Immediate Steps for Administrators and Developers

To avoid disruptions, it is imperative that administrators and developers begin transitioning their applications immediately. Here are your options:

  • Transition to Microsoft Graph: If possible, migrate to Microsoft Graph as EWS is being phased out.
  • Implement App-only authentication and RBAC for Applications: Make the necessary code and configuration updates for EWS applications requiring 1-to-many mailbox access to use App-only access (uses EWS.AccessAsApp OAuth Application permission) along with implementing resource-scoped access using Role-Based Access Control (RBAC) for Applications in Exchange Online.

Identifying and Addressing Affected Accounts

To identify accounts using the ApplicationImpersonation role, you can use the following tools:

  • Exchange Online PowerShell: Check for accounts with the ApplicationImpersonation role using the command:
Get-ManagementRoleAssignment -Role ApplicationImpersonation -GetEffectiveUsers -Delegating:$false
  • Graph-FindImpersonation Script on GitHub. This is the most comprehensive and scalable solution to get a report of users leveraging the ApplicationImpersonation RBAC role with third party EWS applications. Please note that the script requires an application registration in Entra ID, so that is a prerequisite for it to run. Credit to Jim Martin for creation of this solution!
  • Sample reporting Script on GitHub: Utilize the ApplicationImpersonation reporting script available on GitHub. This script generates a report of Microsoft 365 third-party EWS applications using accounts assigned the ApplicationImpersonation RBAC role. Use this information to find the applications in Entra and identify the application owners. Work with application owners (both within your organization and vendors outside your organization for 3rd-party apps) to transition.

Please note that the above two scripts are not supported by Microsoft support teams. If you have issues, please file them through their respective GitHub repos.

If you have impacted applications, the script will provide you with the Application ID. To translate this Application ID to something you can identify as a specific application, you will have to go to the Entra portal for your tenant. Please see the article Application and service principal objects in Microsoft Entra ID to find the name of the application based on the ID that the script provided. If the ID identifies an application created by an independent software vendor, you will have to contact them to get an updated application that does not rely on ApplicationImpersonation role. If the application is something that your tenant has built in-house, you will need to work with application developers to update the application.

Conclusion

As the February 2025 deprecation date approaches, it is crucial to act now. Engage with your application owners and utilize the guidance provided to ensure a seamless transition. Applications that are not updated will no longer work after this date.

The Exchange Online Team

Updated Feb 14, 2025
Version 7.0