Skip to content

Commit e5b6472

Browse files
committed
updates to address pr issues
1 parent e619bfd commit e5b6472

5 files changed

Lines changed: 72 additions & 77 deletions

File tree

learn-pr/wwl-sci/design-solutions-secure-organization-data/includes/2-design-solution-data-discovery-classification-microsoft-purview.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -47,12 +47,12 @@ Be granular and explicit when defining what's in scope for classification. The W
4747

4848
Start with these questions to define your scope:
4949

50-
1. What's the origin of data and information type?
51-
2. What's the expected restriction based on access (public, regulatory, internal use)?
52-
3. What's the data footprint—where is it stored and how long should it be retained?
53-
4. Which architecture components interact with the data?
54-
5. How does data move through the system?
55-
6. What information is expected in audit reports?
50+
- What's the origin of data and information type?
51+
- What's the expected restriction based on access (public, regulatory, internal use)?
52+
- What's the data footprint—where is it stored and how long should it be retained?
53+
- Which architecture components interact with the data?
54+
- How does data move through the system?
55+
- What information is expected in audit reports?
5656

5757
### Designing architecture based on classification labels
5858

@@ -97,10 +97,10 @@ The MCRA emphasizes that labels should persist with data as it moves across your
9797

9898
This control requires organizations to:
9999

100-
1. **Establish a data classification scheme** that defines sensitivity levels and handling requirements
101-
2. **Implement automated discovery** to find sensitive data across cloud and on-premises environments
102-
3. **Apply sensitivity labels** that persist with data and enable downstream protection
103-
4. **Maintain data inventories** that track where sensitive data resides
100+
- **Establish a data classification scheme** that defines sensitivity levels and handling requirements
101+
- **Implement automated discovery** to find sensitive data across cloud and on-premises environments
102+
- **Apply sensitivity labels** that persist with data and enable downstream protection
103+
- **Maintain data inventories** that track where sensitive data resides
104104

105105
### DP-2: Monitor anomalies and threats targeting sensitive data
106106

learn-pr/wwl-sci/design-solutions-secure-organization-data/includes/3-design-solution-data-protection.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,10 @@ The MCSB and WAF Security pillar provide guidance for prioritizing data protecti
1818

1919
The CAF Secure methodology recommends implementing layered controls:
2020

21-
1. **Encryption layer**: Protect data confidentiality through encryption at rest and in transit
22-
2. **Access control layer**: Limit who can access data through identity and authorization
23-
3. **Network layer**: Isolate data through private endpoints and network segmentation
24-
4. **Monitoring layer**: Detect anomalies and threats through logging and alerting
21+
- **Encryption layer**: Protect data confidentiality through encryption at rest and in transit
22+
- **Access control layer**: Limit who can access data through identity and authorization
23+
- **Network layer**: Isolate data through private endpoints and network segmentation
24+
- **Monitoring layer**: Detect anomalies and threats through logging and alerting
2525

2626
## MCSB controls for data protection
2727

@@ -71,10 +71,10 @@ Key management requires:
7171

7272
When designing encryption at rest:
7373

74-
1. **Identify encryption requirements** based on data classification and compliance needs
75-
2. **Choose encryption scope** at account, container, or object level
76-
3. **Determine key management approach** between platform-managed and customer-managed
77-
4. **Enable infrastructure encryption** for double encryption when required
74+
- **Identify encryption requirements** based on data classification and compliance needs
75+
- **Choose encryption scope** at account, container, or object level
76+
- **Determine key management approach** between platform-managed and customer-managed
77+
- **Enable infrastructure encryption** for double encryption when required
7878

7979
#### Double encryption
8080

