Description
The tenant-wide app management policy enforces a maximum lifetime of {{ app_cert_max_days }} days for asymmetric key credentials (certificates) added to applications and service principals.
Rationale
Certificates are the preferred application credential, but a private key exported from a server or a pipeline is as useful to an attacker as a secret. A short lifetime limits the window of use of a stolen key and makes rotation a routine operation rather than an emergency.
Impact
Certificates must be renewed at least every {{ app_cert_max_days }} days. Automate renewal (for example through Azure Key Vault) before enforcing. Certificates issued by public CAs with a longer validity cannot be uploaded until reissued.
Setting
| Location | Entra admin center > Entra ID > Enterprise apps > Application policies > Restrict max certificate lifetime (Graph policies/defaultAppManagementPolicy, keyCredentials restriction asymmetricKeyLifetime) |
| Default | Not configured |
| Recommended | On, at most {{ app_cert_max_days }} days, applies to all applications |
Parameters
| Parameter | Baseline | Hardened | Bounds |
|---|---|---|---|
app_cert_max_daysinteger, days. Maximum lifetime of a new application certificate. | 180 | 180 | 1 to 365 |
The value used is your override (tailoring file), else the profile's, else the one of the profile it extends, else the default. Bounds limit what an override may set.
Audit
- Sign in to the Microsoft Entra admin center (https://entra.microsoft.com) as at least a Global Reader.
- Browse to Entra ID > Enterprise apps > Application policies.
- Check that the certificate lifetime restriction is On, set to at most {{ app_cert_max_days }} days, and applies to All applications.
- Alternative with Graph (scope
Policy.Read.All):GET https://graph.microsoft.com/v1.0/policies/defaultAppManagementPolicy. Check thatisEnabledistrueand thatkeyCredentialsfor applications and service principals containsasymmetricKeyLifetimewithstate=enabledandmaxLifetimeof at mostP{{ app_cert_max_days }}D. - Fail if the restriction is missing, disabled or longer than {{ app_cert_max_days }} days.
Remediation
- Sign in to the Microsoft Entra admin center as a Security Administrator together with Application Administrator or Cloud Application Administrator.
- Browse to Entra ID > Enterprise apps > Application policies and open the certificate lifetime restriction.
- Set it to On, enter {{ app_cert_max_days }} days, set Applies to to All applications and select Save.
- Graph alternative (scope
Policy.ReadWrite.ApplicationConfiguration):PATCH https://graph.microsoft.com/v1.0/policies/defaultAppManagementPolicyadding{"restrictionType": "asymmetricKeyLifetime", "state": "enabled", "maxLifetime": "P{{ app_cert_max_days }}D"}tokeyCredentialsfor applications and service principals, keeping existing restrictions.
Rollback
Set the certificate lifetime restriction to Off or raise the maximum lifetime.
References
- Configure restrictions on how applications can be configured Microsoft, vendor-doc, accessed 2026-10-24
- tenantAppManagementPolicy resource type Microsoft, vendor-doc, accessed 2026-10-24
Mappings
| Framework | ID | Relation | Note |
|---|---|---|---|
| NIST SP 800-53 Rev. 55.1.1 | IA-5(2) | related | |
| NIST SP 800-53 Rev. 55.1.1 | IA-9 | related | |
| CISA SCuBA Microsoft 365 Secure Configuration Baselines2.0.0 | MS.AAD.5.7v1 | stricter | 180 days by default instead of 365. |
How this control relates to the other framework's: equivalent, stricter, looser, partial or related.
Related controls
- related
CB-M365-APPS-007Limit the lifetime of application client secrets - related
CB-M365-APPS-010Clean up and rotate existing application credentials
People and lifecycle
| Authors |
|
| Introduced in | v0.1.0 |
| Created, updated | 2026-10-24, 2026-10-24 |
| Translations | fr |