azureblog.co.uk
← cd ~/compare
// compare · graph permissions

Group.ReadWrite.All vs GroupMember.ReadWrite.All

Two Microsoft Graph permissions that are easy to mix up, side by side.

In short: If the app only manages membership, use GroupMember.ReadWrite.All.

Group.ReadWrite.AllGroupMember.ReadWrite.All
ApplicationRead 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
Read and write all group memberships
Allows the app to list groups, read basic properties, read and update the membership of the groups this app has access to without a signed-in user. Group properties and owners cannot be updated and groups cannot be deleted.
Always needs admin consent · High risk
DelegatedRead 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
Read and write group memberships
Allows the app to list groups, read basic properties, read and update the membership of the groups the signed-in user has access to. Group properties and owners cannot be updated and groups cannot be deleted.
Needs admin consent · High risk