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

AI ReaderMicrosoft Entra built-in role

Read all aspects of Microsoft Copilot and AI-related enterprise services in Microsoft 365.

Role ID1fe13547-53f6-408d-ac04-7f8eed167b38
PrivilegedYes. Microsoft marks this role as privileged.
Permissions45

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.azure.serviceHealth/allEntities/allTasksRead and configure Azure Service Health
microsoft.directory/administrativeUnits/members/readRead members of administrative units
microsoft.directory/administrativeUnits/standard/readRead basic properties on administrative units
microsoft.directory/adminConsentRequestPolicy/allProperties/readRead all properties of admin consent request policies in Microsoft Entra ID
microsoft.directory/agentIdentities/allProperties/readRead all properties of agent identities
microsoft.directory/agentIdentityBlueprintPrincipals/allProperties/readRead all properties of agent identity blueprint principals
microsoft.directory/agentIdentityBlueprints/allProperties/readRead all properties of agent identity blueprints
microsoft.directory/agentUsers/lifeCycleInfo/readRead lifecycle information of agent users, such as employeeLeaveDateTime
microsoft.directory/applicationPolicies/standard/readRead standard properties of application policies
microsoft.directory/applications/owners/readRead owners of applications
microsoft.directory/applications/policies/readRead policies of applications
microsoft.directory/applications/standard/readRead standard properties of applications
microsoft.directory/contacts/memberOf/readRead the group membership for all contacts in Microsoft Entra ID
microsoft.directory/contacts/standard/readRead basic properties on contacts in Microsoft Entra ID
microsoft.directory/contracts/standard/readRead basic properties on partner contracts
microsoft.directory/domains/standard/readRead basic properties on domains
microsoft.directory/entitlementManagement/allProperties/readRead all properties in Microsoft Entra entitlement management
microsoft.directory/groups/appRoleAssignments/readRead application role assignments of groups
microsoft.directory/groups/memberOf/readRead the memberOf property on Security groups and Microsoft 365 groups, including role-assignable groups
microsoft.directory/groups/members/readRead members of Security groups and Microsoft 365 groups, including role-assignable groups
microsoft.directory/groups/owners/readRead owners of Security groups and Microsoft 365 groups, including role-assignable groups
microsoft.directory/groups/settings/readRead settings of groups
microsoft.directory/groups/standard/readRead standard properties of Security groups and Microsoft 365 groups, including role-assignable groups
microsoft.directory/groupSettings/standard/readRead basic properties on group settings
microsoft.directory/groupSettingTemplates/standard/readRead basic properties on group setting templates
microsoft.directory/oAuth2PermissionGrants/standard/readRead basic properties on OAuth 2.0 permission grants
microsoft.directory/organization/standard/readRead basic properties on an organization
microsoft.directory/organization/trustedCAsForPasswordlessAuth/readRead trusted certificate authorities for passwordless authentication
microsoft.directory/roleAssignments/standard/readRead basic properties on role assignments
microsoft.directory/roleDefinitions/standard/readRead basic properties on role definitions
microsoft.directory/servicePrincipals/appRoleAssignedTo/readRead service principal role assignments
microsoft.directory/servicePrincipals/appRoleAssignments/readRead role assignments assigned to service principals
microsoft.directory/servicePrincipals/memberOf/readRead the group memberships on service principals
microsoft.directory/servicePrincipals/oAuth2PermissionGrants/readRead delegated permission grants on service principals
microsoft.directory/servicePrincipals/ownedObjects/readRead owned objects of service principals
microsoft.directory/servicePrincipals/owners/readRead owners of service principals
microsoft.directory/servicePrincipals/policies/readRead policies of service principals
microsoft.directory/servicePrincipals/standard/readRead basic properties of service principals
microsoft.directory/subscribedSkus/standard/readRead basic properties on subscriptions
microsoft.directory/users/allProperties/readRead all properties of users
microsoft.office365.copilot/allEntities/allProperties/readRead all settings for Microsoft Copilot
microsoft.office365.messageCenter/messages/readRead messages in Message Center in the Microsoft 365 admin center, excluding security messages
microsoft.office365.network/performance/allProperties/readRead all network performance properties in the Microsoft 365 admin center
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 AI Reader for <reason>"
    RoleDefinitionId = "1fe13547-53f6-408d-ac04-7f8eed167b38"
    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 '1fe13547-53f6-408d-ac04-7f8eed167b38'" -ExpandProperty Principal |
    ForEach-Object { $_.Principal.AdditionalProperties.displayName }

Related roles

Find the smallest role for a task →