Skip to content

Commit 54391b1

Browse files
committed
Addressed PR review feedback
1 parent 6860b86 commit 54391b1

14 files changed

+334
-247
lines changed

articles/key-vault/general/developers-guide.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ Periodically, we release a public preview of a new Key Vault feature. Try out th
2828

2929
Azure Key Vault provides a way to securely store credentials and other keys and secrets, but your code needs to authenticate to Key Vault to retrieve them. Managed identities for Azure resources makes solving this problem simpler by giving Azure services an automatically managed identity in Azure Active Directory (Azure AD). You can use this identity to authenticate to any service that supports Azure AD authentication, including Key Vault, without having any credentials in your code.
3030

31-
For more information on managed identities for Azure resources, see [the managed identities overview](../../active-directory/managed-identities-azure-resources/overview.md). For more information on working with AAD, see [Integrating applications with Azure Active Directory](../../active-directory/develop/active-directory-integrating-applications.md).
31+
For more information on managed identities for Azure resources, see [the managed identities overview](../../active-directory/managed-identities-azure-resources/overview.md). For more information on working with Azure AD, see [Integrating applications with Azure Active Directory](../../active-directory/develop/active-directory-integrating-applications.md).
3232

3333
Before working with keys, secrets or certificates in your key vault, you'll create and manage your key vault through CLI, PowerShell, Resource Manager Templates or REST, as described in the following articles:
3434

