Azure SQL 数据库的透明数据加密(TDE)迎来一个让运维同学拍手叫好的功能升级——现在配置客户托管密钥时,再也无需指定具体密钥版本号了
变化有多大?看对比
旧方式(需要指定版本): https://demotdeakv.vault.azure.net/keys/TDECMK/40acafb8a7034b20ba227905df090a1f
新方式(版本无关): https://demotdeakv.vault.azure.net/keys/TDECMK
少了一串哈希值,看起来清爽多了,但实际价值远不止「美观」这么简单。
这个改动解决了什么痛点?
做过密钥轮换(Key Rotation)的同学应该都有体会——每次更新密钥版本,Azure Key Vault 里生成新版本后,还得跑去改 TDE 配置里的 URI。要么担心改错影响业务,要么忙忘了导致加密中断。
现在有了「无版本号密钥」,URI 里只保留密钥名称,Azure SQL 会自动使用该密钥的最新已启用版本。这意味着:
- 密钥轮换零配置:密钥在 Key Vault 里轮换,TDE 配置纹丝不动
- 运维风险大幅降低:再也不用担心版本号写错、配置漏改
- 合规场景更友好:满足金融、医疗等行业对密钥生命周期管理的严格要求
国内用户的对比参考
| 维度 | Azure SQL | 阿里云 RDS | 腾讯云 CDB | |------|-----------|-----------|-----------| | 密钥管理服务 | Azure Key Vault / Managed HSM | 阿里云 KMS | 腾讯云 HSM | | 是否支持无版本号密钥 | GA 已发布 | 请以官方文档为准 | 请以官方文档为准 | | 密钥轮换 | 无需改配置 | 需注意配置方式 | 需注意配置方式 |
如果你用的是阿里云 KMS 或腾讯云 HSM,对应的密钥 URI 格式和使用方式可以参考各自官方文档,思路是类似的——尽量让密钥轮换对业务透明。
常见疑问
Q: 微软能看到我的密钥吗?
A: TDE 采用「客户托管密钥」(CMK)模式,密钥内容存储在你的 Key Vault / HSM 中,Azure SQL 只持有密钥的引用,不持有密钥本身。具体可参考 Azure 官方关于「Keep your own key」的介绍。
Q: 从本地 SQL Server 迁移过来加密方案怎么处理?
A: 如果原来用了 TDE,迁移后可以保持同样的加密策略;如果原来没加密,建议评估数据敏感程度后决定是否启用。Azure SQL 的 TDE 配置相对灵活,可以结合透明加密一起规划。
如何启用
在 Azure 门户或通过 PowerShell / CLI 设置 TDE 时,密钥 URI 直接填 不带版本号 的形式即可: https://<vault-name>.vault.azure.net/keys/<key-name>
功能已正式发布(GA),没有额外费用,现在就可以用起来。
原文链接:https://techcommunity.microsoft.com/t5/azure-sql-blog/versionless-keys-for-transparent-data-encryption-in-azure-sql/ba-p/4502969
发布日期:2026-03-18


