← cd ~/roles
// roles/entra
SharePoint AdministratorMicrosoft Entra built-in role
Can manage all aspects of the SharePoint service.
| Role ID | f28a1f50-f6e7-4571-818b-6a12f2af6b6c |
|---|---|
| Privileged | No |
| Permissions | 27 |
What it can do
| Permission | What it allows |
|---|---|
microsoft.azure.serviceHealth/allEntities/allTasks | Read and configure Azure Service Health |
microsoft.azure.supportTickets/allEntities/allTasks | Create and manage Azure support tickets |
microsoft.backup/oneDriveForBusinessProtectionPolicies/allProperties/allTasks | Create and manage OneDrive protection policy in Microsoft 365 Backup |
microsoft.backup/oneDriveForBusinessRestoreSessions/allProperties/allTasks | Read and configure restore session for OneDrive in Microsoft 365 Backup |
microsoft.backup/restorePoints/sites/allProperties/allTasks | Manage all restore points associated with selected SharePoint sites in Microsoft 365 Backup |
microsoft.backup/restorePoints/userDrives/allProperties/allTasks | Manage all restore points associated with selected OneDrive accounts in Microsoft 365 Backup |
microsoft.backup/sharePointProtectionPolicies/allProperties/allTasks | Create and manage SharePoint protection policy in Microsoft 365 Backup |
microsoft.backup/sharePointRestoreSessions/allProperties/allTasks | Read and configure restore session for SharePoint in Microsoft 365 Backup |
microsoft.backup/siteProtectionUnits/allProperties/allTasks | Manage sites added to SharePoint protection policy in Microsoft 365 Backup |
microsoft.backup/siteRestoreArtifacts/allProperties/allTasks | Manage sites added to restore session for SharePoint in Microsoft 365 Backup |
microsoft.backup/userDriveProtectionUnits/allProperties/allTasks | Manage accounts added to OneDrive protection policy in Microsoft 365 Backup |
microsoft.backup/userDriveRestoreArtifacts/allProperties/allTasks | Manage accounts added to restore session for OneDrive in Microsoft 365 Backup |
microsoft.directory/groups.unified/assignedLabels/update | Update the assigned labels property on Microsoft 365 groups of assigned membership type, excluding role-assignable groups |
microsoft.directory/groups.unified/basic/update | Update basic properties on Microsoft 365 groups, excluding role-assignable groups |
microsoft.directory/groups.unified/create | Create Microsoft 365 groups, excluding role-assignable groups |
microsoft.directory/groups.unified/delete | Delete Microsoft 365 groups, excluding role-assignable groups |
microsoft.directory/groups.unified/members/update | Update members of Microsoft 365 groups, excluding role-assignable groups |
microsoft.directory/groups.unified/owners/update | Update owners of Microsoft 365 groups, excluding role-assignable groups |
microsoft.directory/groups.unified/restore | Restore Microsoft 365 groups from soft-deleted container, excluding role-assignable groups |
microsoft.directory/groups/hiddenMembers/read | Read hidden members of Security groups and Microsoft 365 groups, including role-assignable groups |
microsoft.office365.migrations/allEntities/allProperties/allTasks | Manage all aspects of Microsoft 365 migrations |
microsoft.office365.network/performance/allProperties/read | Read all network performance properties in the Microsoft 365 admin center |
microsoft.office365.serviceHealth/allEntities/allTasks | Read and configure Service Health in the Microsoft 365 admin center |
microsoft.office365.sharePoint/allEntities/allTasks | Create and delete all resources, and read and update standard properties in SharePoint |
microsoft.office365.supportTickets/allEntities/allTasks | Create and manage Microsoft 365 service requests |
microsoft.office365.usageReports/allEntities/allProperties/read | Read Office 365 usage reports |
microsoft.office365.webPortal/allEntities/standard/read | Read basic properties on all resources in the Microsoft 365 admin center |
Assign it
The role ID is the same in every tenant, so these work as they are. Make it eligible through PIM:
Connect-MgGraph -Scopes "RoleEligibilitySchedule.ReadWrite.Directory"
$user = Get-MgUser -UserId "jane.doe@contoso.com"
New-MgRoleManagementDirectoryRoleEligibilityScheduleRequest -BodyParameter @{
Action = "AdminAssign"
Justification = "Needs SharePoint Administrator for <reason>"
RoleDefinitionId = "f28a1f50-f6e7-4571-818b-6a12f2af6b6c"
DirectoryScopeId = "/"
PrincipalId = $user.Id
ScheduleInfo = @{
StartDateTime = (Get-Date).ToUniversalTime().ToString("o")
Expiration = @{ Type = "afterDuration"; Duration = "P180D" }
}
}Who already has it?
Connect-MgGraph -Scopes "RoleManagement.Read.Directory"
Get-MgRoleManagementDirectoryRoleAssignment -Filter "roleDefinitionId eq 'f28a1f50-f6e7-4571-818b-6a12f2af6b6c'" -ExpandProperty Principal |
ForEach-Object { $_.Principal.AdditionalProperties.displayName }Related roles
- Groups Administrator · 26 permissions
- SharePoint Advanced Management Administrator · 28 permissions
- Windows 365 Administrator · 28 permissions
- Exchange Administrator · 25 permissions
- Teams Administrator · 33 permissions
- Global Secure Access Administrator · 20 permissions
- Authentication Policy Administrator · 19 permissions
- Guest Inviter · 17 permissions