articles/key-vault/general/overview-throttling.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ Key Vault was originally created with the limits specified in [Azure Key Vault s
3131
1. Cache the secrets you retrieve from Azure Key Vault in memory, and reuse from memory whenever possible. Re-read from Azure Key Vault only when the cached copy stops working (e.g. because it got rotated at the source).
3232
1. Key Vault is designed for your own services secrets. If you are storing your customers' secrets (especially for high-throughput key storage scenarios), consider putting the keys in a database or storage account with encryption, and storing just the master key in Azure Key Vault.
3333
1. Encrypt, wrap, and verify public-key operations can be performed with no access to Key Vault, which not only reduces risk of throttling, but also improves reliability (as long as you properly cache the public key material).
34-
1. If you use Key Vault to store credentials for a service, check if that service supports AAD Authentication to authenticate directly. This reduces the load on Key Vault, improves reliability and simplifies your code since Key Vault can now use the AAD token. Many services have moved to using AAD Auth. See the current list at [Services that support managed identities for Azure resources](../../active-directory/managed-identities-azure-resources/services-support-managed-identities.md#azure-services-that-support-managed-identities-for-azure-resources).
34+
1. If you use Key Vault to store credentials for a service, check if that service supports Azure AD Authentication to authenticate directly. This reduces the load on Key Vault, improves reliability and simplifies your code since Key Vault can now use the Azure AD token. Many services have moved to using Azure AD Auth. See the current list at [Services that support managed identities for Azure resources](../../active-directory/managed-identities-azure-resources/services-support-managed-identities.md#azure-services-that-support-managed-identities-for-azure-resources).
3535
1. Consider staggering your load/deployment over a longer period of time to stay under the current RPS limits.
3636
1. If your app comprises multiple nodes that need to read the same secret(s), then consider using a fan out pattern, where one entity reads the secret from Key Vault, and fans out to all nodes. Cache the retrieved secrets only in memory.
3737
If you find that the above still does not meet your needs, please fill out the below table and contact us to determine what additional capacity can be added (example put below for illustrative purposes only).

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ Refer to the JOSE specifications for relevant data types for keys, encryption, a
4444
- **signature-value** - output of a signature algorithm, encoded using Base64URL
4545
- **base64URL** - a Base64URL [RFC4648] encoded binary value
4646
- **boolean** - either true or false
47-
- **Identity** - an identity from Azure Active Directory (AAD).
47+
- **Identity** - an identity from Azure Active Directory (Azure AD).
4848
- **IntDate** - a JSON decimal value representing the number of seconds from 1970-01-01T0:0:0Z UTC until the specified UTC date/time. See RFC3339 for details regarding date/times, in general and UTC in particular.
4949

5050
### Objects, identifiers, and versioning

articles/security/benchmarks/security-control-data-protection.md

Lines changed: 47 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,21 @@
11
---
22
title: Azure Security Control - Data Protection
3-
description: Azure Security Control Data Protection
3+
description: Security Control Data Protection
44
author: msmbaldwin
5+
manager: rkarlin
6+
57
ms.service: security
68
ms.topic: conceptual
7-
ms.date: 04/03/2020
9+
ms.date: 12/30/2019
810
ms.author: mbaldwin
9-
ms.custom: security-benchmark
11+
ms.custom: security-recommendations
1012

1113
---
1214

1315
# Security Control: Data Protection
1416

17+
Data protection recommendations focus on addressing issues related to encryption, access control lists, identity-based access control, and audit logging for data access.
18+
1519
## 4.1: Maintain an inventory of sensitive Information
1620

1721
| Azure ID | CIS IDs | Responsibility |
@@ -28,31 +32,46 @@ https://docs.microsoft.com/azure/azure-resource-manager/resource-group-using-tag
2832

2933
| Azure ID | CIS IDs | Responsibility |
3034
|--|--|--|
31-
| 4.2 | 13.2, 2.10 | Customer |
35+
| 4.2 | 13.2 | Customer |
36+
37+
Implement separate subscriptions and/or management groups for development, test, and production. Resources should be separated by VNet/Subnet, tagged appropriately, and secured by an NSG or Azure Firewall. Resources storing or processing sensitive data should be sufficiently isolated. For Virtual Machines storing or processing sensitive data, implement policy and procedure(s) to turn them off when not in use.
38+
39+
How to create additional Azure subscriptions:
40+
41+
https://docs.microsoft.com/azure/billing/billing-create-subscription
42+
43+
How to create Management Groups:
44+
45+
https://docs.microsoft.com/azure/governance/management-groups/create
46+
47+
How to create and use Tags:
48+
49+
https://docs.microsoft.com/azure/azure-resource-manager/resource-group-using-tags
50+
51+
How to create a Virtual Network:
52+
53+
https://docs.microsoft.com/azure/virtual-network/quick-create-portal
54+
55+
How to create an NSG with a Security Config:
3256

33-
Implement isolation using separate subscriptions and management groups for individual security domains such as environment type and data sensitivity level. You can restrict the level of access to your Azure resources that your applications and enterprise environments demand. You can control access to Azure resources via Azure Active Directory role-based access control.
57+
https://docs.microsoft.com/azure/virtual-network/tutorial-filter-network-traffic
3458

35-
How to create additional Azure subscriptions: https://docs.microsoft.com/azure/billing/billing-create-subscription
59+
How to deploy Azure Firewall:
3660

37-
How to create Management Groups: https://docs.microsoft.com/azure/governance/management-groups/create
61+
https://docs.microsoft.com/azure/firewall/tutorial-firewall-deploy-portal
3862

39-
How to create and use tags: https://docs.microsoft.com/azure/azure-resource-manager/resource-group-using-tags
63+
How to configure alert or alert and deny with Azure Firewall:
64+
65+
https://docs.microsoft.com/azure/firewall/threat-intel
4066

4167
## 4.3: Monitor and block unauthorized transfer of sensitive information
4268

4369
| Azure ID | CIS IDs | Responsibility |
4470
|--|--|--|
45-
| 4.3 | 13.3 | Shared |
71+
| 4.3 | 13.3 | Customer |
4672

4773
Deploy an automated tool on network perimeters that monitors for unauthorized transfer of sensitive information and blocks such transfers while alerting information security professionals.
4874

49-
For the underlying platform which is managed by Microsoft, Microsoft treats all customer content as sensitive and goes to great lengths to guard against customer data loss and exposure. To ensure customer data within Azure remains secure, Microsoft has implemented and maintains a suite of robust data protection controls and
50-
capabilities.
51-
52-
Understand customer data protection in Azure:
53-
54-
https://docs.microsoft.com/azure/security/fundamentals/protection-customer-data
55-
5675
## 4.4: Encrypt all sensitive information in transit
5776

5877
| Azure ID | CIS IDs | Responsibility |
@@ -71,17 +90,14 @@ https://docs.microsoft.com/azure/security/fundamentals/encryption-overview#encry
7190

7291
| Azure ID | CIS IDs | Responsibility |
7392
|--|--|--|
74-
| 4.5 | 14.5 | Shared |
93+
| 4.5 | 14.5 | Customer |
7594

7695
When no feature is available for your specific service in Azure, use a third-party active discovery tool to identify all sensitive information stored, processed, or transmitted by the organization's technology systems, including those located on-site, or at a remote service provider, and update the organization's sensitive information inventory.
7796

7897
Use Azure Information Protection for identifying sensitive information within Office 365 documents.
7998

8099
Use Azure SQL Information Protection to assist in the classification and labeling of information stored in Azure SQL Databases.
81100

82-
For the underlying platform which is managed by Microsoft, Microsoft treats all customer content as sensitive and goes to great lengths to guard against customer data loss and exposure. To ensure customer data within Azure remains secure, Microsoft has implemented and maintains a suite of robust data protection controls and
83-
capabilities.
84-
85101
How to implement Azure SQL Data Discovery:
86102

87103
https://docs.microsoft.com/azure/sql-database/sql-database-data-discovery-and-classification
@@ -90,18 +106,18 @@ How to implement Azure Information Protection:
90106

91107
https://docs.microsoft.com/azure/information-protection/deployment-roadmap
92108

93-
Understand customer data protection in Azure:
94-
95-
https://docs.microsoft.com/azure/security/fundamentals/protection-customer-data
96-
97-
## 4.6: Use Role-based access control to control access to resources
109+
## 4.6: Use Azure RBAC to control access to resources
98110

99111
| Azure ID | CIS IDs | Responsibility |
100112
|--|--|--|
101113
| 4.6 | 14.6 | Customer |
102114

103115
Use Azure AD RBAC to control access to data and resources, otherwise use service specific access control methods.
104116

117+
Understand Azure RBAC:
118+
119+
https://docs.microsoft.com/azure/role-based-access-control/overview
120+
105121
How to configure RBAC in Azure:
106122

107123
https://docs.microsoft.com/azure/role-based-access-control/role-assignments-portal
@@ -110,15 +126,9 @@ https://docs.microsoft.com/azure/role-based-access-control/role-assignments-port
110126

111127
| Azure ID | CIS IDs | Responsibility |
112128
|--|--|--|
113-
| 4.7 | 14.7 | Shared |
114-
115-
If required for compliance on compute resources, implement a third-party tool, such as an automated host-based Data Loss Prevention solution, to enforce access controls to data even when data is copied off a system.
116-
117-
For the underlying platform which is managed by Microsoft, Microsoft treats all customer content as sensitive and goes to great lengths to guard against customer data loss and exposure. To ensure customer data within Azure remains secure, Microsoft has implemented and maintains a suite of robust data protection controls and capabilities.
129+
| 4.7 | 14.7 | Customer |
118130

119-
Understand customer data protection in Azure:
120-
121-
https://docs.microsoft.com/azure/security/fundamentals/protection-customer-data
131+
Implement a third-party tool, such as an automated host-based Data Loss Prevention solution, to enforce access controls to data even when data is copied off a system.
122132

123133
## 4.8: Encrypt sensitive information at rest
124134

@@ -133,6 +143,7 @@ Understand encryption at rest in Azure:
133143
https://docs.microsoft.com/azure/security/fundamentals/encryption-atrest
134144

135145
How to configure customer managed encryption keys:
146+
136147
https://docs.microsoft.com/azure/storage/common/storage-encryption-keys-portal
137148

138149
## 4.9: Log and alert on changes to critical Azure resources
@@ -147,3 +158,6 @@ How to create alerts for Azure Activity Log events:
147158

148159
https://docs.microsoft.com/azure/azure-monitor/platform/alerts-activity-log
149160

161+
## Next steps
162+
163+
See the next security control: [Vulnerability Management](security-control-vulnerability-management.md)
Lines changed: 22 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,21 @@
11
---
22
title: Azure Security Control - Data Recovery
3-
description: Azure Security Control Data Recovery
3+
description: Security Control Data Recovery
44
author: msmbaldwin
5+
manager: rkarlin
6+
57
ms.service: security
68
ms.topic: conceptual
7-
ms.date: 04/03/2020
9+
ms.date: 12/30/2019
810
ms.author: mbaldwin
9-
ms.custom: security-benchmark
11+
ms.custom: security-recommendations
1012

1113
---
1214

1315
# Security Control: Data Recovery
1416

17+
Ensure that all system data, configurations, and secrets are automatically backed up on a regular basis.
18+
1519
## 9.1: Ensure regular automated back ups
1620

1721
| Azure ID | CIS IDs | Responsibility |
@@ -21,6 +25,7 @@ ms.custom: security-benchmark
2125
Enable Azure Backup and configure the backup source (Azure VMs, SQL Server, or File Shares), as well as the desired frequency and retention period.
2226

2327
How to enable Azure Backup:
28+
2429
https://docs.microsoft.com/azure/backup/
2530

2631
## 9.2: Perform complete system backups and backup any customer managed keys
@@ -32,9 +37,11 @@ https://docs.microsoft.com/azure/backup/
3237
Enable Azure Backup and target VM(s), as well as the desired frequency and retention periods. Backup customer managed keys within Azure Key Vault.
3338

3439
How to enable Azure Backup:
40+
3541
https://docs.microsoft.com/azure/backup/
3642

3743
How to backup key vault keys in Azure:
44+
3845
https://docs.microsoft.com/powershell/module/azurerm.keyvault/backup-azurekeyvaultkey?view=azurermps-6.13.0
3946

4047
## 9.3: Validate all backups including customer managed keys
@@ -43,25 +50,28 @@ https://docs.microsoft.com/powershell/module/azurerm.keyvault/backup-azurekeyvau
4350
|--|--|--|
4451
| 9.3 | 10.3 | Customer |
4552

46-
Ensure ability to periodically perform data restoration of content within Azure Backup. Test restoration of backed up customer managed keys.
53+
Ensure ability to periodically perform data restoration of content within Azure Backup. If necessary, test restore to an isolated VLAN. Test restoration of backed up customer managed keys.
54+
55+
How to recover files from Azure Virtual Machine backup:
4756

48-
How to recover files from Azure Virtual Machine backup: https://docs.microsoft.com/azure/backup/backup-azure-restore-files-from-vm
57+
https://docs.microsoft.com/azure/backup/backup-azure-restore-files-from-vm
4958

50-
How to restore key vault keys in Azure: https://docs.microsoft.com/powershell/module/azurerm.keyvault/restore-azurekeyvaultkey?view=azurermps-6.13.0
59+
How to restore key vault keys in Azure:
60+
61+
https://docs.microsoft.com/powershell/module/azurerm.keyvault/restore-azurekeyvaultkey?view=azurermps-6.13.0
5162

5263
## 9.4: Ensure protection of backups and customer managed keys
5364

5465
| Azure ID | CIS IDs | Responsibility |
5566
|--|--|--|
5667
| 9.4 | 10.4 | Customer |
5768

58-
For on-premises backup, encryption-at-rest is provided using the passphrase you provide when backing up to Azure. For Azure VMs, data is encrypted-at-rest using Storage Service Encryption (SSE). Use role-based access control to protect backups and customer managed keys.
59-
60-
Enable Soft-Delete and purge protection in Key Vault to protect keys against accidental or malicious deletion. If Azure Storage is used to store backups, enable soft delete to save and recover your data when blobs or blob snapshots are deleted.
69+
For on-premises backup, encryption-at-rest is provided using the passphrase you provide when backing up to Azure. For Azure VMs, data is encrypted-at-rest using Storage Service Encryption (SSE). You may enable Soft-Delete in Key Vault to protect keys against accidental or malicious deletion.
6170

62-
Understand Azure RBAC: https://docs.microsoft.com/azure/role-based-access-control/overview
71+
How to enable Soft-Delete in Key Vault:
6372

64-
How to enable Soft-Delete and Purge protection in Key Vault: https://docs.microsoft.com/azure/storage/blobs/storage-blob-soft-delete?tabs=azure-portal
73+
https://docs.microsoft.com/azure/storage/blobs/storage-blob-soft-delete?tabs=azure-portal
6574

66-
Soft delete for Azure Storage blobs: https://docs.microsoft.com/azure/storage/blobs/storage-blob-soft-delete?tabs=azure-portal
75+
## Next steps
6776

77+
See the next security control: [Incident Response](security-control-incident-response.md)

0 commit comments

Comments
 (0)