Description:
All cryptographic keys stored in Azure Key Vaults that use Access Policies (non-RBAC model) must have an expiration date configured. This guarantees that keys are rotated regularly and prevents the continued use of outdated or compromised cryptographic material.
Rationale:
Setting an expiration date enforces key lifecycle management and prevents perpetual use of security keys. It supports compliance, limits exposure from compromised credentials, and ensures periodic cryptographic hygiene across workloads.
Impact:
Keys will automatically expire and may stop functioning if applications are not updated with new versions. Key rotation procedures must exist to avoid outages. Organizations benefit from stronger security and improved governance of sensitive cryptographic assets.
Default Value:
Expiration Date: Not set (null) by default
Pre-requisites:
Azure Key Vault uses Access Policies (not Azure RBAC)
User has Key Vault Administrator or equivalent permission
Applications support key rotation
Backup of keys exists (optional but recommended)
Test Plan:
Log in to the Azure Portal: https://portal.azure.com
Navigate to Key Vaults and select the required Key Vault.
Under Objects, click Keys.
Open each key and review the latest version.
Verify that an Expiration date is configured for the key.
If any key does not have an expiration date, follow the implementation steps.
Implementation Steps:
Log in to the Azure Portal: https://portal.azure.com
Navigate to Key Vaults and select the required Key Vault.
Select the Key Vault that is configured to use Access Policies (non-RBAC).
Under Objects, select Keys.
Choose the key that does not have an expiration date configured.
Select the latest active version of the key and click Edit.
Set an appropriate value in the Expiration date field.
Click Save to apply the changes.
Backout Plan:
Sign in to the Azure portal and navigate to Key Vaults.
Select the Key Vault where the expiration date change was applied.
Under Objects, select Keys and open the affected key.
Choose the key version where the expiration date was previously configured.
Click Edit to modify the key settings.
Remove the expiration date or extend it to a future date, as required.
Click Save to apply the changes.
References:
https://learn.microsoft.com/en-us/azure/key-vault/keys/about-keys
https://learn.microsoft.com/en-us/azure/key-vault/general/rbac-access-policy
https://learn.microsoft.com/en-us/azure/key-vault/keys/how-to-set-key-attributes
https://learn.microsoft.com/en-us/azure/governance/policy/samples/key-vault
https://learn.microsoft.com/en-us/azure/security/fundamentals/keys-best-practices


