You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何更换Azure Data Lake Store的加密密钥至新Key-Vault

如何将Azure Data Lake Store的加密密钥切换到新的Key Vault

没问题,我来一步步教你完成这个操作,分可视化门户和命令行两种方式,你可以根据自己的习惯选择:

先搞定前提条件

在动手之前,确保你已经准备好这些:

  • 新的Key Vault已经创建完成,必须和你的ADLS存储账户在同一Azure区域(ADLS对客户托管密钥的KV有区域限制)
  • 新Key Vault里已经生成/导入了用于加密的RSA密钥(推荐用RSA-2048及以上版本)
  • 你的账号拥有足够权限:ADLS存储账户的Storage Account Contributor或Owner权限,新Key Vault的Key Vault Contributor或Owner权限;如果用的是托管标识(系统/用户分配),还要给这个标识授予新KV密钥的Get、WrapKey、UnwrapKey权限

方法一:通过Azure Portal操作

这是最直观的方式,适合单次操作:

  1. 登录Azure门户,找到你的ADLS存储账户(如果是Gen1,找Data Lake Store;Gen2的话找Storage Account)
  2. 在左侧菜单的「安全性 + 网络」分类下,点击「加密」选项
  3. 确认当前加密类型是「使用客户托管密钥」,然后点击「更改密钥」按钮
  4. 在弹出的配置面板里,选择「选择Key Vault和密钥」
  5. 从下拉列表中选中你新建的Key Vault,再选择里面的目标加密密钥(也可以指定特定密钥版本,不选则默认用最新版)
  6. 点击「保存」,等待3-5分钟让配置生效,期间不要关闭页面

方法二:通过Azure CLI操作

适合自动化脚本或者批量管理场景:

  1. 先登录Azure CLI并切换到目标订阅:
az login
az account set --subscription <你的订阅ID>
  1. 获取新Key Vault的资源ID(后续命令要用):
az keyvault show --name <新Key Vault名称> --query id -o tsv
  1. 执行更新命令替换ADLS的加密密钥,把占位符换成你的实际信息:
az storage account update \
  --name <ADLS存储账户名称> \
  --resource-group <存储账户所在资源组> \
  --encryption-key-name <新KV中的密钥名称> \
  --encryption-key-version <密钥版本(可选,留空则用最新)> \
  --encryption-key-source Microsoft.KeyVault \
  --encryption-key-vault <刚才获取的新KV资源ID>
  1. 如果用的是用户分配托管标识,还要额外给标识授权:
az keyvault set-policy \
  --name <新Key Vault名称> \
  --object-id <用户分配标识的对象ID> \
  --key-permissions get wrapKey unwrapKey

重要注意事项

  • 切换密钥后,新写入ADLS的数据会立即用新密钥加密,旧数据会在后台自动完成重新加密,这个过程完全透明,不影响正常访问
  • 不要急着删除旧Key Vault!至少等1-2周,确认ADLS已经稳定使用新密钥,且所有旧数据都完成重加密后再删除(可以通过Azure Monitor跟踪加密状态)
  • 如果切换过程中遇到权限报错,先检查托管标识(如果用了)的KV权限,或者你的账号是否有足够的资源组级权限

内容的提问来源于stack exchange,提问作者dante

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:40:20