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

Security ReaderMicrosoft Entra built-in role

Can read security information and reports in Microsoft Entra ID and Office 365.

Role ID5d6b6bb7-de71-4623-b4af-96380a352509
PrivilegedYes. Microsoft marks this role as privileged.
Permissions33

Before you assign it

Microsoft labels this a privileged role, so make it eligible through PIM rather than permanent, require phishing-resistant MFA to activate it, and review who has it regularly.

What it can do

PermissionWhat it allows
microsoft.agentRegistry/allEntities/allProperties/readRead all properties of Agent Registry in Microsoft Entra ID
microsoft.azure.serviceHealth/allEntities/allTasksRead and configure Azure Service Health
microsoft.directory/accessReviews/definitions/allProperties/readRead all properties of access reviews of all reviewable resources in Microsoft Entra ID
microsoft.directory/auditLogs/allProperties/readRead all properties on audit logs, excluding custom security attributes audit logs
microsoft.directory/authorizationPolicy/standard/readRead standard properties of authorization policy
microsoft.directory/bitlockerKeys/key/readRead bitlocker metadata and key on devices
microsoft.directory/conditionalAccessPolicies/owners/readRead the owners of Conditional Access policies
microsoft.directory/conditionalAccessPolicies/policyAppliedTo/readRead the "applied to" property for Conditional Access policies
microsoft.directory/conditionalAccessPolicies/standard/readRead Conditional Access for policies
microsoft.directory/crossTenantAccessPolicy/partners/templates/multiTenantOrganizationIdentitySynchronization/standard/readRead basic properties of cross tenant sync policy templates for multi-tenant organization
microsoft.directory/crossTenantAccessPolicy/partners/templates/multiTenantOrganizationPartnerConfiguration/standard/readRead basic properties of cross tenant access policy templates for multi-tenant organization
microsoft.directory/deviceLocalCredentials/standard/readRead all properties of the backed up local administrator account credentials for Microsoft Entra joined devices, except the password
microsoft.directory/domains/federationConfiguration/standard/readRead standard properties of federation configuration for domains
microsoft.directory/entitlementManagement/allProperties/readRead all properties in Microsoft Entra entitlement management
microsoft.directory/identityProtection/allProperties/readRead all resources in Microsoft Entra ID Protection
microsoft.directory/multiTenantOrganization/joinRequest/standard/readRead properties of a multi-tenant organization join request
microsoft.directory/multiTenantOrganization/standard/readRead basic properties of a multi-tenant organization
microsoft.directory/multiTenantOrganization/tenants/organizationDetails/readRead organization details of a tenant participating in a multi-tenant organization
microsoft.directory/multiTenantOrganization/tenants/standard/readRead basic properties of a tenant participating in a multi-tenant organization
microsoft.directory/namedLocations/standard/readRead basic properties of custom rules that define network locations
microsoft.directory/policies/owners/readRead owners of policies
microsoft.directory/policies/policyAppliedTo/readRead policies.policyAppliedTo property
microsoft.directory/policies/standard/readRead basic properties on policies
microsoft.directory/privilegedIdentityManagement/allProperties/readRead all resources in Privileged Identity Management
microsoft.directory/provisioningLogs/allProperties/readRead all properties of provisioning logs
microsoft.directory/signInReports/allProperties/readRead all properties on sign-in reports, including privileged properties
microsoft.networkAccess/allEntities/allProperties/readRead all aspects of Microsoft Entra Network Access
microsoft.office365.protectionCenter/allEntities/standard/readRead standard properties of all resources in the Security and Compliance centers
microsoft.office365.protectionCenter/attackSimulator/payload/allProperties/readRead all properties of attack payloads in Attack Simulator
microsoft.office365.protectionCenter/attackSimulator/reports/allProperties/readRead reports of attack simulation, responses, and associated training
microsoft.office365.protectionCenter/attackSimulator/simulation/allProperties/readRead all properties of attack simulation templates in Attack Simulator
microsoft.office365.serviceHealth/allEntities/allTasksRead and configure Service Health 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 Security Reader for <reason>"
    RoleDefinitionId = "5d6b6bb7-de71-4623-b4af-96380a352509"
    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 '5d6b6bb7-de71-4623-b4af-96380a352509'" -ExpandProperty Principal |
    ForEach-Object { $_.Principal.AdditionalProperties.displayName }

Related roles

Find the smallest role for a task →