Azure存储账户密钥版本不一致及密钥找不到问题解决咨询
解决Azure存储账户客户托管密钥版本不匹配且无法替换的问题
核心问题
存储账户配置客户托管密钥后,密钥版本与Key Vault中现有版本不匹配,尝试更换密钥时提示:The operation failed because the specified key vault key '........' was not found.
解决步骤
1. 确认存储账户对Key Vault的权限
- 进入Key Vault的访问策略(或RBAC角色分配)页面,确保存储账户的系统分配托管标识(或指定的服务主体)拥有密钥权限:
get、list、wrapKey、unwrapKey - 若使用RBAC,需为存储账户标识分配
Key Vault Crypto User角色,或包含上述权限的自定义角色
2. 验证并使用完整密钥标识符
- 在Key Vault中找到目标密钥,复制包含版本号的完整标识符(格式:
https://<vault-name>.vault.azure.net/keys/<key-name>/<version-id>) - 进入存储账户的加密设置页面,选择“更改密钥”,手动粘贴该完整标识符,避免仅填写密钥名导致版本匹配错误
3. 手动轮换或强制更新密钥版本
- 在Key Vault中生成目标密钥的新版本
- 回到存储账户加密设置,选择对应Key Vault和密钥,选中最新版本完成更换
- 若控制台操作仍报错,使用Azure CLI或PowerShell强制更新:
- Azure CLI命令:
az storage account update --name <存储账户名> --resource-group <资源组名> --encryption-key-name <密钥名> --encryption-key-version <版本ID> --encryption-key-vault <Key Vault URL> - PowerShell命令:
Set-AzStorageAccount -ResourceGroupName <资源组名> -Name <存储账户名> -KeyVaultUri <Key Vault URL> -KeyName <密钥名> -KeyVersion <版本ID>
- Azure CLI命令:
4. 修复失效的密钥引用
- 若存储账户中记录的旧密钥版本已在Key Vault中被删除,直接指定Key Vault中现有有效密钥的完整标识符,通过CLI/PowerShell完成更新
内容的提问来源于stack exchange,提问作者Izzy
相关产品推荐
相关产品推荐

