You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# Deploy a Virtual Machine with Trusted Launch Enabled
15
15
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.
17
17
18
18
[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.
19
19
20
20
## Prerequisites
21
21
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.
23
23
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)
25
26
- Configure prerequisites to enable Guest Attestation on Trusted Launch enabled VMs.
26
-
27
27
- Configure machines to automatically install the Azure Monitor and Azure Security agents on virtual machines.
28
28
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).
30
30
31
31
- Make sure that the firewall policies are allowing access to `*.attest.azure.net`.
32
32
33
33
> [!NOTE]
34
34
> 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.
35
35
36
-
## Deploy a trusted launch VM
36
+
## Deploy a Trusted Launch VM
37
37
38
38
Create a virtual machine with trusted launch enabled. Choose an option below:
39
39
@@ -46,7 +46,7 @@ Create a virtual machine with trusted launch enabled. Choose an option below:
46
46
1. Under **Project details**, make sure the correct subscription is selected.
47
47
1. Under **Resource group**, select **Create new** and type a name for your resource group or select an existing resource group from the dropdown.
48
48
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).
50
50
:::image type="content" source="./media/trusted-launch/tvm-popup.png" alt-text="Screenshot showing the options for Trusted Launch.":::
51
51
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).
52
52
> [!TIP]
@@ -58,11 +58,11 @@ Create a virtual machine with trusted launch enabled. Choose an option below:
58
58
59
59
:::image type="content" source="./media/trusted-launch/tvm-complete.png" alt-text="Sceenshot of the validation page, showing the trusted launch options are included.":::
60
60
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.
62
62
63
63
### [CLI](#tab/cli)
64
64
65
-
Make sure you are running the latest version of Azure CLI
65
+
Make sure you're running the latest version of Azure CLI.
66
66
67
67
Sign in to Azure using `az login`.
68
68
@@ -86,7 +86,7 @@ az vm create \
86
86
--enable-vtpm true
87
87
```
88
88
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.
90
90
91
91
```azurecli-interactive
92
92
az vm update \
@@ -179,7 +179,7 @@ No VM Guest State information shall be included in the image source.
179
179
180
180
The resulting image version can be used to create either Azure Gen2 VMs or Trusted launch VMs.
181
181
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).
183
183
184
184
> [!NOTE]
185
185
> 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]
202
202
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.
203
203
1. For **Target VM Image Definition**, select **Create new**.
204
204
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.
207
207
1. Select **Review + Create**.
208
208
1. After the configuration is successfully validated, select **Create** to finish creating the image.
209
209
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]
217
217
218
218
#### [CLI](#tab/cli3)
219
219
220
-
Make sure you are running the latest version of Azure CLI
220
+
Make sure you're running the latest version of Azure CLI.
221
221
222
222
Sign in to Azure using `az login`.
223
223
224
224
```azurecli-interactive
225
225
az login
226
226
```
227
227
228
-
Create an image definition with `TrustedLaunchSupported` security type
228
+
Create an image definition with `TrustedLaunchSupported` security type.
229
229
230
230
```azurecli-interactive
231
231
az sig image-definition create --resource-group MyResourceGroup --location eastus \
@@ -236,7 +236,7 @@ az sig image-definition create --resource-group MyResourceGroup --location eastu
236
236
--features SecurityType=TrustedLaunchSupported
237
237
```
238
238
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).
240
240
241
241
```azurecli-interactive
242
242
az sig image-version create --resource-group MyResourceGroup \
@@ -246,7 +246,7 @@ az sig image-version create --resource-group MyResourceGroup \
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.
283
283
284
284
```azurepowershell-interactive
285
285
$rgName = "MyResourceGroup"
@@ -371,12 +371,12 @@ The resulting image version can be used only to create Azure Trusted launch VMs.
371
371
372
372
1. Sign in to the Azure [portal](https://portal.azure.com).
373
373
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.
375
375
4. Create a new target Azure Compute Gallery or select an existing gallery.
376
376
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**.
378
378
7. Provide a version number for the image version.
379
-
8. Modify replication options if required.
379
+
8. Modify replication options if necessary.
380
380
9. At the bottom of the **Create an Image** page, select **Review + Create** and when validation shows as passed, select **Create**.
381
381
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.
382
382
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.
388
388
1. On the validation page, review the details of the VM.
389
389
1. After the validation succeeds, select **Create** to finish creating the VM.
390
390
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.
392
392
393
393
1. Sign in to the [portal](https://portal.azure.com)
394
394
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
396
396
4. Select the source as **Disks and/or Snapshots**
397
397
5. Select the OS disk as a managed disk or a managed disk snapshot from the dropdown list
398
398
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
407
407
408
408
#### [CLI](#tab/cli2)
409
409
410
-
Make sure you are running the latest version of Azure CLI
410
+
Make sure you're running the latest version of Azure CLI.
411
411
412
412
Sign in to Azure using `az login`.
413
413
@@ -548,19 +548,26 @@ New-AzVM `
548
548
-VM $vm
549
549
```
550
550
---
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.
551
554
555
+
To learn more, and start deploying the [Trusted Launch built-in policies](../governance/policy/samples/built-in-policies.md#trusted-launch).
556
+
557
+
---
552
558
## Verify or update your settings
553
559
554
560
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:
555
561
556
562
:::image type="content" source="./media/trusted-launch/security-type-enabled.png" alt-text="Screenshot of the Trusted Launch properties of the VM.":::
557
563
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.
559
565
560
566
:::image type="content" source="./media/trusted-launch/verify-integrity-boot-on.png" alt-text="Screenshot showing check boxes to change the Trusted Launch settings.":::
561
567
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.
563
569
564
570
## Next steps
565
571
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.
0 commit comments