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

Tenant Governance AdministratorMicrosoft Entra built-in role

Manage all capabilities in the Microsoft Entra Tenant Governance service.

Role ID1981f584-96e9-4a6f-95b0-f522373f8fae
PrivilegedYes. Microsoft marks this role as privileged.
Permissions24

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.directory/crossTenantAccessPolicy/basic/updateUpdate basic settings of cross-tenant access policy
microsoft.directory/crossTenantAccessPolicy/default/standard/readRead basic properties of the default cross-tenant access policy
microsoft.directory/crossTenantAccessPolicy/partners/createCreate cross-tenant access policy for partners
microsoft.directory/crossTenantAccessPolicy/partners/deleteDelete cross-tenant access policy for partners
microsoft.directory/crossTenantAccessPolicy/partners/standard/readRead basic properties of cross-tenant access policy for partners
microsoft.directory/crossTenantAccessPolicy/standard/readRead basic properties of cross-tenant access policy
microsoft.directory/tenantGovernance/invitations/createCreate tenant governance invitations
microsoft.directory/tenantGovernance/invitations/deleteDelete tenant governance invitations
microsoft.directory/tenantGovernance/invitations/standard/readRead tenant governance invitations
microsoft.directory/tenantGovernance/policyTemplates/allProperties/updateUpdate tenant governance policy templates
microsoft.directory/tenantGovernance/policyTemplates/createCreate tenant governance policy templates
microsoft.directory/tenantGovernance/policyTemplates/deleteDelete tenant governance policy templates
microsoft.directory/tenantGovernance/policyTemplates/standard/readRead tenant governance policy templates
microsoft.directory/tenantGovernance/relatedTenants/refreshTrigger a data refresh about related tenants discovered by Microsoft Entra Tenant Governance service
microsoft.directory/tenantGovernance/relatedTenants/standard/readRead data about related tenants discovered by Microsoft Entra Tenant Governance service
microsoft.directory/tenantGovernance/relationships/allProperties/updateUpdate the status of governance relationships
microsoft.directory/tenantGovernance/relationships/createCreate tenant governance relationships
microsoft.directory/tenantGovernance/relationships/standard/readRead tenant governance relationships
microsoft.directory/tenantGovernance/requests/allProperties/updateUpdate the status of tenant governance requests
microsoft.directory/tenantGovernance/requests/createCreate tenant governance requests
microsoft.directory/tenantGovernance/requests/standard/readRead tenant governance requests
microsoft.directory/tenantGovernance/settings/allProperties/updateManage Microsoft Entra Tenant Governance settings
microsoft.directory/tenantGovernance/settings/standard/readRead tenant governance settings
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 Tenant Governance Administrator for <reason>"
    RoleDefinitionId = "1981f584-96e9-4a6f-95b0-f522373f8fae"
    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 '1981f584-96e9-4a6f-95b0-f522373f8fae'" -ExpandProperty Principal |
    ForEach-Object { $_.Principal.AdditionalProperties.displayName }

Related roles

Find the smallest role for a task →