使用 Azure CLI 为托管磁盘启用静态双重加密
适用于:✔️ Linux VM ✔️ 灵活规模集
Azure 磁盘存储支持对托管磁盘的静态双重加密。 有关静态双重加密的概念信息以及其他托管磁盘加密类型,请参阅磁盘加密文章的静态双重加密部分。
限制
超级磁盘当前不支持双重静态加密。
先决条件
安装最新的 Azure CLI 并使用 az login 登录到 Azure 帐户。
入门
创建 Azure Key Vault 和加密密钥的实例。
创建 Key Vault 实例时,必须启用软删除和清除保护。 软删除可确保 Key Vault 在给定的保留期(默认为 90 天)内保留已删除的密钥。 清除保护可确保在保留期结束之前,无法永久删除已删除的密钥。 这些设置可防止由于意外删除而丢失数据。 使用 Key Vault 加密托管磁盘时,这些设置是必需的。
subscriptionId=yourSubscriptionID rgName=yourResourceGroupName location=chinaeast2 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
创建 DiskEncryptionSet,并将 encryptionType 设置为 EncryptionAtRestWithPlatformAndCustomerKeys。 将
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 资源访问权限。
注意
Azure 可能需要几分钟时间才能在 Microsoft Entra ID 中创建 DiskEncryptionSet 的标识。 如果在运行以下命令时收到类似于“找不到 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
后续步骤
创建并配置这些资源之后,可以使用它们来保护托管磁盘。 以下链接包含示例脚本,每个脚本都有各自的方案,可用于保护托管磁盘。