Skip to content

Commit 085240b

Browse files
authored
Merge pull request #106709 from roygara/cmkGA
SSE CMK GA
2 parents 19cb19b + d5c723b commit 085240b

File tree

6 files changed

+122
-64
lines changed

6 files changed

+122
-64
lines changed

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

Lines changed: 30 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,15 @@
22
title: Server-side encryption of Azure Managed Disks - Azure CLI
33
description: Azure Storage protects your data by encrypting it at rest before persisting it to Storage clusters. You can rely on Microsoft-managed keys for the encryption of your managed disks, or you can use customer-managed keys to manage encryption with your own keys.
44
author: roygara
5-
ms.date: 01/13/2020
5+
6+
ms.date: 03/12/2020
67
ms.topic: conceptual
78
ms.author: rogarana
89
ms.service: virtual-machines-linux
910
ms.subservice: disks
1011
---
1112

12-
# Server side encryption of Azure managed disks
13+
# Server-side encryption of Azure managed disks
1314

1415
Azure managed disks automatically encrypt your data by default when persisting it to the cloud. Server-side encryption protects your data and helps you meet your organizational security and compliance commitments. Data in Azure managed disks is encrypted transparently using 256-bit [AES encryption](https://en.wikipedia.org/wiki/Advanced_Encryption_Standard), one of the strongest block ciphers available, and is FIPS 140-2 compliant.
1516

@@ -25,15 +26,19 @@ The following sections describe each of the options for key management in greate
2526

2627
## Platform-managed keys
2728

28-
By default, managed disks use platform-managed encryption keys. As of June 10, 2017, all new managed disks, snapshots, images, and new data written to existing managed disks are automatically encrypted-at-rest with platform-managed keys.
29+
By default, managed disks use platform-managed encryption keys. As of June 10, 2017, all new managed disks, snapshots, images, and new data written to existing managed disks are automatically encrypted-at-rest with platform-managed keys.
2930

3031
## Customer-managed keys
3132

3233
You can choose to manage encryption at the level of each managed disk, with your own keys. Server-side encryption for managed disks with customer-managed keys offers an integrated experience with Azure Key Vault. You can either import [your RSA keys](../../key-vault/key-vault-hsm-protected-keys.md) to your Key Vault or generate new RSA keys in Azure Key Vault. Azure managed disks handles the encryption and decryption in a fully transparent fashion using [envelope encryption](../../storage/common/storage-client-side-encryption.md#encryption-and-decryption-via-the-envelope-technique). It encrypts data using an [AES](https://en.wikipedia.org/wiki/Advanced_Encryption_Standard) 256 based data encryption key (DEK), which is, in turn, protected using your keys. You have to grant access to managed disks in your Key Vault to use your keys for encrypting and decrypting the DEK. This allows you full control of your data and keys. You can disable your keys or revoke access to managed disks at any time. You can also audit the encryption key usage with Azure Key Vault monitoring to ensure that only managed disks or other trusted Azure services are accessing your keys.
3334

35+
For premium SSDs, standard SSDs, and standard HDDs: When you disable or delete your key, any VMs with disks using that key will automatically shut down. After this, the VMs will not be usable unless the key is enabled again or you assign a new key.
36+
37+
For ultra disks, when you disable or delete a key, any VMs with ultra disks using the key won't automatically shut down. Once you deallocate and restart the VMs then the disks will stop using the key and then VMs won't come back online. To bring the VMs back online, you must assign a new key or enable the existing key.
38+
3439
The following diagram shows how managed disks use Azure Active Directory and Azure Key Vault to make requests using the customer-managed key:
3540

36-
![Managed disk and customer-managed keys workflow. An admin creates an Azure Key Vault, then creates a disk encryption set, and sets up the disk encryption set. The Set is associated to a VM which allows the disk to make use of Azure AD to authenticate](media/disk-storage-encryption/customer-managed-keys-sse-managed-disks-workflow.png)
41+
![Managed disk and customer-managed keys workflow. An admin creates an Azure Key Vault, then creates a disk encryption set, and sets up the disk encryption set. The Set is associated to a VM, which allows the disk to make use of Azure AD to authenticate](media/disk-storage-encryption/customer-managed-keys-sse-managed-disks-workflow.png)
3742

3843

3944
The following list explains the diagram in even more detail:
@@ -51,15 +56,14 @@ To revoke access to customer-managed keys, see [Azure Key Vault PowerShell](http
5156

5257
### Supported regions
5358

54-
Only the following regions are currently supported:
55-
56-
- Available as a GA offering in the East US, West US 2, and South Central US regions.
57-
- Available as a public preview in the West Central US, East US 2, Canada Central, and North Europe regions.
59+
[!INCLUDE [virtual-machines-disks-encryption-regions](../../../includes/virtual-machines-disks-encryption-regions.md)]
5860

5961
### Restrictions
6062

6163
For now, customer-managed keys have the following restrictions:
6264

65+
- If this feature is enabled for your disk, you cannot disable it.
66+
If you need to work around this, you must [copy all the data](disks-upload-vhd-to-managed-disk-cli.md#copy-a-managed-disk) to an entirely different managed disk that isn't using customer-managed keys.
6367
- Only ["soft" and "hard" RSA keys](../../key-vault/about-keys-secrets-and-certificates.md#keys-and-key-types) of size 2080 are supported, no other keys or sizes.
6468
- Disks created from custom images that are encrypted using server-side encryption and customer-managed keys must be encrypted using the same customer-managed keys and must be in the same subscription.
6569
- Snapshots created from disks that are encrypted with server-side encryption and customer-managed keys must be encrypted with the same customer-managed keys.
@@ -94,28 +98,28 @@ For now, customer-managed keys have the following restrictions:
9498
az keyvault key create --vault-name $keyVaultName -n $keyName --protection software
9599
```
96100
97-
1. Create an instance of a DiskEncryptionSet.
101+
1. Create an instance of a DiskEncryptionSet.
98102
99-
```azurecli
100-
keyVaultId=$(az keyvault show --name $keyVaultName --query [id] -o tsv)
101-
102-
keyVaultKeyUrl=$(az keyvault key show --vault-name $keyVaultName --name $keyName --query [key.kid] -o tsv)
103-
104-
az disk-encryption-set create -n $diskEncryptionSetName -l $location -g $rgName --source-vault $keyVaultId --key-url $keyVaultKeyUrl
105-
```
106-
107-
1. Grant the DiskEncryptionSet resource access to the key vault.
108-
109-
> [!NOTE]
110-
> It may take few minutes for Azure to create the identity of your DiskEncryptionSet in your Azure Active Directory. If you get an error like "Cannot find the Active Directory object" when running the following command, wait a few minutes and try again.
103+
```azurecli
104+
keyVaultId=$(az keyvault show --name $keyVaultName --query [id] -o tsv)
105+
106+
keyVaultKeyUrl=$(az keyvault key show --vault-name $keyVaultName --name $keyName --query [key.kid] -o tsv)
107+
108+
az disk-encryption-set create -n $diskEncryptionSetName -l $location -g $rgName --source-vault $keyVaultId --key-url $keyVaultKeyUrl
109+
```
111110
112-
```azurecli
113-
desIdentity=$(az disk-encryption-set show -n $diskEncryptionSetName -g $rgName --query [identity.principalId] -o tsv)
111+
1. Grant the DiskEncryptionSet resource access to the key vault.
114112
115-
az keyvault set-policy -n $keyVaultName -g $rgName --object-id $desIdentity --key-permissions wrapkey unwrapkey get
113+
> [!NOTE]
114+
> It may take few minutes for Azure to create the identity of your DiskEncryptionSet in your Azure Active Directory. If you get an error like "Cannot find the Active Directory object" when running the following command, wait a few minutes and try again.
116115
117-
az role assignment create --assignee $desIdentity --role Reader --scope $keyVaultId
118-
```
116+
```azurecli
117+
desIdentity=$(az disk-encryption-set show -n $diskEncryptionSetName -g $rgName --query [identity.principalId] -o tsv)
118+
119+
az keyvault set-policy -n $keyVaultName -g $rgName --object-id $desIdentity --key-permissions wrapkey unwrapkey get
120+
121+
az role assignment create --assignee $desIdentity --role Reader --scope $keyVaultId
122+
```
119123
120124
#### Create a VM using a Marketplace image, encrypting the OS and data disks with customer-managed keys
121125

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

Lines changed: 32 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,16 @@ title: Server-side encryption of Azure Managed Disks - PowerShell
33
description: Azure Storage protects your data by encrypting it at rest before persisting it to Storage clusters. You can rely on Microsoft-managed keys for the encryption of your managed disks, or you can use customer-managed keys to manage encryption with your own keys.
44
author: roygara
55

6-
ms.date: 01/10/2020
6+
ms.date: 03/12/2020
77
ms.topic: conceptual
88
ms.author: rogarana
99
ms.service: virtual-machines-windows
1010
ms.subservice: disks
1111
---
1212

13-
# Server side encryption of Azure managed disks
13+
# Server-side encryption of Azure managed disks
1414

15-
Azure managed disks automatically encrypt your data by default when persisting it to the cloud. Server-side encryption protects your data and helps you meet your organizational security and compliance commitments. Data in Azure managed disks is encrypted transparently using 256-bit [AES encryption](https://en.wikipedia.org/wiki/Advanced_Encryption_Standard), one of the strongest block ciphers available, and is FIPS 140-2 compliant.
15+
Azure managed disks automatically encrypt your data by default when persisting it to the cloud. Server-side encryption protects your data and helps you meet your organizational security and compliance commitments. Data in Azure managed disks is encrypted transparently using 256-bit [AES encryption](https://en.wikipedia.org/wiki/Advanced_Encryption_Standard), one of the strongest block ciphers available, and is FIPS 140-2 compliant.
1616

1717
Encryption does not impact the performance of managed disks. There is no additional cost for the encryption.
1818

@@ -26,18 +26,22 @@ The following sections describe each of the options for key management in greate
2626

2727
## Platform-managed keys
2828

29-
By default, managed disks use platform-managed encryption keys. As of June 10, 2017, all new managed disks, snapshots, images, and new data written to existing managed disks are automatically encrypted-at-rest with platform-managed keys.
29+
By default, managed disks use platform-managed encryption keys. As of June 10, 2017, all new managed disks, snapshots, images, and new data written to existing managed disks are automatically encrypted-at-rest with platform-managed keys.
3030

3131
## Customer-managed keys
3232

3333
You can choose to manage encryption at the level of each managed disk, with your own keys. Server-side encryption for managed disks with customer-managed keys offers an integrated experience with Azure Key Vault. You can either import [your RSA keys](../../key-vault/key-vault-hsm-protected-keys.md) to your Key Vault or generate new RSA keys in Azure Key Vault. Azure managed disks handles the encryption and decryption in a fully transparent fashion using [envelope encryption](../../storage/common/storage-client-side-encryption.md#encryption-and-decryption-via-the-envelope-technique). It encrypts data using an [AES](https://en.wikipedia.org/wiki/Advanced_Encryption_Standard) 256 based data encryption key (DEK), which is, in turn, protected using your keys. You have to grant access to managed disks in your Key Vault to use your keys for encrypting and decrypting the DEK. This allows you full control of your data and keys. You can disable your keys or revoke access to managed disks at any time. You can also audit the encryption key usage with Azure Key Vault monitoring to ensure that only managed disks or other trusted Azure services are accessing your keys.
3434

35+
For premium SSDs, standard SSDs, and standard HDDs: When you disable or delete your key, any VMs with disks using that key will automatically shut down. After this, the VMs will not be usable unless the key is enabled again or you assign a new key.
36+
37+
For ultra disks, when you disable or delete a key, any VMs with ultra disks using the key won't automatically shut down. Once you deallocate and restart the VMs then the disks will stop using the key and then VMs won't come back online. To bring the VMs back online, you must assign a new key or enable the existing key.
38+
3539
The following diagram shows how managed disks use Azure Active Directory and Azure Key Vault to make requests using the customer-managed key:
3640

37-
![Managed disk and customer-managed keys workflow. An admin creates an Azure Key Vault, then creates a disk encryption set, and sets up the disk encryption set. The Set is associated to a VM which allows the disk to make use of Azure AD to authenticate](media/disk-storage-encryption/customer-managed-keys-sse-managed-disks-workflow.png)
41+
![Managed disk and customer-managed keys workflow. An admin creates an Azure Key Vault, then creates a disk encryption set, and sets up the disk encryption set. The Set is associated to a VM, which allows the disk to make use of Azure AD to authenticate](media/disk-storage-encryption/customer-managed-keys-sse-managed-disks-workflow.png)
3842

3943

40-
The following list explains the diagram in even more detail:
44+
The following list explains the diagram in more detail:
4145

4246
1. An Azure Key Vault administrator creates key vault resources.
4347
1. The key vault admin either imports their RSA keys to Key Vault or generate new RSA keys in Key Vault.
@@ -52,15 +56,14 @@ To revoke access to customer-managed keys, see [Azure Key Vault PowerShell](http
5256

5357
### Supported regions
5458

55-
Only the following regions are currently supported:
56-
57-
- Available as a GA offering in the East US, West US 2, South Central US, UK South regions.
58-
- Available as a public preview in the West Central US, East US 2, Canada Central, and North Europe regions.
59+
[!INCLUDE [virtual-machines-disks-encryption-regions](../../../includes/virtual-machines-disks-encryption-regions.md)]
5960

6061
### Restrictions
6162

6263
For now, customer-managed keys have the following restrictions:
6364

65+
- If this feature is enabled for your disk, you cannot disable it.
66+
If you need to work around this, you must [copy all the data](disks-upload-vhd-to-managed-disk-powershell.md#copy-a-managed-disk) to an entirely different managed disk that isn't using customer-managed keys.
6467
- Only ["soft" and "hard" RSA keys](../../key-vault/about-keys-secrets-and-certificates.md#keys-and-key-types) of size 2080 are supported, no other keys or sizes.
6568
- Disks created from custom images that are encrypted using server-side encryption and customer-managed keys must be encrypted using the same customer-managed keys and must be in the same subscription.
6669
- Snapshots created from disks that are encrypted with server-side encryption and customer-managed keys must be encrypted with the same customer-managed keys.
@@ -93,26 +96,26 @@ For now, customer-managed keys have the following restrictions:
9396
$key = Add-AzKeyVaultKey -VaultName $keyVaultName -Name $keyName -Destination $keyDestination
9497
```
9598
96-
1. Create an instance of a DiskEncryptionSet.
99+
1. Create an instance of a DiskEncryptionSet.
97100
98-
```powershell
99-
$desConfig=New-AzDiskEncryptionSetConfig -Location $LocationName -SourceVaultId $keyVault.ResourceId -KeyUrl $key.Key.Kid -IdentityType SystemAssigned
100-
101-
$des=New-AzDiskEncryptionSet -Name $diskEncryptionSetName -ResourceGroupName $ResourceGroupName -InputObject $desConfig
102-
```
103-
104-
1. Grant the DiskEncryptionSet resource access to the key vault.
105-
106-
> [!NOTE]
107-
> It may take few minutes for Azure to create the identity of your DiskEncryptionSet in your Azure Active Directory. If you get an error like "Cannot find the Active Directory object" when running the following command, wait a few minutes and try again.
108-
109-
```powershell
110-
$identity = Get-AzADServicePrincipal -DisplayName myDiskEncryptionSet1
111-
112-
Set-AzKeyVaultAccessPolicy -VaultName $keyVaultName -ObjectId $des.Identity.PrincipalId -PermissionsToKeys wrapkey,unwrapkey,get
113-
114-
New-AzRoleAssignment -ResourceName $keyVaultName -ResourceGroupName $ResourceGroupName -ResourceType "Microsoft.KeyVault/vaults" -ObjectId $des.Identity.PrincipalId -RoleDefinitionName "Reader"
115-
```
101+
```powershell
102+
$desConfig=New-AzDiskEncryptionSetConfig -Location $LocationName -SourceVaultId $keyVault.ResourceId -KeyUrl $key.Key.Kid -IdentityType SystemAssigned
103+
104+
$des=New-AzDiskEncryptionSet -Name $diskEncryptionSetName -ResourceGroupName $ResourceGroupName -InputObject $desConfig
105+
```
106+
107+
1. Grant the DiskEncryptionSet resource access to the key vault.
108+
109+
> [!NOTE]
110+
> It may take few minutes for Azure to create the identity of your DiskEncryptionSet in your Azure Active Directory. If you get an error like "Cannot find the Active Directory object" when running the following command, wait a few minutes and try again.
111+
112+
```powershell
113+
$identity = Get-AzADServicePrincipal -DisplayName myDiskEncryptionSet1
114+
115+
Set-AzKeyVaultAccessPolicy -VaultName $keyVaultName -ObjectId $des.Identity.PrincipalId -PermissionsToKeys wrapkey,unwrapkey,get
116+
117+
New-AzRoleAssignment -ResourceName $keyVaultName -ResourceGroupName $ResourceGroupName -ResourceType "Microsoft.KeyVault/vaults" -ObjectId $des.Identity.PrincipalId -RoleDefinitionName "Reader"
118+
```
116119
117120
#### Create a VM using a Marketplace image, encrypting the OS and data disks with customer-managed keys
118121
-13.1 KB
Loading

0 commit comments

Comments
 (0)