Sign in
Menu
Sign up
Docs

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.

PCI DSS v4.0

  • 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.

NIS2 Directive (EU 2022/2555)

  • 9 Cryptography
  • 12 Asset management

CIS Azure Benchmark v4.0.0

  • 9.3.3 Ensure that the Expiration Date is set for all Secrets in RBAC Key Vaults

CIS Azure Benchmark v5.0.0

  • 8.3.3 Ensure that the Expiration Date is set for all Secrets in RBAC Key Vaults

BSI C5:2025

  • 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.

CIS Azure Benchmark v1.4.0

  • 8.3 Ensure that the Expiration Date is set for all Secrets in RBAC Key Vaults

CIS Azure Benchmark v1.5.0

  • 8.3 Ensure that the Expiration Date is set for all Secrets in RBAC Key Vaults

CIS Azure Benchmark v2.0.0

  • 8.3 Ensure that the Expiration Date is set for all Secrets in RBAC Key Vaults

CIS Azure Benchmark v2.1.0

  • 8.3 Ensure that the Expiration Date is set for all Secrets in RBAC Key Vaults

CIS Azure Benchmark v3.0.0

  • 3.3.3 Ensure that the Expiration Date is set for all Secrets in RBAC Key Vaults

HIPAA Security Rule 2003

  • 164.308(a)(5)(ii)(D): Administrative Safeguards

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

View all Azure controls →

On this page

Ask AI about this

Help improve this page