Skip to content

Commit 069f6f9

Browse files
Merge pull request #192563 from cynthn/tl-additions
lakmeedee:patch-580 and patch-479
2 parents 9933a38 + 32a08a0 commit 069f6f9

File tree

3 files changed

+205
-25
lines changed

3 files changed

+205
-25
lines changed

articles/backup/backup-support-matrix-iaas.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ Multiple Backups Per Day | Supported (in preview), using *Enhanced policy* (
5353

5454
## Operating system support (Windows)
5555

56-
The following table summarizes the supported operating systems when backing up Windows Azure VMs.
56+
The following table summarizes the supported operating systems when backing up Azure VMs running Windows.
5757

5858
**Scenario** | **OS support**
5959
--- | ---
@@ -164,7 +164,8 @@ Backup of Azure VMs with locks | Unsupported for unmanaged VMs. <br><br> Support
164164
Windows Storage Spaces configuration of standalone Azure VMs | Supported
165165
[Azure Virtual Machine Scale Sets](../virtual-machine-scale-sets/virtual-machine-scale-sets-orchestration-modes.md#scale-sets-with-flexible-orchestration) | Supported for flexible orchestration model to back up and restore Single Azure VM.
166166
Restore with Managed identities | Yes, supported for managed Azure VMs, and not supported for classic and unmanaged Azure VMs. <br><br> Cross Region Restore isn't supported with managed identities. <br><br> Currently, this is available in all Azure public and national cloud regions. <br><br> [Learn more](backup-azure-arm-restore-vms.md#restore-vms-with-managed-identities).
167-
<a name="tvm-backup">Trusted Launch VM</a> | Backup supported. <br><br> Backup of Trusted Launch VM is supported through [Enhanced policy](backup-azure-vms-enhanced-policy.md). You can enable backup through [Recovery Services vault](./backup-azure-arm-vms-prepare.md), [VM Manage blade](./backup-during-vm-creation.md#start-a-backup-after-creating-the-vm), and [Create VM blade](backup-during-vm-creation.md#create-a-vm-with-backup-configured). <br><br> **Feature details** <br> <ul><li> Backup is supported in all regions where Trusted Launch VM is available. </li><li> Configurations of Backup, Alerts, and Monitoring for Trusted Launch VM are currently not supported through Backup center. </li><li> Migration of an existing [Generation 2](../virtual-machines/generation-2.md) VM (protected with Azure Backup) to Trusted Launch VM is currently not supported. Learn about how to [create a Trusted Launch VM](../virtual-machines/trusted-launch-portal.md?tabs=portal#deploy-a-trusted-vm). </li></ul>
167+
<a name="tvm-backup">Trusted Launch VM</a> | Backup supported. <br><br> Backup of Trusted Launch VM is supported through [Enhanced policy](backup-azure-vms-enhanced-policy.md). You can enable backup through [Recovery Services vault](./backup-azure-arm-vms-prepare.md), [VM Manage blade](./backup-during-vm-creation.md#start-a-backup-after-creating-the-vm), and [Create VM blade](backup-during-vm-creation.md#create-a-vm-with-backup-configured). <br><br> **Feature details** <br> <ul><li> Backup is supported in all regions where Trusted Launch VM is available. </li><li> Configurations of Backup, Alerts, and Monitoring for Trusted Launch VM are currently not supported through Backup center. </li><li> Migration of an existing [Generation 2](../virtual-machines/generation-2.md) VM (protected with Azure Backup) to Trusted Launch VM is currently not supported. Learn about how to [create a Trusted Launch VM](../virtual-machines/trusted-launch-portal.md?tabs=portal#deploy-a-trusted-launch-vm). </li></ul>
168+
168169

169170
## VM storage support
170171

@@ -222,7 +223,7 @@ Network traffic to Azure:
222223
Data security:
223224

224225
- When backing up Azure VMs, you need to set up encryption *within* the virtual machine.
225-
- Azure Backup supports Azure Disk Encryption, which uses BitLocker on Windows virtual machines and us **dm-crypt** on Linux virtual machines.
226+
- Azure Backup supports Azure Disk Encryption, which uses BitLocker on virtual machines running Windows and uses **dm-crypt** on Linux virtual machines.
226227
- On the back end, Azure Backup uses [Azure Storage Service encryption](../storage/common/storage-service-encryption.md), which protects data at rest.
227228

228229
**Machine** | **In transit** | **At rest**
@@ -255,4 +256,4 @@ On-premises/Azure VMs with MABS | ![Yes][green] | ![Yes][green]
255256

256257
[green]: ./media/backup-support-matrix/green.png
257258
[yellow]: ./media/backup-support-matrix/yellow.png
258-
[red]: ./media/backup-support-matrix/red.png
259+
[red]: ./media/backup-support-matrix/red.png

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

Lines changed: 166 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
---
22
title: Deploy a trusted launch VM
33
description: Deploy a VM that uses trusted launch.
4-
author: cynthn
5-
ms.author: cynthn
4+
author: lakmeedee
5+
ms.author: dejv
66
ms.reviewer: cynthn
77
ms.service: virtual-machines
88
ms.subservice: trusted-launch
99
ms.topic: how-to
10-
ms.date: 12/07/2021
10+
ms.date: 03/22/2022
1111
ms.custom: template-how-to, devx-track-azurecli
1212
---
1313

1414
# Deploy a VM with trusted launch enabled
1515

16-
**Applies to:** :heavy_check_mark: Linux VMs :heavy_check_mark: Windows VMs :heavy_check_mark: Flexible 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

@@ -27,7 +27,7 @@ ms.custom: template-how-to, devx-track-azurecli
2727
- Configure machines to automatically install the Azure Monitor and Azure Security agents on virtual machines
2828

2929

30-
## Deploy a trusted VM
30+
## Deploy a trusted launch VM
3131
Create a virtual machine with trusted launch enabled. Choose an option below:
3232

3333
### [Portal](#tab/portal)
@@ -154,6 +154,167 @@ You can deploy trusted launch VMs using a quickstart template:
154154

155155
---
156156

157+
## Deploy a trusted launch VM from an Azure Compute Gallery image
158+
159+
### [Portal](#tab/portal2)
160+
161+
1. Sign in to the Azure [portal](https://portal.azure.com).
162+
2. To create an Azure Compute Gallery Image from a VM, open an existing Trusted launch VM and select **Capture**.
163+
3. In the Create an Image page that follows, allow the image to be shared to the gallery as a VM image version as Managed Images are not supported for Trusted Launch.
164+
4. Create a new target Azure Compute Gallery or select an existing gallery.
165+
5. Select the **Operating system state** as either **Generalized** or **Specialized**.
166+
6. Create a new image definition by providing a name, publisher, offer and SKU details. The Security Type of the image definition is already set to 'Trusted launch'.
167+
7. Provide a version number for the image version.
168+
8. Modify replication options if required.
169+
9. At the bottom of the **Create an Image** page, select **Review + Create** and when validation shows as passed, select **Create**.
170+
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.
171+
11. On the **VM image version** page, select the **+ Create VM** to land on the Create a virtual machine page.
172+
12. In the Create a virtual machine page, under **Resource group**, select **Create new** and type a name for your resource group or select an existing resource group from the dropdown.
173+
13. Under **Instance details**, type a name for the virtual machine name and choose a region that supports [trusted launch](trusted-launch.md#limitations).
174+
14. The image and the security type are already populated based on the selected image version. The **Secure Boot** and **vTPM** checkboxes are enabled by default.
175+
15. Fill in the **Administrator account** information and then **Inbound port rules**.
176+
16. At the bottom of the page, select **Review + Create**
177+
17. On the **Create a virtual machine** page, you can see the details about the VM you are about to deploy. Once validation shows as passed, select **Create**.
178+
179+
### [CLI](#tab/cli2)
180+
181+
Make sure you are running the latest version of Azure CLI
182+
183+
Sign in to Azure using `az login`.
184+
185+
```azurecli-interactive
186+
az login
187+
```
188+
189+
Create an image definition with TrustedLaunch security type
190+
191+
```azurecli-interactive
192+
az sig image-definition create --resource-group MyResourceGroup --location eastus \
193+
--gallery-name MyGallery --gallery-image-definition MyImageDef \
194+
--publisher TrustedLaunchPublisher --offer TrustedLaunchOffer --sku TrustedLaunchSku \
195+
--os-type Linux --os-state Generalized \
196+
--hyper-v-generation V2 \
197+
--features SecurityType=TrustedLaunch
198+
```
199+
200+
Generalize the VM using waagagent command and create an image version with an existing Trusted Launch VM as image source
201+
202+
```azurecli-interactive
203+
az sig image-version create --resource-group MyResourceGroup \
204+
--gallery-name MyGallery --gallery-image-definition MyImageDef \
205+
--gallery-image-version 1.0.0 \
206+
--managed-image /subscriptions/00000000-0000-0000-0000-00000000xxxx/resourceGroups/MyResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM
207+
```
208+
Create a Trusted Launch VM from the above image version
209+
210+
```azurecli-interactive
211+
adminUsername=linuxvm
212+
az vm create --resource-group MyResourceGroup \
213+
--name myTrustedLaunchVM \
214+
--image "/subscriptions/00000000-0000-0000-0000-00000000xxxx/resourceGroups/MyResourceGroup/providers/Microsoft.Compute/galleries/MyGallery/images/MyImageDef" \
215+
--security-type TrustedLaunch \
216+
--enable-secure-boot true \
217+
--enable-vtpm true \
218+
--admin-username $adminUsername \
219+
--generate-ssh-keys
220+
```
221+
222+
### [PowerShell](#tab/powershell2)
223+
224+
Create an image definition with `TrustedLaunch` security type
225+
226+
```azurepowershell-interactive
227+
$rgName = "MyResourceGroup"
228+
$galleryName = "MyGallery"
229+
$galleryImageDefinitionName = "MyImageDef"
230+
$location = "eastus"
231+
$publisherName = "TrustedlaunchPublisher"
232+
$offerName = "TrustedlaunchOffer"
233+
$skuName = "TrustedlaunchSku"
234+
$description = "My gallery"
235+
$SecurityType = @{Name='SecurityType';Value='TrustedLaunch'}
236+
$features = @($SecurityType)
237+
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
238+
```
239+
240+
Generalize the VM using sysprep tool and create an image version with an existing Trusted Launch VM as image source
241+
242+
```azurepowershell-interactive
243+
$rgName = "MyResourceGroup"
244+
$galleryName = "MyGallery"
245+
$galleryImageDefinitionName = "MyImageDef"
246+
$location = "eastus"
247+
$galleryImageVersionName = "1.0.0"
248+
$sourceImageId = "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myVMRG/providers/Microsoft.Compute/virtualMachines/myVM"
249+
New-AzGalleryImageVersion -ResourceGroupName $rgName -GalleryName $galleryName -GalleryImageDefinitionName $galleryImageDefinitionName -Name $galleryImageVersionName -Location $location -SourceImageId $sourceImageId
250+
```
251+
Create a Trusted Launch VM from the above image version
252+
253+
```azurepowershell-interactive
254+
$rgName = "MyResourceGroup"
255+
$galleryName = "MyGallery"
256+
$galleryImageDefinitionName = "MyImageDef"
257+
$location = "eastus"
258+
$vmName = "myVMfromImage"
259+
$vmSize = "Standard_D2s_v3"
260+
$imageDefinition = Get-AzGalleryImageDefinition `
261+
-GalleryName $galleryName `
262+
-ResourceGroupName $rgName `
263+
-Name $galleryImageDefinitionName
264+
$cred = Get-Credential `
265+
-Message "Enter a username and password for the virtual machine"
266+
# Network pieces
267+
$subnetConfig = New-AzVirtualNetworkSubnetConfig `
268+
-Name mySubnet `
269+
-AddressPrefix 192.168.1.0/24
270+
$vnet = New-AzVirtualNetwork `
271+
-ResourceGroupName $resourceGroup `
272+
-Location $location `
273+
-Name MYvNET `
274+
-AddressPrefix 192.168.0.0/16 `
275+
-Subnet $subnetConfig
276+
$pip = New-AzPublicIpAddress `
277+
-ResourceGroupName $resourceGroup `
278+
-Location $location `
279+
-Name "mypublicdns$(Get-Random)" `
280+
-AllocationMethod Static `
281+
-IdleTimeoutInMinutes 4
282+
$nsgRuleRDP = New-AzNetworkSecurityRuleConfig `
283+
-Name myNetworkSecurityGroupRuleRDP `
284+
-Protocol Tcp `
285+
-Direction Inbound `
286+
-Priority 1000 `
287+
-SourceAddressPrefix * `
288+
-SourcePortRange * `
289+
-DestinationAddressPrefix * `
290+
-DestinationPortRange 3389 `
291+
-Access Deny
292+
$nsg = New-AzNetworkSecurityGroup `
293+
-ResourceGroupName $resourceGroup `
294+
-Location $location `
295+
-Name myNetworkSecurityGroup `
296+
-SecurityRules $nsgRuleRDP
297+
$nic = New-AzNetworkInterface `
298+
-Name myNic `
299+
-ResourceGroupName $resourceGroup `
300+
-Location $location `
301+
-SubnetId $vnet.Subnets[0].Id `
302+
-PublicIpAddressId $pip.Id `
303+
-NetworkSecurityGroupId $nsg.Id
304+
$vm = New-AzVMConfig -vmName $vmName -vmSize $vmSize | `
305+
Set-AzVMOperatingSystem -Windows -ComputerName $vmName -Credential $cred | `
306+
Set-AzVMSourceImage -Id $imageDefinition.Id | `
307+
Add-AzVMNetworkInterface -Id $nic.Id
308+
$vm = Set-AzVMSecurityProfile -SecurityType "TrustedLaunch" -VM $vm
309+
$vm = Set-AzVmUefi -VM $vm `
310+
-EnableVtpm $true `
311+
-EnableSecureBoot $true
312+
New-AzVM `
313+
-ResourceGroupName $rgName `
314+
-Location $location `
315+
-VM $vm
316+
```
317+
---
157318
## Verify or update your settings
158319

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

0 commit comments

Comments
 (0)