Skip to content

Commit 8b5f6ea

Browse files
updated script with first class CLI command
updated script with first class CLI command
1 parent 8724e45 commit 8b5f6ea

File tree

1 file changed

+31
-32
lines changed

1 file changed

+31
-32
lines changed

articles/virtual-machines/linux/disk-encryption.md

Lines changed: 31 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -77,15 +77,15 @@ The preview also has the following restrictions:
7777
When creating the Key Vault instance, you must enable soft delete and purge protection. Soft delete ensures that the Key Vault holds a deleted key for a given retention period (90 day default). Purge protection ensures that a deleted key cannot be permanently deleted until the retention period lapses. These settings protect you from losing data due to accidental deletion. These settings are mandatory when using a Key Vault for encrypting managed disks.
7878

7979
```azurecli
80-
subscriptionId = <yourSubscriptionIDHere>
81-
rgName = <yourResourceGroupNameHere>
82-
location = <yourDesiredLocationHere>
83-
keyVaultName = <yourKeyVaultNameHere>
84-
keyName = <yourKeyNameHere>
85-
diskEncryptionSetName = <yourDiskEncryptionSetNameHere>
86-
diskName = <yourDiskNameHere>
80+
subscriptionId=yourSubscriptionID
81+
rgName=yourResourceGroupName
82+
location=WestCentralUS
83+
keyVaultName=yourKeyVaultName
84+
keyName=yourKeyName
85+
diskEncryptionSetName=yourDiskEncryptionSetName
86+
diskName=yourDiskName
8787

88-
az account set -subscription $subscriptionId
88+
az account set --subscription $subscriptionId
8989

9090
az keyvault create -n $keyVaultName -g $rgName -l $location --enable-purge-protection true --enable-soft-delete true
9191

@@ -95,17 +95,17 @@ The preview also has the following restrictions:
9595
1. Create an instance of a DiskEncryptionSet.
9696

9797
```azurecli
98-
keyVaultId = $(az keyvault show --name $keyVaultName --query [id] -o tsv)
98+
keyVaultId=$(az keyvault show --name $keyVaultName --query [id] -o tsv)
9999

100-
keyVaultKeyUrl = $(az keyvault key show --vault-name $keyVaultName --name $keyName --query [key.kid] -o tsv)
100+
keyVaultKeyUrl=$(az keyvault key show --vault-name $keyVaultName --name $keyName --query [key.kid] -o tsv)
101101

102-
az group deployment create -g $rgName --template-uri "https://raw.githubusercontent.com/ramankumarlive/manageddiskscmkpreview/master/CreateDiskEncryptionSet.json" --parameters "diskEncryptionSetName = $diskEncryptionSetName" "keyVaultId = $keyVaultId" "keyVaultKeyUrl=$keyVaultKeyUrl" "region=$location"
102+
az disk-encryption-set create -n $diskEncryptionSetName -l $location -g $rgName --source-vault $keyVaultId --key-url $keyVaultKeyUrl
103103
```
104104

105105
1. Grant the DiskEncryptionSet resource access to the key vault.
106106

107107
```azurecli
108-
desIdentity=$(az ad sp list --display-name $diskEncryptionSetName --query[].[objectId] -o tsv)
108+
desIdentity=$(az disk-encryption-set show -n $diskEncryptionSetName -g $rgName --query [identity.principalId] -o tsv)
109109

110110
az keyvault set-policy -n $keyVaultName -g $rgName --object-id $desIdentity --key-permissions wrapkey unwrapkey get
111111

@@ -115,41 +115,40 @@ The preview also has the following restrictions:
115115
### Create a VM using a Marketplace image, encrypting the OS and data disks with customer-managed keys
116116

117117
```azurecli
118-
rgName="<yourResourceGroupName>"
119-
vmName="<yourVMName>"
120-
region="westcentralus"
121-
password="<yourVMLocalAdminPassword>"
122-
vmSize="Standard_DS3_V2"
123-
diskEncryptionSetName="<yourDiskEncryptionSetName>"
124-
templateURI="https://raw.githubusercontent.com/ramankumarlive/manageddiskscmkpreview/master/CreateVMWithDisksEncryptedWithCMK.json"
118+
rgName=yourResourceGroupName
119+
vmName=yourVMName
120+
location=WestCentralUS
121+
vmSize=Standard_DS3_V2
122+
image=UbuntuLTS
123+
diskEncryptionSetName=yourDiskencryptionSetName
125124
126-
diskEncryptionSetId=$(az resource show -n $diskEncryptionSetName -g ssecmktesting --resource-type "Microsoft.Compute/diskEncryptionSets" --query [id] -o tsv)
125+
diskEncryptionSetId=$(az disk-encryption-set show -n $diskEncryptionSetName -g $rgName --query [id] -o tsv)
126+
127+
az vm create -g $rgName -n $vmName -l $location --image $image --size $vmSize --generate-ssh-keys --os-disk-encryption-set $diskEncryptionSetId --data-disk-sizes-gb 128 128 --data-disk-encryption-sets $diskEncryptionSetId $diskEncryptionSetId
127128
128-
az group deployment create -g $rgName --template-uri $templateURI --parameters "virtualMachineName=$vmName" "adminPassword=$password" "vmSize=$vmSize" "diskEncryptionSetId=$diskEncryptionSetId" "region=$region"
129129
130130
```
131131

132132
### Create an empty disk encrypted using server-side encryption with customer-managed keys and attach it to a VM
133133

134134
```azurecli
135-
vmName="<yourVMName>"
136-
rgName="<yourResourceGroupName>"
137-
diskName="<yourDiskName>"
138-
diskSkuName="Premium_LRS"
139-
diskSizeinGiB="30"
140-
region="westcentralus"
135+
vmName=yourVMName
136+
rgName=yourResourceGroupName
137+
diskName=yourDiskName
138+
diskSkuName=Premium_LRS
139+
diskSizeinGiB=30
140+
location=WestCentralUS
141141
diskLUN=2
142-
diskEncryptionSetName="<yourDiskEncryptionSetName>"
143-
templateURI="https://raw.githubusercontent.com/ramankumarlive/manageddiskscmkpreview/master/CreateEmptyDataDiskEncryptedWithSSECMK.json"
142+
diskEncryptionSetName=yourDiskEncryptionSetName
144143
145-
diskEncryptionSetId=$(az resource show -n $diskEncryptionSetName -g ssecmktesting --resource-type "Microsoft.Compute/diskEncryptionSets" --query [id] -o tsv)
146144
145+
diskEncryptionSetId=$(az disk-encryption-set show -n $diskEncryptionSetName -g $rgName --query [id] -o tsv)
147146
148-
az group deployment create -g $rgName --template-uri $templateURI --parameters "diskName=$diskName" "diskSkuName=$diskSkuName" "dataDiskSizeInGb=$diskSizeinGiB" "diskEncryptionSetId=$diskEncryptionSetId" "region=$region"
147+
az disk create -n $diskName -g $rgName -l $location --encryption-type EncryptionAtRestWithCustomerKey --disk-encryption-set $diskEncryptionSetId --size-gb $diskSizeinGiB --sku $diskSkuName
149148
150149
diskId=$(az disk show -n $diskName -g $rgName --query [id] -o tsv)
151150
152-
az vm disk attach --vm-name $vmName --lun $diskLUN --ids $diskId
151+
az vm disk attach --vm-name $vmName --lun $diskLUN --ids $diskId
153152
154153
```
155154

0 commit comments

Comments
 (0)