Skip to content

Commit d5601c2

Browse files
authored
Merge branch 'MicrosoftDocs:main' into fix-naming-and-decouple-pr-copilot-coding0agent
2 parents f109ede + 86783f0 commit d5601c2

489 files changed

Lines changed: 12169 additions & 3599 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.openpublishing.redirection.json

Lines changed: 181 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38920,6 +38920,39 @@
3892038920
"redirect_url": "https://learn.microsoft.com/azure/cosmos-db",
3892138921
"redirect_document_id": false
3892238922
},
38923+
{
38924+
"source_path": "learn-pr/wwl-azure/describe-azure-compute-networking-services/10-virtual-private-networks.md",
38925+
"redirect_url": "https://learn.microsoft.com/training/modules/describe-azure-networking-services/",
38926+
"redirect_document_id": false
38927+
},
38928+
38929+
{
38930+
"source_path": "learn-pr/wwl-azure/describe-azure-compute-networking-services/11-expressroute.md",
38931+
"redirect_url": "https://learn.microsoft.com/training/modules/describe-azure-networking-services/",
38932+
"redirect_document_id": false
38933+
},
38934+
38935+
{
38936+
"source_path": "learn-pr/wwl-azure/describe-azure-compute-networking-services/12-domain-name-system.md",
38937+
"redirect_url": "https://learn.microsoft.com/training/modules/describe-azure-networking-services/",
38938+
"redirect_document_id": false
38939+
},
38940+
38941+
{
38942+
"source_path": "learn-pr/wwl-azure/describe-azure-compute-networking-services/3-exercise-create-azure-virtual-machine.md",
38943+
"redirect_url": "https://learn.microsoft.com/training/modules/describe-azure-networking-services/",
38944+
"redirect_document_id": false
38945+
},
38946+
{
38947+
"source_path": "learn-pr/wwl-azure/describe-azure-compute-networking-services/8-virtual-network.md",
38948+
"redirect_url": "https://learn.microsoft.com/training/modules/describe-azure-networking-services/",
38949+
"redirect_document_id": false
38950+
},
38951+
{
38952+
"source_path": "learn-pr/wwl-azure/describe-azure-compute-networking-services/9-exercise-configure-network-access.md",
38953+
"redirect_url": "https://learn.microsoft.com/training/modules/describe-azure-networking-services/",
38954+
"redirect_document_id": false
38955+
},
3892338956
{
3892438957
"source_path": "learn-pr/azure/build-chat-bot-azure-cosmos-db-openai-blazor/2-prepare.yml",
3892538958
"redirect_url": "https://learn.microsoft.com/azure/cosmos-db",
@@ -65194,6 +65227,151 @@
6519465227
"source_path": "learn-pr/azure/optimize-spend-and-performance-with-azure-ai-foundry-provisioned-reservations/summary.yml",
6519565228
"redirect_url": "/azure/foundry/",
6519665229
"redirect_document_id": false
65197-
}
65198-
]
65199-
}
65230+
},
65231+
{
65232+
"source_path": "learn-pr/wwl-azure/teach-azure-204-develop-solution-microsoft-azure-academic-programs/1-introduction.yml",
65233+
"redirect_url": "https://learn.microsoft.com/en-us/training/educator-center/",
65234+
"redirect_document_id": false
65235+
},
65236+
{
65237+
"source_path": "learn-pr/wwl-azure/teach-azure-204-develop-solution-microsoft-azure-academic-programs/10-explore-best-practices-for-module-7.yml",
65238+
"redirect_url": "https://learn.microsoft.com/en-us/training/educator-center/",
65239+
"redirect_document_id": false
65240+
},
65241+
{
65242+
"source_path": "learn-pr/wwl-azure/teach-azure-204-develop-solution-microsoft-azure-academic-programs/11-explore-best-practices-for-module-8.yml",
65243+
"redirect_url": "https://learn.microsoft.com/en-us/training/educator-center/",
65244+
"redirect_document_id": false
65245+
},
65246+
{
65247+
"source_path": "learn-pr/wwl-azure/teach-azure-204-develop-solution-microsoft-azure-academic-programs/12-explore-best-practices-for-module-9.yml",
65248+
"redirect_url": "https://learn.microsoft.com/en-us/training/educator-center/",
65249+
"redirect_document_id": false
65250+
},
65251+
{
65252+
"source_path": "learn-pr/wwl-azure/teach-azure-204-develop-solution-microsoft-azure-academic-programs/13-explore-best-practices-for-module-10.yml",
65253+
"redirect_url": "https://learn.microsoft.com/en-us/training/educator-center/",
65254+
"redirect_document_id": false
65255+
},
65256+
{
65257+
"source_path": "learn-pr/wwl-azure/teach-azure-204-develop-solution-microsoft-azure-academic-programs/14-explore-best-practices-for-module-11.yml",
65258+
"redirect_url": "https://learn.microsoft.com/en-us/training/educator-center/",
65259+
"redirect_document_id": false
65260+
},
65261+
{
65262+
"source_path": "learn-pr/wwl-azure/teach-azure-204-develop-solution-microsoft-azure-academic-programs/15-explore-best-practices-for-module-12.yml",
65263+
"redirect_url": "https://learn.microsoft.com/en-us/training/educator-center/",
65264+
"redirect_document_id": false
65265+
},
65266+
{
65267+
"source_path": "learn-pr/wwl-azure/teach-azure-204-develop-solution-microsoft-azure-academic-programs/16-bring-together.yml",
65268+
"redirect_url": "https://learn.microsoft.com/en-us/training/educator-center/",
65269+
"redirect_document_id": false
65270+
},
65271+
{
65272+
"source_path": "learn-pr/wwl-azure/teach-azure-204-develop-solution-microsoft-azure-academic-programs/17-knowledge-check.yml",
65273+
"redirect_url": "https://learn.microsoft.com/en-us/training/educator-center/",
65274+
"redirect_document_id": false
65275+
},
65276+
{
65277+
"source_path": "learn-pr/wwl-azure/teach-azure-204-develop-solution-microsoft-azure-academic-programs/18-summary.yml",
65278+
"redirect_url": "https://learn.microsoft.com/en-us/training/educator-center/",
65279+
"redirect_document_id": false
65280+
},
65281+
{
65282+
"source_path": "learn-pr/wwl-azure/teach-azure-204-develop-solution-microsoft-azure-academic-programs/2-objective-domains.yml",
65283+
"redirect_url": "https://learn.microsoft.com/en-us/training/educator-center/",
65284+
"redirect_document_id": false
65285+
},
65286+
{
65287+
"source_path": "learn-pr/wwl-azure/teach-azure-204-develop-solution-microsoft-azure-academic-programs/3-learn-module-best-practices.yml",
65288+
"redirect_url": "https://learn.microsoft.com/en-us/training/educator-center/",
65289+
"redirect_document_id": false
65290+
},
65291+
{
65292+
"source_path": "learn-pr/wwl-azure/teach-azure-204-develop-solution-microsoft-azure-academic-programs/4-explore-best-practices-for-module-1.yml",
65293+
"redirect_url": "https://learn.microsoft.com/en-us/training/educator-center/",
65294+
"redirect_document_id": false
65295+
},
65296+
{
65297+
"source_path": "learn-pr/wwl-azure/teach-azure-204-develop-solution-microsoft-azure-academic-programs/5-explore-best-practices-for-module-2.yml",
65298+
"redirect_url": "https://learn.microsoft.com/en-us/training/educator-center/",
65299+
"redirect_document_id": false
65300+
},
65301+
{
65302+
"source_path": "learn-pr/wwl-azure/teach-azure-204-develop-solution-microsoft-azure-academic-programs/6-explore-best-practices-for-module-3.yml",
65303+
"redirect_url": "https://learn.microsoft.com/en-us/training/educator-center/",
65304+
"redirect_document_id": false
65305+
},
65306+
{
65307+
"source_path": "learn-pr/wwl-azure/teach-azure-204-develop-solution-microsoft-azure-academic-programs/7-explore-best-practices-for-module-4.yml",
65308+
"redirect_url": "https://learn.microsoft.com/en-us/training/educator-center/",
65309+
"redirect_document_id": false
65310+
},
65311+
{
65312+
"source_path": "learn-pr/wwl-azure/teach-azure-204-develop-solution-microsoft-azure-academic-programs/8-explore-best-practices-for-module-5.yml",
65313+
"redirect_url": "https://learn.microsoft.com/en-us/training/educator-center/",
65314+
"redirect_document_id": false
65315+
},
65316+
{
65317+
"source_path": "learn-pr/wwl-azure/teach-azure-204-develop-solution-microsoft-azure-academic-programs/9-explore-best-practices-for-module-6.yml",
65318+
"redirect_url": "https://learn.microsoft.com/en-us/training/educator-center/",
65319+
"redirect_document_id": false
65320+
},
65321+
{
65322+
"source_path": "learn-pr/wwl-azure/teach-azure-204-develop-solution-microsoft-azure-academic-programs/index.yml",
65323+
"redirect_url": "https://learn.microsoft.com/en-us/training/educator-center/",
65324+
"redirect_document_id": false
65325+
},
65326+
{
65327+
"source_path": "learn-pr/paths/explore-sql-server-2022-capabilities/index.md",
65328+
"redirect_url": "/training/paths/explore-sql-server-capabilities/",
65329+
"redirect_document_id": false
65330+
},
65331+
{
65332+
"source_path": "learn-pr/sqlserver/sql-server-2022-data-virtualization/index.md",
65333+
"redirect_url": "/training/modules/sql-server-data-virtualization",
65334+
"redirect_document_id": false
65335+
},
65336+
{
65337+
"source_path": "learn-pr/sqlserver/sql-server-2022-data-virtualization/6-create-external-table-as-select.md",
65338+
"redirect_url": "/training/modules/sql-server-data-virtualization",
65339+
"redirect_document_id": false
65340+
},
65341+
{
65342+
"source_path": "learn-pr/sqlserver/sql-server-2022-data-virtualization/5-exercise-connect-azure-sql-database-use-polybase.md",
65343+
"redirect_url": "/training/modules/sql-server-data-virtualization",
65344+
"redirect_document_id": false
65345+
},
65346+
{
65347+
"source_path": "learn-pr/sqlserver/sql-server-2022-data-virtualization/7-exercise-create-external-table-as-select.md",
65348+
"redirect_url": "/training/modules/sql-server-data-virtualization",
65349+
"redirect_document_id": false
65350+
},
65351+
{
65352+
"source_path": "learn-pr/sqlserver/sql-server-2022-data-virtualization/4-exercise-query-parquet-file.md",
65353+
"redirect_url": "/training/modules/sql-server-data-virtualization",
65354+
"redirect_document_id": false
65355+
},
65356+
{
65357+
"source_path": "learn-pr/sqlserver/sql-server-2022-data-virtualization/1-introduction.md",
65358+
"redirect_url": "/training/modules/sql-server-data-virtualization",
65359+
"redirect_document_id": false
65360+
},
65361+
{
65362+
"source_path": "learn-pr/sqlserver/sql-server-2022-data-virtualization/2-polybase.md",
65363+
"redirect_url": "/training/modules/sql-server-data-virtualization",
65364+
"redirect_document_id": false
65365+
},
65366+
{
65367+
"source_path": "learn-pr/sqlserver/sql-server-2022-data-virtualization/3-polybase-credentials-data-sources.md",
65368+
"redirect_url": "/training/modules/sql-server-data-virtualization",
65369+
"redirect_document_id": false
65370+
},
65371+
{
65372+
"source_path": "learn-pr/sqlserver/sql-server-2022-data-virtualization/8-summary.md",
65373+
"redirect_url": "/training/modules/sql-server-data-virtualization",
65374+
"redirect_document_id": false
65375+
}
65376+
]
65377+
}

