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

Organizational Messages ApproverMicrosoft Entra built-in role

Review, approve, or reject new organizational messages for delivery in the Microsoft 365 admin center before they are sent to users.

Role IDe48398e2-f4bb-4074-8f31-4586725e205b
PrivilegedNo
Permissions3

What it can do

PermissionWhat it allows
microsoft.office365.organizationalMessages/allEntities/allProperties/readRead all aspects of Microsoft 365 Organizational Messages
microsoft.office365.organizationalMessages/allEntities/allProperties/updateApprove or reject new organizational messages for delivery in the Microsoft 365 admin center
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 Organizational Messages Approver for <reason>"
    RoleDefinitionId = "e48398e2-f4bb-4074-8f31-4586725e205b"
    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 'e48398e2-f4bb-4074-8f31-4586725e205b'" -ExpandProperty Principal |
    ForEach-Object { $_.Principal.AdditionalProperties.displayName }

Related roles

Find the smallest role for a task →