RBAC key vaults should have 'Expiration Date' configured for all secrets
Secrets should have a defined expiration date and not be permanent. Each enabled secret in an Azure Key Vault (RBAC) is assessed to confirm it has an expiration date configured.
Secrets that are valid forever provide a potential attacker with more time to compromise them. Without an expiration, secrets become perpetual credentials. Leaked or abandoned values can grant persistent access, undermining confidentiality and integrity.
What this control checks
Secrets must have an expiration date set; secrets with no expiresOn or expiration_date fail.
Common pitfalls
Expiration Date is not set by default
Expiration Date is an optional Key Vault Secret behavior and is not set by default.
Audit evidence
Evidence that deployed resources meet this control: Azure Policy compliance results for the built-in policy definitions "Secrets should have the specified maximum validity period" (342e8053-e12e-4c44-be01-c3c2f318400f) and "Key Vault secrets should have an expiration date" (98728c90-32c7-4049-8429-847dc0f4fe37); Prowler check keyvault_rbac_secret_expiration_set (prowler azure --checks keyvault_rbac_secret_expiration_set); PowerPipe controls azure_compliance.control.keyvault_secret_expiration_set and azure_compliance.control.keyvault_with_rbac_secret_expiration_set.
Scans of the Terraform code that flag the same setting before deployment: Checkov check CKV_AZURE_41; Trivy check AZU-0017.
Framework-specific interpretation
PCI DSS v4.0: Mapped to 8.3.10.1 (Strong authentication for users and administrators is established and managed.), 8.3.5 (Strong authentication for users and administrators is established and managed.), 8.3.7 (Strong authentication for users and administrators is established and managed.) and 2 more clauses.
NIS2 Directive (EU 2022/2555): Mapped to 12.2.2.a (cover the entire life cycle of the assets, including acquisition, use, storage, transportation and disposal;), 9.2.c (the relevant entities approach to key management, including, where appropriate, methods for the following:), 9.2.c.i (generating different keys for cryptographic systems and applications;) and 3 more clauses.
Framework mappings
The clauses this control is mapped to in each framework.
- 8.3.5: Strong authentication for users and administrators is established and managed.
- 8.3.7: Strong authentication for users and administrators is established and managed.
- 8.3.9: Strong authentication for users and administrators is established and managed.
- 8.3.10.1: Strong authentication for users and administrators is established and managed.
- 8.6.3: Use of application and system accounts and associated authentication factors is strictly managed.
- 9 Cryptography
- 12 Asset management
- 9.3.3 Ensure that the Expiration Date is set for all Secrets in RBAC Key Vaults
- 8.3.3 Ensure that the Expiration Date is set for all Secrets in RBAC Key Vaults
- CRY-10.01AC For the secure storage of cryptographic keys, the cloud service provider uses a suitable software or hardware security module.
- CRY-10.01B The cloud service provider has documented and implemented technical measures for the secure storage of cryptographic keys. This includes ensuring separation of the key management system from the application and middleware layers, defining how authorised users gain access and...
- CRY-11.01B The cloud service provider has documented and implemented procedures and technical measures for the secure archiving of cryptographic keys. These include: - Storage of archived keys in a secure repository to prevent unauthorised access;- Restriction of access to archived keys to...
- CRY-14.01B The cloud service provider has documented and implemented procedures to deactivate cryptographic keys once they expire. These procedures ensure that: - Expired keys are no longer used for encryption purposes, but may still be used for decryption if necessary;- Expired keys are no...
- DEV-12.02B Unless unavoidable, the cloud service provider does not reuse the cryptographic secret and private keys and other secrets used in production environments in other, non-production environments. Any unavoidable reuse of the cryptographic secret and private keys between production and...
1 more clause
- PSS-07.02B The cloud service provider distributes credentials using additional security mechanisms to verify the identity of the recipient (e.g. multi-factor authentication), validate the request and protect the credentials.
- 8.3 Ensure that the Expiration Date is set for all Secrets in RBAC Key Vaults
- 8.3 Ensure that the Expiration Date is set for all Secrets in RBAC Key Vaults
- 8.3 Ensure that the Expiration Date is set for all Secrets in RBAC Key Vaults
- 8.3 Ensure that the Expiration Date is set for all Secrets in RBAC Key Vaults
- 3.3.3 Ensure that the Expiration Date is set for all Secrets in RBAC Key Vaults
- 164.308(a)(5)(ii)(D): Administrative Safeguards
Related controls
Tool mappings
Use these identifiers to cross-reference this control across tools, reports, and evidence.
- Compliance.tf Control:
keyvault_with_rbac_secret_expiration_set - Checkov Check:
CKV_AZURE_41 - Powerpipe Controls:
azure_compliance.control.keyvault_secret_expiration_set,azure_compliance.control.keyvault_with_rbac_secret_expiration_set - Prowler Check:
keyvault_rbac_secret_expiration_set - Azure Policy Definitions:
342e8053-e12e-4c44-be01-c3c2f318400f,98728c90-32c7-4049-8429-847dc0f4fe37 - Trivy Check:
AZU-0017
Last reviewed: 2026-10-13