Skip to content

Commit 3ecb7e5

Browse files
msmbaldwinCopilot
andcommitted
Fix security best practice accuracy and model practices in procedural content
Accuracy fixes in secure-*.md best practice articles: - secure-keys.md: Fix key rotation interval from 'annually' to 'every two years' to match source of truth (how-to-configure-key-rotation.md line 19) - secure-keys.md: Replace unsourced BYOK FIPS level claim with link to supported HSM vendor list - secure-secrets.md: Replace unsourced '60 days' rotation mandate with guidance to follow org security policy (60-90 days as example) - secure-secrets.md: Replace unsourced '8 hours' cache mandate with general caching guidance linked to throttling article - secure-keys.md, secure-secrets.md: Remove deprecated tags: metadata - secure-certificates.md: Update ms.date Security practice compliance in procedural content: - keys/quick-create-bicep.md: Add enablePurgeProtection: true (was missing despite being a documented best practice) - keys/quick-create-template.md: Add enablePurgeProtection: true - secrets/quick-create-bicep.md: Add IMPORTANT note that external template uses legacy access policies; link to RBAC-compliant template - secrets/quick-create-template.md: Same RBAC warning note added Metadata cleanup: - Remove deprecated tags: field from 5 files (tutorial-rotation, tutorial-rotation-dual, quick-create-template, how-to-configure-key-rotation) - Update ms.date on all modified files Co-authored-by: Copilot <[email protected]>
1 parent 87bae28 commit 3ecb7e5

10 files changed

Lines changed: 22 additions & 23 deletions

articles/key-vault/certificates/secure-certificates.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ ms.service: azure-key-vault
66
ms.subservice: certificates
77
ms.topic: best-practice
88
ms.custom: horz-security
9-
ms.date: 11/10/2025
9+
ms.date: 04/10/2026
1010
ms.author: mbaldwin
1111
ai-usage: ai-assisted
1212
# Customer intent: As a developer using Key Vault certificates, I want to implement certificate-specific security best practices.

articles/key-vault/keys/how-to-configure-key-rotation.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,11 @@ title: Configure cryptographic key auto-rotation in Azure Key Vault
33
description: Use this guide to learn how to configure automated the rotation of a key in Azure Key Vault
44
services: key-vault
55
author: msmbaldwin
6-
tags: 'rotation'
76
ms.custom: devx-track-arm-template, sfi-image-nochange, copilot-scenario-highlight
87
ms.service: azure-key-vault
98
ms.subservice: keys
109
ms.topic: how-to
11-
ms.date: 04/09/2026
10+
ms.date: 04/10/2026
1211
ms.author: mbaldwin
1312
---
1413

articles/key-vault/keys/quick-create-bicep.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ ms.service: azure-key-vault
88
ms.subservice: keys
99
ms.topic: quickstart
1010
ms.author: mbaldwin
11-
ms.date: 04/09/2026
11+
ms.date: 04/10/2026
1212
#Customer intent: As a security admin who is new to Azure, I want to use Key Vault to securely store keys and passwords in Azure.
1313
---
1414

