適用対象: ✔️ Linux VM ✔️ Windows VM ✔️
Azure Disk Storage は、マネージド ディスクに対する保存時の二重暗号化をサポートしています。 保存時の二重暗号化とその他のマネージド ディスクの暗号化の概念については、ディスクの暗号化に関する次の記事で「保存時の二重暗号化」セクションを参照してください。
制限
現在、保存時の二重暗号化は、Ultra Disks または Premium SSD v2 ディスクではサポートされていません。
前提条件
Azure CLI を使用する場合は、最新の Azure CLI をインストールし、az login を使用して Azure アカウントにサインインします。
Azure PowerShell モジュールを使用する場合は、最新の Azure PowerShell バージョンをインストールし、Connect-AzAccount を使用して Azure アカウントにサインインします。
作業の開始
Azure portal にサインインします。
[ディスク暗号化セット] を検索して選択します。
[+ 作成] を選択します。
サポートされているリージョンの 1 つを選択します。
[暗号化の種類] で、 [Double encryption with platform-managed and customer-managed keys] (プラットフォーム マネージド キーとカスタマー マネージド キーを使用した二重暗号化) を選択します。
注意
特定の種類の暗号化を使用してディスク暗号化セットを作成すると、そのセットを変更することはできません。 別の種類の暗号化を使用する場合は、新しいディスク暗号化セットを作成する必要があります。
残りの情報を入力します。
Azure Key Vault とキーを選択するか、必要に応じて新しいものを作成します。
注意
Key Vault インスタンスを作成する場合は、論理的な削除と消去保護を有効にする必要があります。 これらの設定は、マネージド ディスクの暗号化のために Key Vault を使用する場合は必須であり、誤った削除によるデータ損失の防止になります。
[作成] を選択します
作成したディスク暗号化セットに移動し、表示されるエラーを選択します。 これにより、ディスク暗号化セットが機能するように構成されます。
通知がポップアップ表示され、成功します。 これで、キー コンテナーでディスク暗号化セットを使用できるようになります。
ディスクに移動します。
[暗号化] を選択します。
[キー管理] には、[プラットフォーム マネージド キーとカスタマー マネージド キー] でいずれかのキーを選択します。
[保存] を選択します。
これで、マネージド ディスクで保存時の二重暗号化を有効にしました。
Azure Key Vault と暗号化キーのインスタンスを作成します。
Key Vault インスタンスを作成する場合、論理的な削除と消去保護を有効にする必要があります。 論理的な削除では、Key Vault は削除されたキーを特定の保持期間 (既定では90日) にわたって保持します。 消去保護では、保持期間が経過するまで、削除されたキーを完全に削除できないようになります。 これらの設定は、誤って削除したためにデータが失われるのを防ぎます。 これらの設定は、Key Vault を使用してマネージド ディスクを暗号化する場合は必須です。
subscriptionId=yourSubscriptionID
rgName=yourResourceGroupName
___location=westcentralus
keyVaultName=yourKeyVaultName
keyName=yourKeyName
diskEncryptionSetName=yourDiskEncryptionSetName
diskName=yourDiskName
az account set --subscription $subscriptionId
az keyvault create -n $keyVaultName -g $rgName -l $___location --enable-purge-protection true --enable-soft-delete true
az keyvault key create --vault-name $keyVaultName -n $keyName --protection software
az keyvault key show
で作成したキーのキー URL を取得します。
az keyvault key show --name $keyName --vault-name $keyVaultName
EncryptionAtRestWithPlatformAndCustomerKeys として encryptionType を設定して、DiskEncryptionSet を作成します。 yourKeyURL
を、az keyvault key show
から受け取った URL に置き換えます。
az disk-encryption-set create --resource-group $rgName --name $diskEncryptionSetName --key-url yourKeyURL --source-vault $keyVaultName --encryption-type EncryptionAtRestWithPlatformAndCustomerKeys
DiskEncryptionSet リソースに Key Vault へのアクセス権を付与します。
Note
Azure が Microsoft Entra ID で DiskEncryptionSet の ID を作成するには数分かかる場合があります。 次のコマンドを実行しているときに "Active Directory オブジェクトが見つかりません" のようなエラーが表示された場合は、数分待ってから再試行してください。
desIdentity=$(az disk-encryption-set show -n $diskEncryptionSetName -g $rgName --query [identity.principalId] -o tsv)
az keyvault set-policy -n $keyVaultName -g $rgName --object-id $desIdentity --key-permissions wrapkey unwrapkey get
Azure Key Vault と暗号化キーのインスタンスを作成します。
Key Vault インスタンスを作成する場合、論理的な削除と消去保護を有効にする必要があります。 論理的な削除では、Key Vault は削除されたキーを特定の保持期間 (既定では90日) にわたって保持します。 消去保護では、保持期間が経過するまで、削除されたキーを完全に削除できないようになります。 これらの設定は、誤って削除したためにデータが失われるのを防ぎます。 これらの設定は、Key Vault を使用してマネージド ディスクを暗号化する場合は必須です。
$ResourceGroupName="yourResourceGroupName"
$LocationName="westus2"
$keyVaultName="yourKeyVaultName"
$keyName="yourKeyName"
$keyDestination="Software"
$diskEncryptionSetName="yourDiskEncryptionSetName"
$keyVault = New-AzKeyVault -Name $keyVaultName -ResourceGroupName $ResourceGroupName -Location $LocationName -EnableSoftDelete -EnablePurgeProtection
$key = Add-AzKeyVaultKey -VaultName $keyVaultName -Name $keyName -Destination $keyDestination
作成したキーの URL を取得します。これは、後続のコマンドで必要です。 Get-AzKeyVaultKey
からの ID 出力はキー URL です。
Get-AzKeyVaultKey -VaultName $keyVaultName -KeyName $keyName
作成した Key Vault インスタンスのリソース ID を取得します。これは、後続のコマンドで必要です。
Get-AzKeyVault -VaultName $keyVaultName
EncryptionAtRestWithPlatformAndCustomerKeys として encryptionType を設定して、DiskEncryptionSet を作成します。 yourKeyURL
と yourKeyVaultURL
を以前に取得した URL に置き換えます。
$config = New-AzDiskEncryptionSetConfig -Location $locationName -KeyUrl "yourKeyURL" -SourceVaultId 'yourKeyVaultURL' -IdentityType 'SystemAssigned'
$config | New-AzDiskEncryptionSet -ResourceGroupName $ResourceGroupName -Name $diskEncryptionSetName -EncryptionType EncryptionAtRestWithPlatformAndCustomerKeys
DiskEncryptionSet リソースに Key Vault へのアクセス権を付与します。
Note
Azure が Microsoft Entra ID で DiskEncryptionSet の ID を作成するには数分かかる場合があります。 次のコマンドを実行しているときに "Active Directory オブジェクトが見つかりません" のようなエラーが表示された場合は、数分待ってから再試行してください。
$des=Get-AzDiskEncryptionSet -name $diskEncryptionSetName -ResourceGroupName $ResourceGroupName
Set-AzKeyVaultAccessPolicy -VaultName $keyVaultName -ObjectId $des.Identity.PrincipalId -PermissionsToKeys wrapkey,unwrapkey,get
次のステップ