Skip to content

Commit ea9a370

Browse files
Merge pull request #274938 from Howie425/patch-14
Update trusted-launch-portal.md
2 parents a51bbeb + fe1983e commit ea9a370

File tree

1 file changed

+38
-31
lines changed

1 file changed

+38
-31
lines changed

articles/virtual-machines/trusted-launch-portal.md

Lines changed: 38 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,39 @@
11
---
22
title: Deploy a trusted launch VM
33
description: Deploy a VM that uses trusted launch.
4-
author: lakmeedee
4+
author: Howie425
55
ms.author: howieasmerom
66
ms.reviewer: jushiman
77
ms.service: virtual-machines
88
ms.subservice: trusted-launch
99
ms.topic: how-to
10-
ms.date: 11/06/2023
10+
ms.date: 05/21/2024
1111
ms.custom: template-how-to, devx-track-azurecli, devx-track-azurepowershell
1212
---
1313

14-
# Deploy a VM with trusted launch enabled
14+
# Deploy a Virtual Machine with Trusted Launch Enabled
1515

16-
**Applies to:** :heavy_check_mark: Linux VMs :heavy_check_mark: Windows VMs :heavy_check_mark: Flexible scale sets :heavy_check_mark: Uniform scale sets
16+
**Applies to:** :heavy_check_mark: Linux VMs :heavy_check_mark: Windows VMs :heavy_check_mark: Flexible scale sets :heavy_check_mark: Uniform scale sets.
1717

1818
[Trusted launch](trusted-launch.md) is a way to improve the security of [generation 2](generation-2.md) VMs. Trusted launch protects against advanced and persistent attack techniques by combining infrastructure technologies like vTPM and secure boot.
1919

2020
## Prerequisites
2121

