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

Teams Communications Support EngineerMicrosoft Entra built-in role

Can troubleshoot communications issues within Teams using advanced tools.

Role IDf70938a0-fc10-4177-9e90-2178f8765737
PrivilegedNo
Permissions6

What it can do

PermissionWhat it allows
microsoft.azure.serviceHealth/allEntities/allTasksRead and configure Azure Service Health
microsoft.directory/authorizationPolicy/standard/readRead standard properties of authorization policy
microsoft.office365.serviceHealth/allEntities/allTasksRead and configure Service Health in the Microsoft 365 admin center
microsoft.office365.skypeForBusiness/allEntities/allTasksManage all aspects of Skype for Business Online
microsoft.office365.webPortal/allEntities/standard/readRead basic properties on all resources in the Microsoft 365 admin center
microsoft.teams/callQuality/allProperties/readRead all data in the Call Quality Dashboard (CQD)

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 Teams Communications Support Engineer for <reason>"
    RoleDefinitionId = "f70938a0-fc10-4177-9e90-2178f8765737"
    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 'f70938a0-fc10-4177-9e90-2178f8765737'" -ExpandProperty Principal |
    ForEach-Object { $_.Principal.AdditionalProperties.displayName }

Related roles

Find the smallest role for a task →