@@ -88,10 +88,10 @@ For highly sensitive workloads, implement [double encryption](/azure/security/fu
8888

8989
Design considerations for data in transit:
9090

91-
1. **Enforce HTTPS** for all web traffic and API calls
92-
2. **Configure minimum TLS version** to 1.2 across all services
93-
3. **Use private connectivity** through Private Link where possible
94-
4. **Encrypt within virtual networks** using VPN or ExpressRoute with encryption
91+
- **Enforce HTTPS** for all web traffic and API calls
92+
- **Configure minimum TLS version** to 1.2 across all services
93+
- **Use private connectivity** through Private Link where possible
94+
- **Encrypt within virtual networks** using VPN or ExpressRoute with encryption
9595

9696
## Azure Key Vault for key management
9797

learn-pr/wwl-sci/design-solutions-secure-organization-data/includes/4-design-data-security-azure-workloads.md

Lines changed: 37 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,10 @@ Apply Zero Trust principles consistently across all data services:
3131

3232
When designing security for any Azure data workload, address these questions:
3333

34-
1. **Network access**: Should the service be accessible from the internet, or only through private endpoints?
35-
2. **Authentication method**: Can you use Microsoft Entra ID, or do legacy requirements mandate other methods?
36-
3. **Key management**: Are platform-managed keys sufficient, or do regulations require customer-managed keys?
37-
4. **Threat detection**: What level of monitoring and alerting does the workload require?
34+
- **Network access**: Should the service be accessible from the internet, or only through private endpoints?
35+
- **Authentication method**: Can you use Microsoft Entra ID, or do legacy requirements mandate other methods?
36+
- **Key management**: Are platform-managed keys sufficient, or do regulations require customer-managed keys?
37+
- **Threat detection**: What level of monitoring and alerting does the workload require?
3838

3939
## Design security for Azure SQL Database and Azure SQL Managed Instance
4040

@@ -54,13 +54,11 @@ Firewalls prevent network access to the server until you explicitly grant access
5454
5555
### Authentication for Azure SQL
5656

57-
Azure SQL Database and SQL Managed Instance support authentication with Microsoft Entra ID and SQL authentication. SQL Managed Instance additionally supports Windows authentication for Microsoft Entra principals.
57+
Azure SQL Database and SQL Managed Instance support multiple authentication methods:
5858

59-
| Authentication type | Description | Best practice |
60-
|---------------------|-------------|---------------|
61-
| **Microsoft Entra authentication** | Centrally manage identities and permissions of database users along with other Azure services. Supports multifactor authentication, Integrated Windows authentication, and Conditional Access. | Preferred method for all new deployments |
62-
| **Windows authentication (Kerberos)** | Enables Windows authentication for Azure SQL Managed Instance. Empowers customers to move existing services to the cloud while maintaining a seamless user experience. | Use for hybrid environments with Managed Instance |
63-
| **SQL authentication** | Authenticate using username and password. | Avoid for new deployments; use only for legacy applications |
59+
- **Microsoft Entra authentication**: Centrally manage identities and permissions using Microsoft Entra ID. Supports multifactor authentication, Integrated Windows authentication, and Conditional Access. This is the preferred method for all new deployments.
60+
- **Windows authentication (Kerberos)**: Available for Azure SQL Managed Instance only. Enables Windows authentication for Microsoft Entra principals, allowing customers to move existing services to the cloud while maintaining a seamless user experience.
61+
- **SQL authentication**: Username and password authentication. Avoid for new deployments; use only for legacy applications that can't support Microsoft Entra authentication.
6462

6563
### Authorization and access management
6664

@@ -96,8 +94,6 @@ Azure SQL provides comprehensive encryption capabilities:
9694

9795
**Advanced Threat Protection**: Analyzes logs to detect unusual behavior and potentially harmful attempts to access or exploit databases:
9896

99-
:::image type="content" source="../media/advanced-threat-detection.png" alt-text="Diagram showing SQL Threat Detection monitoring access to the SQL database for a web app from an external attacker and malicious insider.":::
100-
10197
Advanced Threat Protection creates alerts for:
10298

10399
- SQL injection attempts
@@ -113,32 +109,41 @@ Advanced Threat Protection creates alerts for:
113109

114110
## Design security for Azure Synapse Analytics
115111

116-
[Azure Synapse Analytics](/azure/synapse-analytics/guidance/security-white-paper-introduction) is a PaaS analytics service that brings together dedicated SQL pools, serverless SQL pools, Apache Spark pools, and data integration pipelines. Azure Synapse implements a multi-layered security architecture for end-to-end protection.
112+
[Azure Synapse Analytics](/azure/synapse-analytics/guidance/security-white-paper-introduction) is a PaaS analytics service that brings together dedicated SQL pools, serverless SQL pools, Apache Spark pools, and data integration pipelines. Azure Synapse implements a multi-layered security architecture for end-to-end protection of your data.
117113

118114
### Security layers for Synapse
119115

120116
Azure Synapse implements five security layers:
121117

122-
:::image type="content" source="../media/azure-synapse-security-layers.png" alt-text="Image showing the five layers of Azure Synapse security architecture: Data protection, Access control, Authentication, Network security, and Threat protection.":::
118+
:::image type="content" source="../media/azure-synapse-security-layers.png" alt-text="Diagram of the five layers of Azure Synapse security architecture: Data protection, Access control, Authentication, Network security, and Threat protection.":::
119+
120+
### Data protection
121+
122+
Data protection in Synapse covers data classification and encryption:
123+
124+
- **At rest (storage)**: Azure Storage encryption with SSE and optional CMK
125+
- **At rest (database)**: TDE with service-managed or customer-managed keys
126+
- **In transit**: TLS 1.2 with AES-256 encryption
127+
- **Double encryption**: Infrastructure encryption at storage layer
123128

124-
1. **Data protection**: Identify and classify sensitive data; encrypt data at rest and in motion
125-
2. **Access control**: Determine a user's right to interact with data using RBAC, row-level security, and column-level security
126-
3. **Authentication**: Prove the identity of users and applications through Microsoft Entra integration
127-
4. **Network security**: Isolate network traffic with private endpoints and virtual private networks
128-
5. **Threat protection**: Identify potential security threats such as unusual access locations, SQL injection attacks, and authentication attacks
129+
### Access control
129130

130-
### Component architecture
131+
Synapse provides granular access controls to determine a user's right to interact with data:
131132

132-
Each individual component of Azure Synapse provides its own security features:
133+
- **Synapse RBAC roles**: Manage workspace and resource access
134+
- **SQL permissions**: Control data access in SQL pools using row-level security and column-level security
135+
- **Azure RBAC**: Manage control plane access
136+
- **Data exfiltration protection**: Prevent unauthorized data export to external locations
133137

134-
:::image type="content" source="../media/azure-synapse-components.png" alt-text="Diagram of Azure Synapse components showing dedicated SQL pools, serverless SQL pools, Apache Spark pools, and pipelines.":::
138+
### Authentication
135139

136-
- **Dedicated SQL pools**: Provisioned clusters with enterprise data warehousing capabilities where compute is isolated from storage
137-
- **Serverless SQL pools**: On-demand clusters that query data directly over customer-managed Azure Storage accounts
138-
- **Apache Spark pools**: Spark instances provisioned on-demand based on metadata configurations
139-
- **Pipelines and Data flows**: Logical grouping of activities for data movement and transformation
140+
Prove the identity of users and applications through Microsoft Entra integration:
140141

141-
### Network security for Synapse
142+
- **Microsoft Entra authentication**: Centralized identity management with support for multifactor authentication
143+
- **Managed identities**: Service-to-service authentication without credentials
144+
- **Service principals**: Application authentication for automated processes
145+
146+
### Network security
142147

143148
Associate your Synapse workspace with a [managed workspace virtual network](/azure/synapse-analytics/security/synapse-workspace-managed-vnet) to:
144149

@@ -147,23 +152,13 @@ Associate your Synapse workspace with a [managed workspace virtual network](/azu
147152
- Ensure network isolation between workspaces for pipelines and Apache Spark workloads
148153
- Prevent data exfiltration through network controls
149154

150-
### Data encryption in Synapse
151-
152-
| Data state | Protection mechanism |
153-
|------------|---------------------|
154-
| **At rest (storage)** | Azure Storage encryption with SSE and optional CMK |
155-
| **At rest (database)** | TDE with service-managed or customer-managed keys |
156-
| **In transit** | TLS 1.2 with AES-256 encryption |
157-
| **Double encryption** | Infrastructure encryption at storage layer |
158-
159-
### Access control for Synapse
155+
### Threat protection
160156

161-
Synapse provides granular access controls:
157+
Identify potential security threats through monitoring and alerting:
162158

163-
- **Synapse RBAC roles**: Manage workspace and resource access
164-
- **SQL permissions**: Control data access in SQL pools
165-
- **Azure RBAC**: Manage control plane access
166-
- **Data exfiltration protection**: Prevent unauthorized data export to external locations
159+
- **Microsoft Defender for SQL**: Detect unusual access locations, SQL injection attacks, and authentication attacks
160+
- **Auditing**: Track database activities and maintain compliance with security standards
161+
- **Vulnerability assessment**: Discover and remediate potential security weaknesses
167162

168163
## Design security for Azure Cosmos DB
169164

learn-pr/wwl-sci/design-solutions-secure-organization-data/includes/4a-design-security-data-ai-workloads.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,10 @@ Apply Zero Trust principles to AI service access:
5050

5151
When grounding AI responses with organizational data (retrieval-augmented generation):
5252

53-
1. **Data remains in your control**: Azure OpenAI doesn't copy your data; it retrieves from your designated sources
54-
2. **Access permissions flow through**: Users only receive responses based on data they're authorized to access
55-
3. **Encryption applies**: Data in Azure AI Search and storage maintains encryption at rest and in transit
56-
4. **Private connectivity**: Configure private endpoints between Azure OpenAI, AI Search, and storage accounts
53+
- **Data remains in your control**: Azure OpenAI doesn't copy your data; it retrieves from your designated sources
54+
- **Access permissions flow through**: Users only receive responses based on data they're authorized to access
55+
- **Encryption applies**: Data in Azure AI Search and storage maintains encryption at rest and in transit
56+
- **Private connectivity**: Configure private endpoints between Azure OpenAI, AI Search, and storage accounts
5757

5858
### Data residency and processing
5959

learn-pr/wwl-sci/design-solutions-secure-organization-data/includes/5-design-security-azure-storage.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ The MCSB control [NS-2](/azure/cloud-adoption-framework/organize/cloud-security-
1919

2020
When designing network security for Azure Storage:
2121

22-
1. **Disable public blob access** at the storage account level for sensitive data
23-
2. **Configure private endpoints** for each storage service (blob, file, queue, table)
24-
3. **Use network security groups** to control traffic to private endpoints
25-
4. **Implement Azure Firewall** or NVA for centralized traffic inspection
22+
- **Disable public blob access** at the storage account level for sensitive data
23+
- **Configure private endpoints** for each storage service (blob, file, queue, table)
24+
- **Use network security groups** to control traffic to private endpoints
25+
- **Implement Azure Firewall** or NVA for centralized traffic inspection
2626

2727
### DNS considerations for private endpoints
2828

@@ -99,11 +99,11 @@ Azure Storage supports [data plane RBAC](/azure/storage/blobs/authorize-access-a
9999

100100
When SAS tokens are necessary, follow these best practices:
101101

102-
1. **Use user delegation SAS** backed by Microsoft Entra credentials
103-
2. **Apply shortest practical validity periods**
104-
3. **Grant minimum required permissions**
105-
4. **Use stored access policies** for service SAS management
106-
5. **Implement secure SAS distribution** mechanisms
102+
- **Use user delegation SAS** backed by Microsoft Entra credentials
103+
- **Apply shortest practical validity periods**
104+
- **Grant minimum required permissions**
105+
- **Use stored access policies** for service SAS management
106+
- **Implement secure SAS distribution** mechanisms
107107

108108
### Blob access tiers and security
109109

0 commit comments

Comments
 (0)