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

Insights AnalystMicrosoft Entra built-in role

Access the analytical capabilities in Microsoft Viva Insights and run custom queries.

Role ID25df335f-86eb-4119-b717-0ff02de207e9
PrivilegedNo
Permissions3

What it can do

PermissionWhat it allows
microsoft.insights/queries/allProperties/allTasksRun and manage queries in Viva Insights
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 Insights Analyst for <reason>"
    RoleDefinitionId = "25df335f-86eb-4119-b717-0ff02de207e9"
    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 '25df335f-86eb-4119-b717-0ff02de207e9'" -ExpandProperty Principal |
    ForEach-Object { $_.Principal.AdditionalProperties.displayName }

Related roles

Find the smallest role for a task →