azureblog.co.uk
← cd ~/roles
// roles/entra

Search AdministratorMicrosoft Entra built-in role

Can create and manage all aspects of Microsoft Search settings.

Role ID0964bb5e-9bdb-4d7b-ac29-58e794862a40
PrivilegedNo
Permissions5

What it can do

PermissionWhat it allows
microsoft.office365.messageCenter/messages/readRead messages in Message Center in the Microsoft 365 admin center, excluding security messages
microsoft.office365.search/content/manageCreate and delete content, and read and update all properties in Microsoft Search
microsoft.office365.serviceHealth/allEntities/allTasksRead and configure Service Health in the Microsoft 365 admin center
microsoft.office365.supportTickets/allEntities/allTasksCreate and manage Microsoft 365 service requests
microsoft.office365.webPortal/allEntities/standard/readRead 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:

powershell13 lines
Connect-MgGraph -Scopes "RoleEligibilitySchedule.ReadWrite.Directory"
$user = Get-MgUser -UserId "jane.doe@contoso.com"
New-MgRoleManagementDirectoryRoleEligibilityScheduleRequest -BodyParameter @{
    Action           = "AdminAssign"
    Justification    = "Needs Search Administrator for <reason>"
    RoleDefinitionId = "0964bb5e-9bdb-4d7b-ac29-58e794862a40"
    DirectoryScopeId = "/"
    PrincipalId      = $user.Id
    ScheduleInfo     = @{
        StartDateTime = (Get-Date).ToUniversalTime().ToString("o")
        Expiration    = @{ Type = "afterDuration"; Duration = "P180D" }
    }
}

Who already has it?

powershell3 lines
Connect-MgGraph -Scopes "RoleManagement.Read.Directory"
Get-MgRoleManagementDirectoryRoleAssignment -Filter "roleDefinitionId eq '0964bb5e-9bdb-4d7b-ac29-58e794862a40'" -ExpandProperty Principal |
    ForEach-Object { $_.Principal.AdditionalProperties.displayName }

Related roles

Find the smallest role for a task →