使用 Azure PowerShell 模块为托管磁盘启用静态双重加密
适用于:✔️ Windows VM
Azure 磁盘存储支持对托管磁盘的静态双重加密。 有关静态双重加密的概念信息以及其他托管磁盘加密类型,请参阅磁盘加密文章的静态双重加密部分。
限制
超级磁盘当前不支持双重静态加密。
先决条件
安装最新的 Azure PowerShell 版本,并使用 Connect-AzAccount -Environment AzureChinaCloud 登录到 Azure 帐户。
入门
创建 Azure Key Vault 和加密密钥的实例。
创建 Key Vault 实例时,必须启用软删除和清除保护。 软删除可确保 Key Vault 在给定的保留期(默认为 90 天)内保留已删除的密钥。 清除保护可确保在保留期结束之前,无法永久删除已删除的密钥。 这些设置可防止由于意外删除而丢失数据。 使用 Key Vault 加密托管磁盘时,这些设置是必需的。
$ResourceGroupName="yourResourceGroupName" $LocationName="chinanorth2" $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
创建 DiskEncryptionSet,并将 encryptionType 设置为 EncryptionAtRestWithPlatformAndCustomerKeys。 将
yourKeyURL
和yourKeyVaultURL
替换为以前检索到的 URL。$config = New-AzDiskEncryptionSetConfig -Location $locationName -KeyUrl "yourKeyURL" -SourceVaultId 'yourKeyVaultURL' -IdentityType 'SystemAssigned' $config | New-AzDiskEncryptionSet -ResourceGroupName $ResourceGroupName -Name $diskEncryptionSetName -EncryptionType EncryptionAtRestWithPlatformAndCustomerKeys
授予对密钥保管库的 DiskEncryptionSet 资源访问权限。
注意
Azure 可能需要几分钟时间才能在 Microsoft Entra ID 中创建 DiskEncryptionSet 的标识。 如果在运行以下命令时收到类似于“找不到 Active Directory 对象”的错误,请等待几分钟,然后重试。
$des=Get-AzDiskEncryptionSet -name $diskEncryptionSetName -ResourceGroupName $ResourceGroupName Set-AzKeyVaultAccessPolicy -VaultName $keyVaultName -ObjectId $des.Identity.PrincipalId -PermissionsToKeys wrapkey,unwrapkey,get
后续步骤
创建并配置这些资源之后,可以使用它们来保护托管磁盘。 以下链接包含示例脚本,每个脚本都有各自的方案,可用于保护托管磁盘。