Sign in
Menu
Sign up
Docs

Non-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 (non-RBAC) is assessed to confirm it has an explicit expiration date (`expires` attribute) defined.

Secrets that are valid forever provide a potential attacker with more time to compromise them. Secrets without expiration persist indefinitely, widening the window for misuse.

What this control checks

Non-RBAC key vaults should have an Expiration Date set on every secret

Common pitfalls

Expiration Date is optional and 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 definition "Key Vault secrets should have an expiration date" (98728c90-32c7-4049-8429-847dc0f4fe37); Prowler check keyvault_non_rbac_secret_expiration_set (prowler azure --checks keyvault_non_rbac_secret_expiration_set); PowerPipe controls azure_compliance.control.keyvault_secret_expiration_set and azure_compliance.control.keyvault_with_non_rbac_secret_expiration_set.

Scans of the Terraform code that flag the same setting before deployment: Checkov check CKV_AZURE_41; KICS query "Secret Expiration Not Set" (dfa20ffa-f476-428f-a490-424b41e91c7f); Trivy check AZU-0017.

Framework-specific interpretation

PCI DSS v4.0: Mapped to 8.2.2 (User identification and related accounts for users and administrators are strictly managed throughout an accounts...), 8.2.6 (User identification and related accounts for users and administrators are strictly managed throughout an accounts...), 8.3.10.1 (Strong authentication for users and administrators is established and managed.) and 5 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;), 6.1.2.b (requirements regarding security updates throughout the entire lifetime of the ICT services or ICT products, or...), 9.2.c (the relevant entities approach to key management, including, where appropriate, methods for the following:) and 3 more clauses.

FedRAMP Moderate Baseline Rev 4: Mapped to IA-5 (Authenticator Management).

Framework mappings

The clauses this control is mapped to in each framework.

PCI DSS v4.0

  • 8.2.2: User identification and related accounts for users and administrators are strictly managed throughout an accounts lifecycle.
  • 8.2.6: User identification and related accounts for users and administrators are strictly managed throughout an accounts lifecycle.
  • 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.
3 more clauses
  • 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.
  • A3.4.1: Logical access to the cardholder data environment is controlled and managed.

NIS2 Directive (EU 2022/2555)

  • 6 Security in network and information systems acquisition, development and maintenance
  • 9 Cryptography
  • 12 Asset management

FedRAMP Moderate Baseline Rev 4

  • IA-5 (1): Password-Based Authentication

CIS Azure Benchmark v4.0.0

  • 9.3.4 Ensure that the Expiration Date is set for all Secrets in Non-RBAC Key Vaults

CIS Azure Benchmark v5.0.0

  • 8.3.4 Ensure that the Expiration Date is set for all Secrets in Non-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.4 Ensure that the Expiration Date is set for all Secrets in Non-RBAC Key Vaults

CIS Azure Benchmark v1.5.0

  • 8.4 Ensure that the Expiration Date is set for all Secrets in Non-RBAC Key Vaults

CIS Azure Benchmark v2.0.0

  • 8.4 Ensure that the Expiration Date is set for all Secrets in Non- RBAC Key Vaults

CIS Azure Benchmark v2.1.0

  • 8.4 Ensure that the Expiration Date is set for all Secrets in Non-RBAC Key Vaults

CIS Azure Benchmark v3.0.0

  • 3.3.4 Ensure that the Expiration Date is set for all Secrets in Non-RBAC Key Vaults

CMMC 2.0 Level 2

  • IA.L1-3.5.2 Authenticate (or verify) the identities of users, processes, or devices, as a prerequisite to allowing access to organizational systems

Tool mappings

Use these identifiers to cross-reference this control across tools, reports, and evidence.

  • Compliance.tf Control: keyvault_with_non_rbac_secret_expiration_set
  • Checkov Check: CKV_AZURE_41
  • Powerpipe Controls: azure_compliance.control.keyvault_secret_expiration_set, azure_compliance.control.keyvault_with_non_rbac_secret_expiration_set
  • Prowler Check: keyvault_non_rbac_secret_expiration_set
  • Azure Policy Definition: 98728c90-32c7-4049-8429-847dc0f4fe37
  • KICS Query: dfa20ffa-f476-428f-a490-424b41e91c7f
  • Trivy Check: AZU-0017

Last reviewed: 2026-10-13

View all Azure controls →

On this page

Ask AI about this

Help improve this page