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

Knowledge ManagerMicrosoft Entra built-in role

Organize, create, manage, and promote topics and knowledge.

Role ID744ec460-397e-42ad-a462-8b3f9747a02c
PrivilegedNo
Permissions11

What it can do

PermissionWhat it allows
microsoft.directory/groups.security/basic/updateUpdate basic properties on Security groups, excluding role-assignable groups
microsoft.directory/groups.security/createCreate Security groups, excluding role-assignable groups
microsoft.directory/groups.security/createAsOwnerCreate Security groups, excluding role-assignable groups. Creator is added as the first owner.
microsoft.directory/groups.security/deleteDelete Security groups, excluding role-assignable groups
microsoft.directory/groups.security/members/updateUpdate members of Security groups, excluding role-assignable groups
microsoft.directory/groups.security/owners/updateUpdate owners of Security groups, excluding role-assignable groups
microsoft.office365.knowledge/contentUnderstanding/analytics/allProperties/readRead analytics reports of content understanding in Microsoft 365 admin center
microsoft.office365.knowledge/knowledgeNetwork/topicVisibility/allProperties/allTasksManage topic visibility of knowledge network in Microsoft 365 admin center
microsoft.office365.sharePoint/allEntities/allTasksCreate and delete all resources, and read and update standard properties in SharePoint
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 Knowledge Manager for <reason>"
    RoleDefinitionId = "744ec460-397e-42ad-a462-8b3f9747a02c"
    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 '744ec460-397e-42ad-a462-8b3f9747a02c'" -ExpandProperty Principal |
    ForEach-Object { $_.Principal.AdditionalProperties.displayName }

Related roles

Find the smallest role for a task →