Table of Contents

Directory.ReadWrite.All

Allows the app to read and write data in your organization's directory, such as users, and groups. It does not allow the app to delete users or groups, or reset user passwords.

Caution

Directory permissions grant broad access to directory (Microsoft Entra ID) resources such as user, group, and device in an organization. Whenever possible, choose permissions specific to these resources and avoid using directory permissions.

Directory permissions might be deprecated in the future.

Before December 3rd, 2020, when the application permission Directory.ReadWrite.All was granted, the Directory Writers directory role was also assigned. This directory role isn't removed automatically when the associated application permissions are revoked. To remove an application's access to read or write to the directory, customers must also remove any directory roles that were granted to the application.

A service update disabling this behavior began rolling out on December 3rd, 2020. Deployment to all customers completed on January 11, 2021. Directory roles are no longer automatically assigned when application permissions are granted.

Merill's Note

For an app to access data in Microsoft Graph, the user or administrator must grant it the permissions it needs. This article lists all the Microsoft Graph APIs and your tenant data that can be accessed by the application (vendor/developer) if you consent to the Directory.ReadWrite.All permission.

If you need to create an audit report of the permissions granted to all the apps in your tenant, you can run the Export-MsIdAppConsentGrantReport command. See How To: Run a quick OAuth app audit of your tenant

Category Application Delegated
Identifier 19dbc75e-c2e2-444c-a770-ec69d8559fc7 c5366453-9fb0-48a5-a156-24f0c49a4b84
DisplayText Read and write directory data Read and write directory data
Description Allows the app to read and write data in your organization's directory, such as users, and groups, without a signed-in user. Does not allow user or group deletion. Allows the app to read and write data in your organization's directory, such as users, and groups. It does not allow the app to delete users or groups, or reset user passwords.
AdminConsentRequired Yes Yes

Graph Methods

API supports delegated access (access on behalf of a user)
API supports app-only access (access without a user)

Methods
Application.ReadWrite.All and Directory.ReadWrite.All
Application.ReadWrite.All and Directory.ReadWrite.All
Application.ReadWrite.All and Directory.ReadWrite.All

Resources

Granting this permission allows the calling application to access (and/or update) the following information in your tenant.

Graph reference: accessReviewReviewerScope

Property Type Description
query String The query specifying who will be the reviewer.
queryRoot String In the scenario where reviewers need to be specified dynamically, this property is used to indicate the relative source of the query. This property is only required if a relative query, for example, ./manager, is specified. Possible value: decisions.
queryType String The type of query. Examples include MicrosoftGraph and ARM.