@@ -77,6 +77,7 @@ resource vault 'Microsoft.KeyVault/vaults@2024-11-01' = {
7777
enableRbacAuthorization: true
7878
enableSoftDelete: true
7979
softDeleteRetentionInDays: 90
80+
enablePurgeProtection: true
8081
enabledForDeployment: false
8182
enabledForDiskEncryption: false
8283
enabledForTemplateDeployment: false

articles/key-vault/keys/quick-create-template.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,11 @@ title: Azure Quickstart - Create an Azure key vault and a key by using Azure Res
33
description: Quickstart showing how to create Azure key vaults, and add key to the vaults by using Azure Resource Manager template (ARM template).
44
services: key-vault
55
author: msmbaldwin
6-
tags: azure-resource-manager
76
ms.service: azure-key-vault
87
ms.subservice: keys
98
ms.topic: quickstart
109
ms.custom: mvc, subject-armqs, mode-arm, devx-track-arm-template
11-
ms.date: 04/09/2026
10+
ms.date: 04/10/2026
1211

1312
ms.author: mbaldwin
1413
#Customer intent: As a security admin who is new to Azure, I want to use Key Vault to securely store keys and passwords in Azure.
@@ -115,6 +114,7 @@ To complete this article:
115114
"enableRbacAuthorization": true,
116115
"enableSoftDelete": true,
117116
"softDeleteRetentionInDays": "90",
117+
"enablePurgeProtection": true,
118118
"enabledForDeployment": false,
119119
"enabledForDiskEncryption": false,
120120
"enabledForTemplateDeployment": false,

articles/key-vault/keys/secure-keys.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,11 @@
22
title: Secure your Azure Key Vault keys
33
description: Learn how to secure Azure Key Vault keys, with best practices specific to cryptographic key management.
44
author: msmbaldwin
5-
tags: azure-key-vault
65
ms.service: azure-key-vault
76
ms.subservice: keys
87
ms.topic: best-practice
98
ms.custom: horz-security
10-
ms.date: 04/09/2026
9+
ms.date: 04/10/2026
1110
ms.author: mbaldwin
1211
ai-usage: ai-assisted
1312
# Customer intent: As a developer using Key Vault keys, I want to implement key-specific security best practices.
@@ -48,7 +47,7 @@ For more information about key operations, see [Key operations in Key Vault](abo
4847
Implement regular key rotation to limit exposure from compromised keys:
4948

5049
- **Enable automatic key rotation**: Configure automatic rotation policies to rotate keys without application downtime. See [Configure key autorotation](how-to-configure-key-rotation.md)
51-
- **Set rotation frequency**: Rotate encryption keys at least annually, or more frequently based on compliance requirements
50+
- **Set rotation frequency**: Rotate encryption keys at least every two years, or more frequently based on compliance requirements
5251
- **Use key versioning**: Key Vault automatically versions keys, allowing seamless rotation without breaking existing encrypted data
5352
- **Plan for re-encryption**: For long-term data, implement strategies to re-encrypt data with new key versions
5453

@@ -67,7 +66,7 @@ Protect against data loss by implementing proper backup and recovery procedures:
6766

6867
When importing your own keys into Key Vault, follow security best practices:
6968

70-
- **Use secure key generation**: Generate keys in FIPS 140-2 Level 2 or higher HSMs
69+
- **Use secure key generation**: Generate keys in a [supported on-premises HSM](hsm-protected-keys.md) that meets your compliance requirements
7170
- **Protect keys during transfer**: Use Key Vault's BYOK process to securely transfer keys. See [Import HSM-protected keys to Key Vault (BYOK)](hsm-protected-keys-byok.md)
7271
- **Validate key import**: Verify key attributes and permissions after import
7372
- **Maintain key provenance**: Document the origin and transfer method of imported keys

articles/key-vault/secrets/quick-create-bicep.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ ms.service: azure-key-vault
77
ms.subservice: secrets
88
ms.topic: quickstart
99
ms.custom: mvc, subject-armqs, mode-arm, devx-track-bicep
10-
ms.date: 03/30/2026
10+
ms.date: 04/10/2026
1111

1212
ms.author: mbaldwin
1313
#Customer intent: As a security admin who is new to Azure, I want to use Key Vault to securely store keys and passwords in Azure.
@@ -48,6 +48,9 @@ ms.author: mbaldwin
4848
4949
## Review the Bicep file
5050
51+
> [!IMPORTANT]
52+
> This quickstart uses an external template that creates a vault with legacy access policies. For production deployments, use Azure RBAC authorization instead. See [Create an Azure key vault and a key by using Bicep](../keys/quick-create-bicep.md) for a Bicep template that uses `enableRbacAuthorization: true`, or see [Secure your Azure Key Vault](../general/secure-key-vault.md) for comprehensive security guidance.
53+
5154
The template used in this quickstart is from [Azure Quickstart Templates](https://azure.microsoft.com/resources/templates/key-vault-create/).
5255
5356
:::code language="bicep" source="~/quickstart-templates/quickstarts/microsoft.keyvault/key-vault-create/main.bicep":::

articles/key-vault/secrets/quick-create-template.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,11 @@ title: Azure Quickstart - Create an Azure key vault and a secret by using Azure
33
description: Quickstart showing how to create Azure key vaults, and add secrets to the vaults by using Azure Resource Manager template.
44
services: key-vault
55
author: msmbaldwin
6-
tags: azure-resource-manager
76
ms.service: azure-key-vault
87
ms.subservice: secrets
98
ms.topic: quickstart
109
ms.custom: mvc, subject-armqs, mode-arm, devx-track-arm-template, sfi-image-nochange
11-
ms.date: 12/03/2025
10+
ms.date: 04/10/2026
1211
ms.author: mbaldwin
1312
#Customer intent: As a security admin who is new to Azure, I want to use Key Vault to securely store keys and passwords in Azure.
1413
---
@@ -54,6 +53,9 @@ To complete this article:
5453
5554
## Review the template
5655
56+
> [!IMPORTANT]
57+
> This quickstart uses an external template that creates a vault with legacy access policies. For production deployments, use Azure RBAC authorization instead. See [Create a key vault using an ARM template](../general/vault-create-template.md) for a template that uses `enableRbacAuthorization: true`, or see [Secure your Azure Key Vault](../general/secure-key-vault.md) for comprehensive security guidance.
58+
5759
The template used in this quickstart is from [Azure Quickstart Templates](https://azure.microsoft.com/resources/templates/key-vault-create/).
5860
5961
:::code language="json" source="~/quickstart-templates/quickstarts/microsoft.keyvault/key-vault-create/azuredeploy.json":::

articles/key-vault/secrets/secure-secrets.md

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,11 @@
22
title: Secure your Azure Key Vault secrets
33
description: Learn how to secure Azure Key Vault secrets, with best practices specific to secrets management.
44
author: msmbaldwin
5-
tags: azure-key-vault
65
ms.service: azure-key-vault
76
ms.subservice: secrets
87
ms.topic: best-practice
98
ms.custom: horz-security
10-
ms.date: 11/10/2025
9+
ms.date: 04/10/2026
1110
ms.author: mbaldwin
1211
ai-usage: ai-assisted
1312
# Customer intent: As a developer using Key Vault secrets, I want to implement secrets-specific security best practices.
@@ -50,7 +49,7 @@ When storing secrets in Key Vault, follow these formatting best practices:
5049

5150
Secrets stored in application memory or configuration files persist for the entire application lifecycle, increasing exposure risk. Implement regular secret rotation to minimize compromise risk:
5251

53-
- **Rotate secrets regularly**: Rotate secrets at least every 60 days, or more frequently for high-security scenarios
52+
- **Rotate secrets regularly**: Rotate secrets frequently based on your organization's security policy and the sensitivity of the credential. Shorter rotation intervals (for example, 60-90 days) reduce exposure risk from compromised secrets.
5453
- **Automate rotation**: Use Azure Key Vault's rotation capabilities to automate the rotation process
5554
- **Use dual credentials**: For zero-downtime rotation, implement resources with two sets of authentication credentials
5655

@@ -62,12 +61,10 @@ For more information about secrets rotation, see:
6261

6362
Key Vault enforces service limits to prevent abuse. To optimize secrets access while maintaining security:
6463

65-
- **Cache secrets in memory**: Cache secrets in your application for at least 8 hours to reduce Key Vault API calls
64+
- **Cache secrets in memory**: Cache secrets in your application to reduce Key Vault API calls and avoid throttling. Reuse cached values whenever possible and refresh them when secrets are rotated. For more information, see [Azure Key Vault throttling guidance](../general/overview-throttling.md).
6665
- **Implement retry logic**: Use exponential back-off retry logic to handle transient failures and throttling
6766
- **Refresh on rotation**: Update cached values when secrets are rotated to ensure applications use current credentials
6867

69-
For more information about throttling, see [Azure Key Vault throttling guidance](../general/overview-throttling.md).
70-
7168
## Secrets monitoring
7269

7370
Enable monitoring to track secret access patterns and detect potential security issues:

articles/key-vault/secrets/tutorial-rotation-dual.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,10 @@ title: Rotation tutorial for resources with two sets of credentials
33
description: Use this tutorial to learn how to automate the rotation of a secret for resources that use two sets of authentication credentials.
44
services: key-vault
55
author: msmbaldwin
6-
tags: 'rotation'
76
ms.service: azure-key-vault
87
ms.subservice: secrets
98
ms.topic: tutorial
10-
ms.date: 03/26/2026
9+
ms.date: 04/10/2026
1110

1211
ms.author: mbaldwin
1312
ms.custom: devx-track-azurepowershell, devx-track-azurecli, sfi-image-nochange, copilot-scenario-highlight

articles/key-vault/secrets/tutorial-rotation.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,11 @@ title: Rotation tutorial for resources with one set of authentication credential
33
description: Use this tutorial to learn how to automate the rotation of a secret for resources that use one set of authentication credentials.
44
services: key-vault
55
author: msmbaldwin
6-
tags: 'rotation'
76

87
ms.service: azure-key-vault
98
ms.subservice: secrets
109
ms.topic: tutorial
11-
ms.date: 03/26/2026
10+
ms.date: 04/10/2026
1211

1312
ms.author: mbaldwin
1413
ms.devlang: csharp

0 commit comments

Comments
 (0)