learn-pr/achievements.yml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7910,3 +7910,29 @@ achievements:
79107910
title: Optimize spend and performance with Azure AI Foundry Provisioned Throughput reservations
79117911
summary: This module introduces the benefits, use cases, and implementation steps to deploy and purchase provisioned throughput units and reservations for Azure AI Foundry.
79127912
iconUrl: /training/achievements/generic-badge.svg
7913+
- uid: learn.wwl.teach-az-204-developing-solution-microsoft-azure-academic-programs.badge
7914+
type: badge
7915+
title: Get tips and tricks for teaching AZ-204 Developing Solution for Microsoft Azure in academic programs
7916+
summary: Learn tips and tricks about preparing for your first teaching session, which labs to use, when and how to introduce technical topics, as well as other resources and materials.
7917+
iconUrl: /training/achievements/teach-azure-204-develop-solution-microsoft-azure-academic-programs.svg
7918+
- uid: learn.wwl.explore-sql-server-2022-capabilities.trophy
7919+
type: trophy
7920+
title: Explore SQL Server 2025 capabilities
7921+
summary: >-
7922+
Learn about SQL Server 2025 enhancements, including:
7923+
7924+
- AI-powered capabilities with vector search and embeddings
7925+
7926+
- Hybrid data platform with cloud and on-premises integration
7927+
7928+
- Data virtualization and PolyBase improvements with S3-compatible object storage
7929+
7930+
- T-SQL enhancements for modern development workflows
7931+
7932+
- Enhanced security, analytics, and performance features
7933+
iconUrl: /training/achievements/generic-trophy.svg
7934+
- uid: learn.sql-server-2025-data-virtualization.badge
7935+
type: badge
7936+
title: Introduction to SQL Server 2025 data virtualization
7937+
summary: Learn about data virtualization, enhanced Polybase features in SQL Server 2025, and how to use Polybase to access and query external data.
7938+
iconUrl: /learn/achievements/generic-badge.svg
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.devrel.secure-harden-internet-information-services.introduction
3+
title: Introduction
4+
metadata:
5+
title: Introduction
6+
description: Introduction to securing and hardening Internet Information Services (IIS) on Windows Server.
7+
ms.date: 03/31/2026
8+
author: Orin-Thomas
9+
ms.author: orthomas
10+
ms.topic: unit
11+
durationInMinutes: 2
12+
content: |
13+
[!include[](includes/1-introduction.md)]
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.devrel.secure-harden-internet-information-services.authenticate-authorize
3+
title: Authentication and authorization
4+
metadata:
5+
title: Authentication and Authorization
6+
description: Learn how to implement authentication and authorization in Internet Information Services (IIS) to control access to your web applications and resources.
7+
ms.date: 03/31/2026
8+
author: Orin-Thomas
9+
ms.author: orthomas
10+
ms.topic: unit
11+
durationInMinutes: 20
12+
content: |
13+
[!include[](includes/2-authenticate-authorize.md)]
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.devrel.secure-harden-internet-information-services.server-website-harden
3+
title: Server and website hardening
4+
metadata:
5+
title: Server and Website Hardening
6+
description: Understand how to harden your server and website in Internet Information Services (IIS) to enhance security and protect against potential vulnerabilities and attacks.
7+
ms.date: 03/31/2026
8+
author: Orin-Thomas
9+
ms.author: orthomas
10+
ms.topic: unit
11+
durationInMinutes: 18
12+
content: |
13+
[!include[](includes/3-server-website-harden.md)]
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.devrel.secure-harden-internet-information-services.certificate-configuration
3+
title: HTTPS and TLS configuration
4+
metadata:
5+
title: HTTPS and TLS Configuration
6+
description: Learn to configure certificate based security for Internet Information Services.
7+
ms.date: 03/31/2026
8+
author: Orin-Thomas
9+
ms.author: orthomas
10+
ms.topic: unit
11+
durationInMinutes: 24
12+
content: |
13+
[!include[](includes/4-certificate-configuration.md)]
Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.devrel.secure-harden-internet-information-services.knowledge-check
3+
title: Knowledge check
4+
metadata:
5+
title: Knowledge Check
6+
description: Check your knowledge.
7+
ms.date: 03/31/2026
8+
author: Orin-Thomas
9+
ms.author: orthomas
10+
ms.topic: unit
11+
durationInMinutes: 6
12+
quiz:
13+
title: Check your knowledge
14+
questions:
15+
- content: "Your organization has an intranet web application hosted on IIS that should be accessible only to domain-joined users using their Windows credentials, with no credential prompt appearing. Which IIS authentication method should you configure?"
16+
choices:
17+
- content: "Anonymous Authentication"
18+
isCorrect: false
19+
explanation: "Anonymous access allows unauthenticated users to reach the site, which contradicts the requirement that only domain-joined users be able to access it."
20+
- content: "Basic Authentication"
21+
isCorrect: false
22+
explanation: "Basic Authentication typically prompts for a username and password and doesn't provide seamless single sign-on with Windows credentials."
23+
- content: "Windows Authentication (Integrated)"
24+
isCorrect: true
25+
explanation: "Integrated Windows Authentication uses Kerberos/NTLM to automatically pass domain credentials for domain-joined clients, avoiding a credential prompt."
26+
- content: "Digest Authentication"
27+
isCorrect: false
28+
explanation: "Digest Authentication isn't the standard approach for seamless intranet SSO and has extra requirements (such as domain support) without providing the typical transparent experience of Windows Authentication."
29+
- content: "You need to restrict access to a /reports directory on your IIS site so that only members of the CONTOSO\\ReportViewers group can access it. Which IIS feature should you configure?"
30+
choices:
31+
- content: "IP Address and Domain Restrictions"
32+
isCorrect: false
33+
explanation: "This feature restricts access by client IP/DNS, not by Active Directory group membership."
34+
- content: "Authorization Rules"
35+
isCorrect: true
36+
explanation: "Authorization Rules allow or deny access to specific paths based on Windows users/groups (for example, allowing CONTOSO\\ReportViewers and denying others)."
37+
- content: "Request Filtering"
38+
isCorrect: false
39+
explanation: "Request Filtering blocks patterns (extensions, verbs, query strings) but doesn't implement AD group-based access control."
40+
- content: "SSL Settings"
41+
isCorrect: false
42+
explanation: "SSL Settings control HTTPS requirements and certificate behavior, not which Windows groups may access a directory."
43+
- content: "What is the recommended Application Pool identity type for most IIS deployments to follow the principle of least privilege?"
44+
choices:
45+
- content: "Local System"
46+
isCorrect: false
47+
explanation: "Local System is highly privileged and violates the principle of least privilege for most web applications."
48+
- content: "Network Service"
49+
isCorrect: false
50+
explanation: "Network Service is more privileged and less isolated than ApplicationPoolIdentity; multiple apps can end up sharing the same account context."
51+
- content: "ApplicationPoolIdentity"
52+
isCorrect: true
53+
explanation: "ApplicationPoolIdentity provides a unique, low-privilege virtual account per app pool, improving isolation and reducing required permissions."
54+
- content: "Local Service"
55+
isCorrect: false
56+
explanation: "Local Service isn't the recommended default for IIS app pools and doesn't provide the per-pool isolation that ApplicationPoolIdentity does."
57+
- content: "You're hosting three HTTPS websites on a single IIS server with one IP address. Each site has its own TLS certificate. What feature must be enabled on each HTTPS binding to support this configuration?"
58+
choices:
59+
- content: "Application Pool Isolation"
60+
isCorrect: false
61+
explanation: "Separate app pools improve process isolation, but they don't solve the 'multiple certificates on one IP:443' requirement."
62+
- content: "SSL Offloading"
63+
isCorrect: false
64+
explanation: "SSL offloading refers to terminating TLS on a load balancer or proxy, not selecting different certificates for multiple hostnames on the same IIS IP/port."
65+
- content: "Server Name Indication (SNI)"
66+
isCorrect: true
67+
explanation: "SNI includes the hostname in the TLS handshake, allowing IIS to choose the correct certificate for each site while sharing a single IP address."
68+
- content: "HTTP Strict Transport Security (HSTS)"
69+
isCorrect: false
70+
explanation: "HSTS forces clients to use HTTPS for a hostname, but it doesn't enable hosting multiple certificates on one IP address."
71+
- content: "Your IIS server hosts a web application that only accepts form submissions (POST) and serves pages (GET). Which configuration reduces attack surface by restricting the HTTP methods the server accepts?"
72+
choices:
73+
- content: "Configure IP Address and Domain Restrictions to block external requests"
74+
isCorrect: false
75+
explanation: "IP restrictions control where requests come from, not which HTTP methods (verbs) the server accepts."
76+
- content: "Configure Request Filtering to deny all HTTP verbs except GET and POST"
77+
isCorrect: true
78+
explanation: "Request Filtering can explicitly allow only the verbs your app needs (such as GET/POST) and deny unused or risky verbs like TRACE, PUT, and DELETE."
79+
- content: "Remove the Windows Authentication module from the site"
80+
isCorrect: false
81+
explanation: "Authentication modules control how users authenticate, not which HTTP methods are permitted."
82+
- content: "Set the Maximum URL Length in Request Limits to 256 bytes"
83+
isCorrect: false
84+
explanation: "URL length limits reduce risk from oversized requests but don't restrict which HTTP verbs the server accepts."
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.devrel.secure-harden-internet-information-services.summary
3+
title: Summary
4+
metadata:
5+
title: Summary
6+
description: Module summary.
7+
ms.date: 03/31/2026
8+
author: Orin-Thomas
9+
ms.author: orthomas
10+
ms.topic: unit
11+
durationInMinutes: 1
12+
content: |
13+
[!include[](includes/6-summary.md)]

0 commit comments

Comments
 (0)