Skip to content

Commit 7b283f3

Browse files
author
gitName
committed
Merge branch 'main' of https://github.com/MicrosoftDocs/azure-docs-pr into safe
2 parents 10a4eb2 + 8c45770 commit 7b283f3

File tree

126 files changed

+630
-532
lines changed

Some content is hidden

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

126 files changed

+630
-532
lines changed

.openpublishing.redirection.json

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,46 @@
3030
"redirect_url": "/previous-versions/azure/partner-solutions/logzio/troubleshoot",
3131
"redirect_document_id": false
3232
},
33+
{
34+
"source_path_from_root": "/articles/hdinsight-aks/index.yml",
35+
"redirect_url": "/previous-versions/azure/hdinsight-aks",
36+
"redirect_document_id": false
37+
},
38+
{
39+
"source_path_from_root": "/articles/hdinsight-aks/flink/index.md",
40+
"redirect_url": "/previous-versions/azure/hdinsight-aks/flink/flink-overview",
41+
"redirect_document_id": false
42+
},
43+
{
44+
"source_path_from_root": "/articles/hdinsight-aks/prerequisites-subscription.md",
45+
"redirect_url": "/previous-versions/azure/hdinsight-aks/quickstart-prerequisites-subscription",
46+
"redirect_document_id": false
47+
},
48+
{
49+
"source_path_from_root": "/articles/hdinsight-aks/release-notes/index.md",
50+
"redirect_url": "/previous-versions/azure/hdinsight-aks/release-notes/hdinsight-aks-release-notes",
51+
"redirect_document_id": false
52+
},
53+
{
54+
"source_path_from_root": "/articles/hdinsight-aks/prerequisites-resources.md",
55+
"redirect_url": "/previous-versions/azure/hdinsight-aks/quickstart-prerequisites-resources",
56+
"redirect_document_id": false
57+
},
58+
{
59+
"source_path_from_root": "/articles/hdinsight-aks/spark/index.md",
60+
"redirect_url": "/previous-versions/azure/hdinsight-aks/spark/hdinsight-on-aks-spark-overview",
61+
"redirect_document_id": false
62+
},
63+
{
64+
"source_path_from_root": "/articles/hdinsight-aks/get-started.md",
65+
"redirect_url": "/previous-versions/azure/hdinsight-aks/quickstart-get-started",
66+
"redirect_document_id": false
67+
},
68+
{
69+
"source_path_from_root": "/articles/hdinsight-aks/trino/index.md",
70+
"redirect_url": "/previous-versions/azure/hdinsight-aks/trino/trino-overview ",
71+
"redirect_document_id": false
72+
},
3373
{
3474
"source_path": "articles/hdinsight-aks/cluster-storage.md",
3575
"redirect_url": "/previous-versions/azure/hdinsight-aks/cluster-storage",

articles/api-management/TOC.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -705,3 +705,5 @@
705705
href: /answers/tags/29/azure-api-management
706706
- name: Stack Overflow
707707
href: https://stackoverflow.com/questions/tagged/azure-api-management
708+
- name: aka.ms/apimlove
709+
href: https://aka.ms/apimlove

articles/api-management/api-management-key-concepts.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,9 @@ Common scenarios include:
4545
* **Multi-channel user experiences** - APIs are frequently used to enable user experiences such as web, mobile, wearable, or Internet of Things applications. Reuse APIs to accelerate development and ROI.
4646
* **B2B integration** - APIs exposed to partners and customers lower the barrier to integrate business processes and exchange data between business entities. APIs eliminate the overhead inherent in point-to-point integration. Especially with self-service discovery and onboarding enabled, APIs are the primary tools for scaling B2B integration.
4747

48+
> [!TIP]
49+
> Visit [aka.ms/apimlove](https://aka.ms/apimlove) for a library of useful resources, including videos, blogs, and customer stories about using Azure API Management.
50+
4851
## API Management components
4952

5053
Azure API Management is made up of an API *gateway*, a *management plane*, and a *developer portal*. These components are Azure-hosted and fully managed by default. API Management is available in various [tiers](#api-management-tiers) differing in capacity and features.
@@ -132,7 +135,8 @@ API Management integrates with many complementary Azure services to create enter
132135
**More information**:
133136
* [Basic enterprise integration](/azure/architecture/reference-architectures/enterprise-integration/basic-enterprise-integration?toc=%2Fazure%2Fapi-management%2Ftoc.json&bc=/azure/api-management/breadcrumb/toc.json)
134137
* [Landing zone accelerator](/azure/cloud-adoption-framework/scenarios/app-platform/api-management/landing-zone-accelerator?toc=%2Fazure%2Fapi-management%2Ftoc.json&bc=/azure/api-management/breadcrumb/toc.json)
135-
* [Import APIs to API Center from API Management](../api-center/import-api-management-apis.md?toc=%2Fazure%2Fapi-management%2Ftoc.json&bc=/azure/api-management/breadcrumb/toc.json)
138+
* [GenAI gateway capabilities in API Management](genai-gateway-capabilities.md)
139+
* [Synchronize APIs to API Center from API Management](../api-center/synchronize-api-management-apis.md?toc=%2Fazure%2Fapi-management%2Ftoc.json&bc=/azure/api-management/breadcrumb/toc.json)
136140

137141
## Key concepts
138142

articles/app-service/configure-ssl-app-service-certificate.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,13 @@ By default, App Service certificates have a one-year validity period. Before the
139139

140140
If you think your certificate's private key is compromised, you can rekey your certificate. This action rotates the certificate with a new certificate issued from the certificate authority.
141141

142+
> [!NOTE]
143+
> Starting September 23 2021, if you haven't verified the domain in the last 395 days, App Service certificates require domain verification during a renew, auto-renew, or rekey process. The new certificate order remains in "pending issuance" mode during the renew, auto-renew, or rekey process until you complete the domain verification.
144+
>
145+
> Unlike the free App Service managed certificate, purchased App Service certificates don't have automated domain re-verification. Failure to verify domain ownership results in failed renewals. For more information about how to verify your App Service certificate, review [Confirm domain ownership](#confirm-domain-ownership).
146+
>
147+
> The rekey process requires that the service principal for App Service has the required permissions on your key vault. These permissions are set up for you when you import an App Service certificate through the Azure portal. Make sure that you don't remove these permissions from your key vault.
148+
142149
1. On the [App Service Certificates page](https://portal.azure.com/#blade/HubsExtension/Resources/resourceType/Microsoft.CertificateRegistration%2FcertificateOrders), select the certificate. From the left menu, select **Rekey and Sync**.
143150

144151
1. To start the process, select **Rekey**. This process can take 1-10 minutes to complete.

articles/application-gateway/for-containers/toc.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,5 +130,5 @@
130130
- name: Regional availability
131131
href: https://azure.microsoft.com/global-infrastructure/services/
132132
- name: Stack Overflow
133-
href: https://stackoverflow.com/questions/tagged/azure-application-gateway-for-containers
133+
href: https://stackoverflow.com/questions/tagged/azure-app-gateway-for-containers
134134

articles/batch/batch-pool-compute-intensive-sizes.md

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Use compute-intensive Azure VMs with Batch
33
description: How to take advantage of HPC and GPU virtual machine sizes in Azure Batch pools. Learn about OS dependencies and see several scenario examples.
44
ms.topic: how-to
55
ms.custom: linux-related-content
6-
ms.date: 06/07/2024
6+
ms.date: 02/04/2025
77
---
88
# Use RDMA or GPU instances in Batch pools
99

@@ -33,7 +33,7 @@ The RDMA or GPU capabilities of compute-intensive sizes in Batch are supported o
3333
| -------- | -------- | ----- | -------- | ----- |
3434
| [H16r, H16mr](/azure/virtual-machines/sizes-hpc)<br/>[NC24r, NC24rs_v2, NC24rs_v3, ND24rs<sup>*</sup>](/azure/virtual-machines/linux/n-series-driver-setup#rdma-network-connectivity) | RDMA | Ubuntu 22.04 LTS <br/> (Azure Marketplace) | Intel MPI 5<br/><br/>Linux RDMA drivers | Enable inter-node communication, disable concurrent task execution |
3535
| [NCv3, NDv2, NDv4, NDv5 series](/azure/virtual-machines/linux/n-series-driver-setup) | NVIDIA Tesla GPU (varies by series) | Ubuntu 22.04 LTS <br/> (Azure Marketplace) | NVIDIA CUDA or CUDA Toolkit drivers | N/A |
36-
| [NVv3, NVv4, NVv5 series](/azure/virtual-machines/linux/n-series-driver-setup) | Accelerated Visualization GPU | Ubuntu 22.04 LTS <br/> (Azure Marketplace) | NVIDIA GRID drivers (if required) | N/A |
36+
| [NVv3, NVv4, NVv5 series](/azure/virtual-machines/linux/n-series-driver-setup) | Accelerated Visualization GPU | Ubuntu 22.04 LTS <br/> (Azure Marketplace) | NVIDIA GRID drivers or AMD GPU drivers | N/A |
3737

3838
<sup>*</sup>RDMA-capable N-series sizes also include NVIDIA Tesla GPUs
3939

@@ -69,14 +69,16 @@ To configure a specialized VM size for your Batch pool, you have several options
6969

7070
* For pools in the virtual machine configuration, choose a preconfigured [Azure Marketplace](https://azuremarketplace.microsoft.com/marketplace/) VM image that has drivers and software preinstalled. Examples:
7171

72-
* [Data Science Virtual Machine](/azure/machine-learning/data-science-virtual-machine/overview) for Linux or Windows - includes NVIDIA CUDA drivers
72+
* [Data Science Virtual Machine](/azure/machine-learning/data-science-virtual-machine/overview) for Linux or Windows - includes NVIDIA CUDA drivers
7373

74-
* Linux images for Batch container workloads that also include GPU and RDMA drivers:
74+
* Linux images for Batch container workloads that also include GPU and RDMA drivers:
7575

76-
* [Ubuntu Server (with GPU and RDMA drivers) for Azure Batch container pools](https://azuremarketplace.microsoft.com/marketplace/apps/microsoft-azure-batch.ubuntu-server-container-rdma?tab=Overview)
76+
* [Ubuntu Server (with GPU and RDMA drivers) for Azure Batch container pools](https://azuremarketplace.microsoft.com/marketplace/apps/microsoft-azure-batch.ubuntu-server-container-rdma?tab=Overview)
7777

7878
* Create a [custom Windows or Linux VM image](batch-sig-images.md) with installed drivers, software, or other settings required for the VM size.
7979

80+
* [Install GPU and RDMA drivers by VM extension](create-pool-extensions.md).
81+
8082
* Create a Batch [application package](batch-application-packages.md) from a zipped driver or application installer. Then, configure Batch to deploy this package to pool nodes and install once when each node is created. For example, if the application package is an installer, create a [start task](jobs-and-tasks.md#start-task) command line to silently install the app on all pool nodes. Consider using an application package and a pool start task if your workload depends on a particular driver version.
8183

8284
> [!NOTE]

articles/confidential-computing/TOC.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,8 @@
4949
href: confidential-vm-faq.yml
5050
- name: Guest attestation for confidential VMs
5151
href: guest-attestation-confidential-vms.md
52+
- name: Guest attestation Design for confidential VMs
53+
href: guest-attestation-confidential-virtual-machines-design.md
5254
- name: About Azure confidential GPUs
5355
href: gpu-options.md
5456
- name: Microsoft Defender for Cloud integration
Lines changed: 172 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,172 @@
1+
---
2+
title: Azure Confidential VM guest attestation design detail
3+
description: Learn about the design detail of the guest attestation for Azure confidential virtual machines.
4+
author: mishih
5+
ms.author: mishih
6+
ms.service: azure-virtual-machines
7+
ms.subservice: azure-confidential-computing
8+
ms.topic: conceptual
9+
ms.date: 02/06/2025
10+
ms.custom: template-concept
11+
---
12+
13+
# Confidential VM Guest Attestation Design Detail
14+
15+
This document provides a detailed overview of the [Azure confidential VM Guest Attestation](guest-attestation-confidential-vms.md) design.
16+
17+
## vTPM-Based Design
18+
19+
Azure confidential virtual machines (VMs) utilize a vTPM-based design for the guest attestation. The approach ensures a consistent interface across guest operating systems (Linux and Windows) and hardware platforms (AMD SEV-SNP and Intel TDX).
20+
21+
## Attestation Flow
22+
23+
The guest attestation process involves two main steps: evidence generation and evidence verification. A user requests the Azure confidential VM to generate vTPM evidence and then send the evidence to a trusted party (for example, [Microsoft Azure Attestation (MAA)](https://azure.microsoft.com/products/azure-attestation)) for verification.
24+
25+
A relying party, such as [Azure Key Vault Premium](../security/fundamentals/key-management.md) or [Azure Key Vault Managed HSM](/azure/key-vault/managed-hsm/overview), can assess the trustworthiness of the Azure confidential VM based on the verification results. If the VM is deemed trustworthy, the relying party can securely provision secrets to the VM, using mechanisms like [Secure Key Release](concept-skr-attestation.md).
26+
27+
### vTPM Evidence
28+
29+
A vTPM evidence consists of a TPM quote and endorsements used to verify the quote, as outlined in the rest of the section.
30+
- TPM Quote
31+
- A standard TPM quote that is the output of `TPM2_Quote` command defined by TPM 2.0 specification.
32+
- Includes a list of Platform Configuration Registers (PCRs) that captures the measurements of the guest OS (for example, boot process).
33+
- The usage of PCRs conforms to Linux and Windows standards (each having its usage definition).
34+
- Signed by vTPM attestation private key (AK); that is, AK is specified as the signing key in the `TPM2_Quote` command.
35+
36+
- TPM Event Log
37+
- An event log stored in the system that can be used to reproduce PCR values in the TPM quote.
38+
- Refer to [TPM specification](https://trustedcomputinggroup.org/wp-content/uploads/TCG-Guidance-Integrity-Measurements-Event-Log-Processing_v1_r0p118_24feb2022-1.pdf) for more detail.
39+
40+
- vTPM AK Certificate
41+
- Issued by Azure (signed by Azure CA).
42+
- Backed by hardware (the vTPM attestation public key, AK public, is captured in the hardware report).
43+
44+
- Hardware Report
45+
- Generated and signed by the hardware.
46+
- Capture the following information
47+
- AK public
48+
- The measurement of Microsoft-built guest paravisor where the vTPM runs
49+
- Learn more in [Confidential VMs on Azure](https://techcommunity.microsoft.com/t5/windows-os-platform-blog/confidential-vms-on-azure/ba-p/3836282)).
50+
- Hardware information
51+
- Refer to AMD SEV-SNP and Intel TDX specifications for more detail.
52+
53+
- Hardware Vendor Certificate Chain
54+
- Issued by hardware vendor (AMD and Intel) to certify the signature of the hardware report.
55+
- AMD SEV-SNP: Versioned Chip Endorsement Key (VCEK) Certificates
56+
- Intel TDX: Provisioning Certificate Key (PCK) Certificates
57+
58+
### What are being covered by a vTPM Evidence?
59+
60+
| Component | Covered by |
61+
| :--- | :--- |
62+
| Guest OS | TPM Quote (PCRs) |
63+
| UEFI | Hardware Report |
64+
| Guest Paravisor (including vTPM) | Hardware Report |
65+
66+
### How is vTPM Evidence verified?
67+
68+
The verifier ([Microsoft Azure Attestation (MAA)](https://azure.microsoft.com/products/azure-attestation)) verified the vTPM evidence based on the trusted chain, as shown in the following figure. Successful verification implies that the attested Azure confidential VM is trustworthy and protected by the hardware.
69+
70+
![Figure of vTPM-based Evidence Trust Chain](media/guest-attestation-confidential-vms-design/azure-cvm-trusted-chain.png)
71+
72+
## Developer's Reference
73+
74+
This section provides a reference to the vTPM-based guest attestation design used by Azure confidential VM.
75+
76+
### Azure-Reserved TPM NV Indexes
77+
78+
| Name | NV Index | Size (bytes) | Description |
79+
| :--- | :--- | :--- | :--- |
80+
| Attestation Report | 0x01400001 | 2600 | Azure-defined format with the hardware report embedded. |
81+
| Report Data | 0x01400002 | 64 | The report data to be included in the Runtime Data. |
82+
| vTPM AK Cert | 0x01C101D0 | 4096 | The certificate used to verify the TPM Quote signed by the vTPM AK. |
83+
| vTPM AK | 0x81000003 | Depending on the key type | The key used to sign the TPM Quote. |
84+
85+
Refer to [Azure Confidential VMs attestation guidance & FAQ](https://github.com/Azure/confidential-computing-cvm-guest-attestation/blob/main/cvm-guest-attestation.md) for sample TPM commands.
86+
87+
### Attestation Report Format
88+
89+
#### Attestation Report
90+
91+
| Name | Offset (bytes) | Size (bytes) | Description |
92+
| :--- | :--- | :--- | :--- |
93+
| Header | 0 | 32 | The report header (not endorsed by the hardware report). |
94+
| Report Payload | 32 | 1184 | The hardware report. |
95+
| Runtime Data | 1216 | variable length | The runtime data includes claims endorsed by the hardware report. |
96+
97+
98+
#### Header
99+
100+
| Name | Offset (bytes) | Size (bytes) | Description |
101+
| :--- | :--- | :--- | :--- |
102+
| Signature | 0 | 4 | Embedded signature. Expected: 0x414c4348 (`HCLA`). |
103+
| Version | 4 | 4 | Format version. Expected: 2.
104+
| Report Size | 8 | 4 | Size of the Report Payload. Expected: 1184 (AMD SEV-SNP), 1024 (Intel TDX). |
105+
| Request Type | 12 | 4 | Azure-specific usage of the attestation report. Expected: 2. |
106+
| Status | 16 | 4 | Reserved. |
107+
| Reserved | 20 | 12 | Reserved. |
108+
109+
#### Report Payload
110+
111+
The report generated by the hardware (AMD SEV-SNP or Intel TDX). The report_data field of the report captures the hash of the Runtime Claims in the Runtime Data. Refer to specifications from hardware vendors for more detail.
112+
113+
#### Runtime Data
114+
115+
| Name | Offset (bytes) | Size (bytes) | Description | Measured |
116+
| :--- | :--- | :--- | :--- | :--- |
117+
| Data Size | 0 | 4 | The size of Runtime Claims. | No |
118+
| Version | 4 | 4 | Format version. Expected: 1. | No |
119+
| Report Type | 8 | 4 | The type of hardware report. Expected: 2 (AMD SEV-SNP), 4 (Intel TDX) | No |
120+
| Hash Type | 12 | 4 | The algorithm used to hash the runtime data. The hash value is captured in the report_data field of the hardware report. Expected: 1 (SHA-256), 2 (SHA-384), 3 (SHA-512) | No |
121+
| Runtime Claims | 16 | variable length | The runtime claims in JSON format. | Yes |
122+
123+
#### Runtime Claims
124+
125+
| JSON Field | Description |
126+
| :--- | :--- |
127+
| keys | An array of keys in JWK format. Expected `kid`: `HCLAkPub` (vTPM AK public), `HCLEkPub` (vTPM EK public). |
128+
| vm_configuration | Selective Azure confidential VM configuration. |
129+
| user_data | 64-byte data (HEX string) read from `0x01400002` NV index (Report Data). |
130+
131+
Example
132+
133+
```JSON
134+
{
135+
"keys": [
136+
{
137+
"kid": "HCLAkPub",
138+
"key_ops": [
139+
"sign"
140+
],
141+
"kty": "RSA",
142+
"e": "AQAB",
143+
"n": "rAipdAAArL6V1FNnSQ-39i3VH-a8PuOeVRo2VpecspDWbJNmgHJ4-VGGFEx4sdVbvDC6fyo_VM2ebE-_AKxTmrNVEr-KIZveJMD_vlOqvMvjtllsWwA-vsRfpqiduvQdFcdCvyHzfxBRHYqdmxgKq-3QI-XBbZv9cCMMMPHkNp4mWkyahjQxXVJVwB1egCrJGKSk1bRXlP1dXNG_Pe4-W5O-YEGRKdLIA31G0Yh8VBnrEUCAMjDAuh6fncMkwdMVskI5Ta-kJgGw4GepIj6_smIyYhxg3o8Ik4qPntxj1TrV0bVW2IiNMLHoM67y1ErOir7bv00xqgqouFodI-vM3Q"
144+
},
145+
{
146+
"kid": "HCLEkPub",
147+
"key_ops": [
148+
"encrypt"
149+
],
150+
"kty": "RSA",
151+
"e": "AQAB",
152+
"n": "m3AfPAAA-_HY3M_-x4bQbr0p2nkvAgig1mENl-BColvqq0aKKAqIHr-DFQ9-iB2z7EzhYVon5R7Nc1jzqBsmxahE8uaQfD-sp8bWOtbvy4V9nAqLY4HOwfxlJ99cEOOpxNXfCNesYOk8T0ntG05w7oBRjFw0LMVKS-1S3j5-oMnNnpJoo7rX5hNM8JVpxEuVa1IOf1NmvRey6wjwSHbjUay_IMUTAq1wzpx8wo_hjeY4JMd0Ka1ewLjJDaTQSpSxZI36ujyR6EGho0FBXSKN-9W9DAXkO8-RKuLUrmTXA6ETJRYApMuYGiUDCk1Y5zQTQsyWS6pLjnf2mg2tEntZZw"
153+
}
154+
],
155+
"vm-configuration": {
156+
"root-cert-thumbprint": "",
157+
"console-enabled": true,
158+
"secure-boot": true,
159+
"tpm-enabled": true,
160+
"tpm-persisted": true,
161+
"vmUniqueId": "68dc0ac0-2ed9-4b2a-a03e-4953e416d939"
162+
},
163+
"user-data": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
164+
}
165+
```
166+
167+
## Next Steps
168+
169+
- [Learn more about the guest attestation APIs](guest-attestation-confidential-vms.md)
170+
- [Learn to use a sample application with the guest attestation APIs](guest-attestation-example.md)
171+
- [Learn how to use Microsoft Defender for Cloud integration with confidential VMs with guest attestation installed](guest-attestation-defender-for-cloud.md)
172+
- [Learn about Azure confidential VMs](confidential-vm-overview.md)

articles/confidential-computing/guest-attestation-confidential-vms.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -345,6 +345,7 @@ You can extract different parts of the JSON web token for the [different API sce
345345

346346
## Next steps
347347

348+
- [Learn more about the guest attestation design](guest-attestation-confidential-virtual-machines-design.md)
348349
- [Learn to use a sample application with the guest attestation APIs](guest-attestation-example.md)
349350
- [Learn how to use Microsoft Defender for Cloud integration with confidential VMs with guest attestation installed](guest-attestation-defender-for-cloud.md)
350351
- [Learn about Azure confidential VMs](confidential-vm-overview.md)
23.1 KB
Loading

0 commit comments

Comments
 (0)