← cd ~/compare
// compare · graph permissions
Group.Read.All vs Group.ReadWrite.All
Two Microsoft Graph permissions that are easy to mix up, side by side.
In short: Group.Read.All only reads. Group.ReadWrite.All can also create, change or delete. Use the read-only one unless your app needs to write.
| Permission type | Group.Read.All | Group.ReadWrite.All |
|---|---|---|
| Application | Read all groups Allows the app to read group properties and memberships, and read conversations for all groups, without a signed-in user. Always needs admin consent · Medium risk | Read and write all groups Allows the app to create groups, read all group properties and memberships, update group properties and memberships, and delete groups. Also allows the app to read and write conversations. All of these operations can be performed by the app without a signed-in user. Always needs admin consent · High risk |
| Delegated | Read all groups Allows the app to list groups, and to read their properties and all group memberships on behalf of the signed-in user. Also allows the app to read calendar, conversations, files, and other group content for all groups the signed-in user can access. Needs admin consent · Low risk | Read and write all groups Allows the app to create groups and read all group properties and memberships on behalf of the signed-in user. Additionally allows group owners to manage their groups and allows group members to update group content. Needs admin consent · High risk |
Spotted something out of date or wrong? Tell us and we'll fix it.