Permissions for Modern App-Only Authentication
Tables in this section list permissions for Azure AD applications that are granted automatically by Veeam Backup for Microsoft 365 when you add organizations using the modern app-only authentication method.
If you prefer to use a custom application of your own, make sure to grant all the permissions listed in these tables manually to perform the following operations:
Make sure that you assign the required roles to the user account that the Azure AD application will use to log in to Microsoft 365.
For more information on how to check permissions for Office 365 Exchange Online API, see Checking Permissions for Office 365 Exchange Online API.
For more information on how to configure Azure AD application settings in Microsoft Azure to perform data restore, see Configuring Azure AD Application Settings.
For more information about permissions for Azure AD applications that you add as backup applications, see Backup Application Permissions.
Required User Account Roles for Azure AD Applications
- Global Administrator — required for adding organizations with modern app-only authentication, creating backup applications, registering Azure AD application for Restore Portal and creating Azure AD application for the Microsoft Azure service account.
- ApplicationImpersonation and Global Administrator or Exchange Administrator — required for data restore with Veeam Explorer for Microsoft Exchange.
- Global Administrator or SharePoint Administrator — required for data restore with Veeam Explorer for Microsoft SharePoint and Veeam Explorer for Microsoft OneDrive for Business.
- Global Administrator or Teams Administrator — required for data restore with Veeam Explorer for Microsoft Teams.
- Global Administrator — required for establishing a connection to a service provider in the Backup as Service for Microsoft 365 scenario.
All listed permissions are of the Application type.
API | Permission name | Exchange Online | SharePoint Online and OneDrive for Business | Microsoft Teams | Description |
---|---|---|---|---|---|
Microsoft Graph | Directory.Read.All | ✔ | ✔ | ✔ | Querying Azure AD for organization properties, the list of users and groups and their properties. |
Group.Read.All | ✔ | ✔ | ✔ | Querying Azure AD for the list of groups and group sites. | |
Sites.Read.All |
| ✔ | ✔ | Querying Azure AD for the list of sites and getting download URLs for files and their versions. | |
TeamSettings.ReadWrite.All |
|
| ✔ | Accessing archived teams. | |
ChannelMessage.Read.All |
|
| ✔ | Accessing all Teams public channel messages. Note: This permission is only required if you want to back up team chats using Teams Export APIs. For more information, see Organization Object Types. | |
Office 365 Exchange Online1 | full_access_as_app | ✔ |
| ✔ | Reading mailboxes content. |
SharePoint | Sites.FullControl.All |
| ✔ | ✔ | Reading SharePoint sites and OneDrive accounts content. |
User.Read.All |
| ✔ | ✔ | Reading OneDrive accounts (getting site IDs). Note: This permission is not used to back up Microsoft Teams data, but you must grant it along with SharePoint Online and OneDrive for Business permission to add Microsoft 365 organization successfully. |
1You can check permissions for Office 365 Exchange Online API. For more information, see Checking Permissions for Office 365 Exchange Online API.
Permissions for Restore
Note |
To restore data using Azure AD application, make sure that you configure the Azure AD application settings. For more information, see Configuring Azure AD Application Settings. |
Restore Using Device Code Flow
API | Permission name | Exchange Online | SharePoint Online and OneDrive for Business | Microsoft Teams | Description |
---|---|---|---|---|---|
Microsoft Graph | Directory.Read.All | ✔ | ✔ | ✔ | Querying Azure AD for organization properties, the list of users and groups and their properties. |
Group.ReadWrite.All |
|
| ✔ | Recreating in Azure AD an associated group in case of teams restore. | |
Sites.Read.All |
| ✔ | ✔ | Accessing sites of the applications that are installed from the SharePoint store. | |
Directory.ReadWrite.All |
|
| ✔ | Setting the preferred data location when creating a new M365 group for a multi-geo tenant in case of teams restore. | |
offline_access | ✔ | ✔ | ✔ | Obtaining a refresh token from Azure AD. | |
Office 365 Exchange Online1 | EWS.AccessAsUser.All | ✔ |
|
| Accessing mailboxes as the signed-in user (impersonation) through EWS. |
full_access_as_user | ✔ |
|
| Reading the current state and restoring mailboxes content. This permission is only required when you add an organization in the Germany region. | |
SharePoint | AllSites.FullControl |
| ✔ | ✔ | Reading the current state and restoring SharePoint sites and OneDrive accounts content. |
User.Read.All |
| ✔ |
| Resolving OneDrive accounts (getting site IDs). Note: This permission is not required to restore SharePoint Online data. |
1You can check permissions for Office 365 Exchange Online API. For more information, see Checking Permissions for Office 365 Exchange Online API.
Restore Using Application Certificate
API | Permission name | Exchange Online | SharePoint Online and OneDrive for Business | Microsoft Teams | Description |
---|---|---|---|---|---|
Microsoft Graph | Directory.Read.All | ✔ |
| ✔ | Querying Azure AD for organization properties, the list of users and groups and their properties. |
Group.ReadWrite.All |
| ✔ | ✔ | Recreating in Azure AD an associated group in case of a deleted team site restore. Note: This permission is only required for restore of SharePoint site data through REST API and PowerShell. | |
Sites.Read.All |
| ✔ | ✔ | Accessing sites of the applications that are installed from the SharePoint store. | |
Office 365 Exchange Online1 | full_access_as_app | ✔ |
|
| Reading the current state and restoring mailboxes content. |
SharePoint | Sites.FullControl.All |
| ✔ | ✔ | Reading the current state and restoring SharePoint sites and OneDrive accounts content. |
User.Read.All |
| ✔ |
| Resolving OneDrive accounts (getting site IDs). Note: This permission is not required to restore SharePoint Online data. |
1You can check permissions for Office 365 Exchange Online API. For more information, see Checking Permissions for Office 365 Exchange Online API.