Control: 6.2.7 Ensure that multifactor authentication is required to access Microsoft Admin Portals
Description
This recommendation ensures that users accessing Microsoft Admin Portals (i.e. Microsoft 365 Admin, Microsoft 365 Defender, Exchange Admin Center, Azure Portal, etc.) are required to use multi-factor authentication (MFA) credentials when logging into an Admin Portal.
Administrative Portals for Microsoft Azure should be secured with a higher level of scrutiny to authenticating mechanisms. Enabling multi-factor authentication is recommended to reduce the potential for abuse of Administrative actions, and to prevent intruders or compromised admin credentials from changing administrative settings.
IMPORTANT: While this recommendation allows exceptions to specific Users or Groups, they should be very carefully tracked and reviewed for necessity on a regular interval through an Access Review process. It is important that this rule be built to include "All Users" to ensure that all users not specifically excepted will be required to use MFA to access Admin Portals.
Remediation
From Azure Portal
- From the Azure Admin Portal dashboard, open 
Microsoft Entra ID. - Click 
Securityin the Entra ID blade. - Click 
Conditional Accessin the Security blade. - Click 
Policiesin the Conditional Access blade. - Click 
+ New policy. - Enter a name for the policy.
 - Click the blue text under 
Users. - Under 
Include, selectAll users. - Under 
Exclude, checkUsers and groups. - Select users or groups to be exempted from this policy (e.g. break-glass emergency accounts, and non-interactive service accounts) then click the 
Selectbutton. - Click the blue text under 
Target resources. - Under 
Include, click theSelect appsradio button. - Click the blue text under 
Select. - Check the box next to 
Microsoft Admin Portalsthen click theSelectbutton. - Click the blue text under 
Grant. - Under 
Grant accesscheck the box forRequire multifactor authenticationthen click theSelectbutton. - Before creating, set 
Enable policytoReport-only. - Click 
Create. 
After testing the policy in report-only mode, update the Enable policy setting from Report-only to On.
Default Value
MFA is not enabled by default for administrative actions.
Usage
Run the control in your terminal:
powerpipe control run azure_compliance.control.cis_v400_6_2_7Snapshot and share results via Turbot Pipes:
powerpipe loginpowerpipe control run azure_compliance.control.cis_v400_6_2_7 --shareSQL
This control uses a named query:
with distinct_tenant as (  select    u.id,    tenant_id,    a.subscription_id,    u._ctx  from    azuread_user as u    left join azure_role_assignment as a on a.principal_id = u.id    left join azure_role_definition as d on d.id = a.role_definition_id  where role_type = 'BuiltInRole' and (role_name like '%Administrator%' or role_name = 'Owner'))select  p.id as resource,  case    when p.built_in_controls @> '["mfa"]' then 'ok'    else 'alarm'  end as status,  case    when p.built_in_controls @> '["mfa"]' then p.display_name || ' MFA enabled.'    else p.display_name || ' MFA disabled.'  end as reason,  t.tenant_id  from  distinct_tenant as t,  azuread_conditional_access_policy as p;