Overview
Ensures that two alternate forms of identification are provided before allowing a password reset.
Rationale
A Self-service Password Reset (SSPR) through Azure Multi-factor Authentication (MFA) ensures the user's identity is confirmed using two separate identification methods. With multiple methods set, an attacker would have to compromise both methods before they could maliciously reset a user's password.
Impact
There may be administrative overhead, as users who lose access to their secondary authentication methods will need permission from an administrator to remove it. Organization-wide security policies and training will also need to be implemented to teach administrators to verify the identity of the requesting user so that social engineering can not render this setting useless.
Default Value
By default, the Number of methods required to reset is set to 2.
Manual Audit
There is no customer-facing API available to check the Password Reset Policy. Please refer to the Remediation tab. After you ensure the setting is correctly set, exempt the corresponding asset.
If you need this checked automatically (it would make sense if you have multiple Entra ID tenants with multiple administrators who might change settings) and are willing to provide additional permissions, reach out to your Cyscale contact person.
Remediation guidance
From Azure Portal
- Open the Password reset | Authentication methods page.
- Set the
Number of methods required to resetto2.
Please note that, at this point, no Azure CLI or other API commands are available to programmatically conduct security configuration for this recommendation.
Multiple Remediation Paths
SERVICE-WIDE (RECOMMENDED when many resources are affected): Apply organization/tenant-level guardrails and baseline policies for the entire platform.
ASSET-LEVEL: Fix only the affected resources identified by this control.
PREVENTIVE: Add preventive policy checks to CI/CD and periodic posture scans.
References for Service-Wide Patterns
- Platform policy/governance and preventive control patterns should be applied tenant-wide where supported.
Query logic
These are the stored checks tied to this control.
All Entra tenants
Connectors
Covered asset types
Expected check: eq []
{
connectors(where: {cloudProvider: "entra"}) {
...AssetFragment
}
}