22-
- You need to [onboard your subscription to Microsoft Defender for Cloud](https://azure.microsoft.com/services/security-center/?&ef_id=CjwKCAjwwsmLBhACEiwANq-tXHeKhV--teH6kIijnBTmP-PgktfvGr5zW9TAx00SR7xsGUc3sTj5sBoCkEoQAvD_BwE:G:s&OCID=AID2200277_SEM_CjwKCAjwwsmLBhACEiwANq-tXHeKhV--teH6kIijnBTmP-PgktfvGr5zW9TAx00SR7xsGUc3sTj5sBoCkEoQAvD_BwE:G:s&gclid=CjwKCAjwwsmLBhACEiwANq-tXHeKhV--teH6kIijnBTmP-PgktfvGr5zW9TAx00SR7xsGUc3sTj5sBoCkEoQAvD_BwE#overview) if it isn't already. Microsoft Defender for Cloud has a free tier, which offers very useful insights for various Azure and Hybrid resources. Trusted launch leverages Defender for Cloud to surface multiple recommendations regarding VM health.
22+
- It's recommended to [onboard your subscription to Microsoft Defender for Cloud](https://azure.microsoft.com/services/security-center/?&ef_id=CjwKCAjwwsmLBhACEiwANq-tXHeKhV--teH6kIijnBTmP-PgktfvGr5zW9TAx00SR7xsGUc3sTj5sBoCkEoQAvD_BwE:G:s&OCID=AID2200277_SEM_CjwKCAjwwsmLBhACEiwANq-tXHeKhV--teH6kIijnBTmP-PgktfvGr5zW9TAx00SR7xsGUc3sTj5sBoCkEoQAvD_BwE:G:s&gclid=CjwKCAjwwsmLBhACEiwANq-tXHeKhV--teH6kIijnBTmP-PgktfvGr5zW9TAx00SR7xsGUc3sTj5sBoCkEoQAvD_BwE#overview) if it isn't already. Microsoft Defender for Cloud has a free tier, which offers useful insights for various Azure and Hybrid resources. With the absence of MDC, Trusted Launch virtual machine users can't monitor [boot integrity](boot-integrity-monitoring-overview.md) of VM.
2323

24-
- Assign Azure policies initiatives to your subscription. These policy initiatives need to be assigned only once per subscription. This will automatically install all required extensions on all supported VMs.
24+
- Assign Azure policies initiatives to your subscription. These policy initiatives need to be assigned only once per subscription. Policy will help deploy, audit for Trusted Launch Virtual Machines while automatically installing all required extensions on all supported VMs.
25+
- Configure Trusted Launch Virtual Machines [Built In Policy Initiative](trusted-launch-portal.md#trusted-launch-built-in-policies)
2526
- Configure prerequisites to enable Guest Attestation on Trusted Launch enabled VMs.
26-
2727
- Configure machines to automatically install the Azure Monitor and Azure Security agents on virtual machines.
2828

29-
- Allow service tag **AzureAttestation** in NSG Outbound rules to allow traffic for Microsoft Azure Attestation. Refer to [Virtual network service tags](../virtual-network/service-tags-overview.md).
29+
- Allow service tag **AzureAttestation** in Network Security Group outbound rules to allow traffic for Microsoft Azure Attestation. Refer to [Virtual network service tags](../virtual-network/service-tags-overview.md).
3030

3131
- Make sure that the firewall policies are allowing access to `*.attest.azure.net`.
3232

3333
> [!NOTE]
3434
> If you are using a Linux image and anticipate the VM may have kernel drivers either unsigned or not signed by the Linux distro vendor, then you may want to consider turning off secure boot. In the Azure portal, in the ‘Create a virtual machine’ page for ‘Security type’ parameter with ‘Trusted Launch Virtual Machines’ selected, click on ‘Configure security features’ and uncheck the ‘Enable secure boot’ checkbox. In CLI, PowerShell, or SDK, set secure boot parameter to false.
3535
36-
## Deploy a trusted launch VM
36+
## Deploy a Trusted Launch VM
3737

3838
Create a virtual machine with trusted launch enabled. Choose an option below:
3939

@@ -46,7 +46,7 @@ Create a virtual machine with trusted launch enabled. Choose an option below:
4646
1. Under **Project details**, make sure the correct subscription is selected.
4747
1. Under **Resource group**, select **Create new** and type a name for your resource group or select an existing resource group from the dropdown.
4848
1. Under **Instance details**, type a name for the virtual machine name and choose a region that supports [trusted launch](trusted-launch.md#additional-information).
49-
1. For **Security type** select **Trusted launch virtual machines**. This will make three more options appear - **Secure boot**, **vTPM**, and **Integrity Monitoring** . Select the appropriate options for your deployment. To learn more about [Trusted Launch Enabled Security Features](trusted-launch.md#microsoft-defender-for-cloud-integration).
49+
1. For **Security type** select **Trusted launch virtual machines**. This makes three more options appear - **Secure boot**, **vTPM**, and **Integrity Monitoring** . Select the appropriate options for your deployment. To learn more about [Trusted Launch Enabled Security Features](trusted-launch.md#microsoft-defender-for-cloud-integration).
5050
:::image type="content" source="./media/trusted-launch/tvm-popup.png" alt-text="Screenshot showing the options for Trusted Launch.":::
5151
1. Under **Image**, select an image from the **Recommended Gen 2 images compatible with Trusted launch**. For a list, see [trusted launch](trusted-launch.md#virtual-machines-sizes).
5252
> [!TIP]
@@ -58,11 +58,11 @@ Create a virtual machine with trusted launch enabled. Choose an option below:
5858

5959
:::image type="content" source="./media/trusted-launch/tvm-complete.png" alt-text="Sceenshot of the validation page, showing the trusted launch options are included.":::
6060

61-
It will take a few minutes for your VM to be deployed.
61+
It takes a few minutes for your VM to be deployed.
6262

6363
### [CLI](#tab/cli)
6464

65-
Make sure you are running the latest version of Azure CLI
65+
Make sure you're running the latest version of Azure CLI.
6666

6767
Sign in to Azure using `az login`.
6868

@@ -86,7 +86,7 @@ az vm create \
8686
--enable-vtpm true
8787
```
8888

89-
For existing VMs, you can enable or disable secure boot and vTPM settings. Updating the virtual machine with secure boot and vTPM settings will trigger auto-reboot.
89+
For existing VMs, you can enable or disable secure boot and vTPM settings. Updating the virtual machine with secure boot and vTPM settings trigger auto-reboot.
9090

9191
```azurecli-interactive
9292
az vm update \
@@ -179,7 +179,7 @@ No VM Guest State information shall be included in the image source.
179179

180180
The resulting image version can be used to create either Azure Gen2 VMs or Trusted launch VMs.
181181

182-
These images can be shared using [Azure Compute Gallery - Direct Shared Gallery](../virtual-machines/azure-compute-gallery.md#shared-directly-to-a-tenant-or-subscription) and [Azure Compute Gallery - Community Gallery](../virtual-machines/azure-compute-gallery.md#community-gallery)
182+
These images can be shared using [Azure Compute Gallery - Direct Shared Gallery](../virtual-machines/azure-compute-gallery.md#shared-directly-to-a-tenant-or-subscription) and [Azure Compute Gallery - Community Gallery](../virtual-machines/azure-compute-gallery.md#community-gallery).
183183

184184
> [!NOTE]
185185
> The OS disk VHD, Managed Image or Gallery Image Version should be created from a [Gen2 image that is compatible with Trusted launch VMs](trusted-launch.md#virtual-machines-sizes).
@@ -202,8 +202,8 @@ These images can be shared using [Azure Compute Gallery - Direct Shared Gallery]
202202
1. For **Operating system state**, select either **Generalized** or **Specialized** depending on your use case. If you're using a managed image as the source, always select **Generalized**. If you're using a storage blob (VHD) and want to select **Generalized**, follow the steps to [generalize a Linux VHD](../virtual-machines/linux/create-upload-generic.md) or [generalize a Windows VHD](../virtual-machines/windows/upload-generalized-managed.md) before you continue. If you're using an existing VM Image Version, select either **Generalized** or **Specialized** based on what is used in the source VM image definition.
203203
1. For **Target VM Image Definition**, select **Create new**.
204204
1. In the **Create a VM image definition** pane, enter a name for the definition. Make sure the security type is set to **Trustedlaunch Supported**. Enter publisher, offer, and SKU information. Then, select **Ok**.
205-
1. On the **Replication** tab, enter the replica count and target regions for image replication, if required.
206-
1. On the **Encryption** tab, enter SSE encryption-related information, if required.
205+
1. On the **Replication** tab, enter the replica count and target regions for image replication, if necessary.
206+
1. On the **Encryption** tab, enter SSE encryption-related information, if necessary.
207207
1. Select **Review + Create**.
208208
1. After the configuration is successfully validated, select **Create** to finish creating the image.
209209
1. After the image version is created, select **Create VM**.
@@ -217,15 +217,15 @@ These images can be shared using [Azure Compute Gallery - Direct Shared Gallery]
217217

218218
#### [CLI](#tab/cli3)
219219

220-
Make sure you are running the latest version of Azure CLI
220+
Make sure you're running the latest version of Azure CLI.
221221

222222
Sign in to Azure using `az login`.
223223

224224
```azurecli-interactive
225225
az login
226226
```
227227

228-
Create an image definition with `TrustedLaunchSupported` security type
228+
Create an image definition with `TrustedLaunchSupported` security type.
229229

230230
```azurecli-interactive
231231
az sig image-definition create --resource-group MyResourceGroup --location eastus \
@@ -236,7 +236,7 @@ az sig image-definition create --resource-group MyResourceGroup --location eastu
236236
--features SecurityType=TrustedLaunchSupported
237237
```
238238

239-
Use an OS disk VHD to create an image version. Ensure that the Linux VHD was generalized before uploading to an Azure storage account blob using steps outlined [here](../virtual-machines/linux/create-upload-generic.md)
239+
Use an OS disk VHD to create an image version. Ensure that the Linux VHD was generalized before uploading to an Azure storage account blob using steps outlined [here](../virtual-machines/linux/create-upload-generic.md).
240240

241241
```azurecli-interactive
242242
az sig image-version create --resource-group MyResourceGroup \
@@ -246,7 +246,7 @@ az sig image-version create --resource-group MyResourceGroup \
246246
--os-vhd-uri https://mystorageaccount.blob.core.windows.net/container/path_to_vhd_file
247247
```
248248

249-
Create a Trusted launch VM from the above image version
249+
Create a Trusted launch VM from the above image version.
250250

251251
```azurecli-interactive
252252
adminUsername=linuxvm
@@ -263,7 +263,7 @@ az vm create --resource-group MyResourceGroup \
263263

264264
#### [PowerShell](#tab/powershell3)
265265

266-
Create an image definition with `TrustedLaunchSupported` security type
266+
Create an image definition with `TrustedLaunchSupported` security type.
267267

268268
```azurepowershell-interactive
269269
$rgName = "MyResourceGroup"
@@ -279,7 +279,7 @@ $features = @($SecurityType)
279279
New-AzGalleryImageDefinition -ResourceGroupName $rgName -GalleryName $galleryName -Name $galleryImageDefinitionName -Location $location -Publisher $publisherName -Offer $offerName -Sku $skuName -HyperVGeneration "V2" -OsState "Generalized" -OsType "Windows" -Description $description -Feature $features
280280
```
281281

282-
To create an image version, we can use an existing Gen2 Gallery Image Version which was generalized during creation.
282+
To create an image version, we can use an existing Gen2 Gallery Image Version, which was generalized during creation.
283283

284284
```azurepowershell-interactive
285285
$rgName = "MyResourceGroup"
@@ -371,12 +371,12 @@ The resulting image version can be used only to create Azure Trusted launch VMs.
371371

372372
1. Sign in to the Azure [portal](https://portal.azure.com).
373373
2. To create an Azure Compute Gallery Image from a VM, open an existing Trusted launch VM and select **Capture**.
374-
3. In the Create an Image page that follows, allow the image to be shared to the gallery as a VM image version. Creation of Managed Images is not supported for Trusted Launch VMs.
374+
3. In the Create an Image page that follows, allow the image to be shared to the gallery as a VM image version. Creation of Managed Images isn't supported for Trusted Launch VMs.
375375
4. Create a new target Azure Compute Gallery or select an existing gallery.
376376
5. Select the **Operating system state** as either **Generalized** or **Specialized**. If you want to create a generalized image, ensure that you [generalize the VM to remove machine specific information](generalize.yml) before selecting this option. If Bitlocker based encryption is enabled on your Trusted launch Windows VM, you may not be able to generalize the same.
377-
6. Create a new image definition by providing a name, publisher, offer and SKU details. The **Security Type** of the image definition should already be set to **Trusted launch**.
377+
6. Create a new image definition by providing a name, publisher, offer, and SKU details. The **Security Type** of the image definition should already be set to **Trusted launch**.
378378
7. Provide a version number for the image version.
379-
8. Modify replication options if required.
379+
8. Modify replication options if necessary.
380380
9. At the bottom of the **Create an Image** page, select **Review + Create** and when validation shows as passed, select **Create**.
381381
10. Once the image version is created, go the image version directly. Alternatively, you can navigate to the required image version through the image definition.
382382
11. On the **VM image version** page, select the **+ Create VM** to land on the Create a virtual machine page.
@@ -388,11 +388,11 @@ The resulting image version can be used only to create Azure Trusted launch VMs.
388388
1. On the validation page, review the details of the VM.
389389
1. After the validation succeeds, select **Create** to finish creating the VM.
390390

391-
In case you want to use either a managed disk or a managed disk snapshot as a source of the image version (instead of a trusted launch VM), then use the following steps
391+
In case you want to use either a managed disk or a managed disk snapshot as a source of the image version (instead of a trusted launch VM), then use the following steps.
392392

393393
1. Sign in to the [portal](https://portal.azure.com)
394394
2. Search for **VM Image Versions** and select **Create**
395-
3. Provide the subscription, resource group, region and image version number
395+
3. Provide the subscription, resource group, region, and image version number
396396
4. Select the source as **Disks and/or Snapshots**
397397
5. Select the OS disk as a managed disk or a managed disk snapshot from the dropdown list
398398
6. Select a **Target Azure Compute Gallery** to create and share the image. If no gallery exists, create a new gallery.
@@ -407,7 +407,7 @@ In case you want to use either a managed disk or a managed disk snapshot as a so
407407

408408
#### [CLI](#tab/cli2)
409409

410-
Make sure you are running the latest version of Azure CLI
410+
Make sure you're running the latest version of Azure CLI.
411411

412412
Sign in to Azure using `az login`.
413413

@@ -548,19 +548,26 @@ New-AzVM `
548548
-VM $vm
549549
```
550550
---
551+
## Trusted Launch Built-In Policies
552+
553+
To help end-users adopt Trusted Launch, there is Azure policies available to help resource owners adopt Trusted Launch. The main objbective being to help convert Generation 1 and 2 Virtual Machines that are Trusted Launch capable. **Virtual Machine should have Trusted Launch enabled** single policy checks if the virtual machine, currently enabled with Trusted Launch security configurations. **Disks and OS Supported for Trusted Launch** checks if previously created virtual machines has the [capable Generation 2 operating system and virtual machine size](trusted-launch.md#virtual-machines-sizes) to deploy a Trusted Launch virtual machines. These two policies come together to make the Trusted Launch policy initative, enabling you to group several related policy definitions to simplify assignments and management resources to include Trusted Launch configuration.
551554

555+
To learn more, and start deploying the [Trusted Launch built-in policies](../governance/policy/samples/built-in-policies.md#trusted-launch).
556+
557+
---
552558
## Verify or update your settings
553559

554560
For VMs created with trusted launch enabled, you can view the trusted launch configuration by visiting the **Overview** page for the VM in the Azure portal. The **Properties** tab will show the status of Trusted Launch features:
555561

556562
:::image type="content" source="./media/trusted-launch/security-type-enabled.png" alt-text="Screenshot of the Trusted Launch properties of the VM.":::
557563

558-
To change the trusted launch configuration, in the left menu, under the **Settings** section, select **Configuration**. You can enable or disable Secure Boot, vTPM, and Integrity Monitoring from the **Security type** section. Select **Save** at the top of the page when you are done.
564+
To change the trusted launch configuration, in the left menu, under the **Settings** section, select **Configuration**. You can enable or disable Secure Boot, vTPM, and Integrity Monitoring from the **Security type** section. Select **Save** at the top of the page when you're done.
559565

560566
:::image type="content" source="./media/trusted-launch/verify-integrity-boot-on.png" alt-text="Screenshot showing check boxes to change the Trusted Launch settings.":::
561567

562-
If the VM is running, you will receive a message that the VM will be restarted. Select **Yes** then wait for the VM to restart for changes to take effect.
568+
If the VM is running, you receive a message that the VM will be restarted. Select **Yes** then wait for the VM to restart for changes to take effect.
563569

564570
## Next steps
565571

566-
Learn more about [trusted launch](trusted-launch.md) and [Boot integrity monitoring](boot-integrity-monitoring-overview.md) VMs.
572+
Learn more about [trusted launch](trusted-launch.md) and [boot integrity monitoring](boot-integrity-monitoring-overview.md) VMs.
573+

0 commit comments

Comments
 (0)