Proposed Pull Request Change

title description author ms.service ms.topic ms.date ms.author ms.reviewer
Deploy a VM or Virtual Machine Scale Set with MSP Learn about deploying a virtual machine or a virtual machine scale set with Metadata Security Protocol (MSP). minnielahoti azure-virtual-machines how-to 09/17/2025 minnielahoti azmetadatadev
📄 Document Links
GitHub View on GitHub Microsoft Learn View on Microsoft Learn
⚠ Content Truncation Detected
The generated rewrite appears to be incomplete.
Original lines: -
Output lines: -
Ratio: -
Raw New Markdown
Generating updated version of doc...
Rendered New Markdown
Generating updated version of doc...
+0 -0
+0 -0
--- title: Deploy a VM or Virtual Machine Scale Set with MSP description: Learn about deploying a virtual machine or a virtual machine scale set with Metadata Security Protocol (MSP). author: minnielahoti ms.service: azure-virtual-machines ms.topic: how-to ms.date: 09/17/2025 ms.author: minnielahoti ms.reviewer: azmetadatadev # Customer intent: "As a cloud administrator, I want to deploy Virtual Machines with the Metadata Security Protocol enabled, so that I can enhance security during the provisioning process." --- # Deploy a VM or virtual machine scale set with MSP This article explains how to enable the Metadata Security Protocol (MSP) feature while provisioning a new virtual machine (VM) or virtual machine scale set. > [!WARNING] > Please note that on Windows, the users can enable GuestProxyAgent (GPA) from an ARM template. However, in Linux it's a two-step process. The VM/VMSS is provisioned first and only then can the GPA be configured. ## Prerequisites - Ensure that your image of choice is [compatible](./overview.md#compatibility). - Familiarize yourself with the [basic configuration](./configuration.md#msp-feature-configuration) options. ## Deploy a VM with MSP ### Use an ARM template To deploy a VM with MSP via an Azure Resource Manager template (ARM template), update `proxyAgentSettings` and ensure that the minimum API version is `2024-03-01`. See the [ARM template examples](./other-examples/arm-templates.md). ### Use the REST API To use the REST API, deploy a VM as you normally would, but with the MSP configuration also applied. Here's an example that references a linked [advanced configuration](./advanced-configuration.md): ```http https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Compute/virtualMachines/{virtualMachine-Name}?api-version=2024-03-01 { "name": "GPAWinVM", "location": "centraluseuap", "properties": { ... ... "securityProfile": { "proxyAgentSettings": { "enabled": true, "keyIncarnationId": 0, "wireServer": { "inVMAccessControlProfileReferenceId": "/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/inVMAccessControlProfiles/{wireServerProfileName}/versions/{version}" }, "imds": { "inVMAccessControlProfileReferenceId": "/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/inVMAccessControlProfiles/{imdsProfileName}/versions/{version}" } } }, } } ``` ### Validate linked rules After you deploy the VM, validate that the linked rules were applied to your VM. The steps for this validation in a newly provisioned VM are the same as the steps for an [existing VM](./brownfield.md#validate-linked-rules). ## Deploy a virtual machine scale set with MSP Using the same steps for a virtual machine scale set applies MSP to every VM within that scale set.
Success! Branch created successfully. Create Pull Request on GitHub
Error: