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

同一订阅下两个Azure Key Vault共享同步密钥的非CI/CD方案咨询

问题

在数据管道开发过程中,团队为不同区域的Azure Databricks维护独立的Key Vault作为范围密钥保管库。目前需要在两个Key Vault中维护某一配置密钥并确保始终同步,现咨询:同一订阅下,除了通过同一仓库维护CI/CD外,是否有办法实现两个Azure Key Vault之间的密钥共享同步?

当前架构示例

  • Key Vault KV-EUS 连接到Databricks实例 DB-EUS,范围名称为 Scope-X
  • Key Vault KV-WUS 连接到Databricks实例 DB-WUS,范围名称为 Scope-X

限制条件

无法更改Key Vault与Databricks的连接设计,原因是代码要求所有Databricks实例中的范围名称必须为Scope-X,这类更改虽可行但超出当前时间范围。

解决方案

除了CI/CD仓库同步之外,同一订阅下可以通过以下几种原生Azure服务或配置实现Key Vault间的密钥同步:

1. Azure Automation 脚本同步

  • 实现逻辑:创建Azure Automation账户,编写PowerShell/Runbook脚本,定期从源Key Vault(如KV-EUS)备份指定密钥,再将备份导入到目标Key Vault(KV-WUS)。
  • 配置要点:
    • 给Automation账户分配两个Key Vault的Key Vault Contributor权限(或更精细的Backup/Restore权限)。
    • 设置触发规则:可以按固定周期(如每小时)触发,或监听源Key Vault的KeyCreated/KeyUpdated事件来触发同步。
  • 优势:无需额外第三方工具,完全基于Azure原生服务,配置灵活。

2. Event Grid 触发的Azure Function同步

  • 实现逻辑:利用Azure Event Grid监听源Key Vault的密钥变更事件(创建/更新/删除),触发Azure Function执行密钥同步操作。
  • 配置步骤:
    • 给源Key Vault配置Event Grid订阅,将密钥相关事件发送到Azure Function的端点。
    • 在Function中编写代码(Python/C#均支持),读取事件中的密钥信息,调用Azure Key Vault SDK将密钥复制到目标Vault。
    • 给Function分配两个Key Vault的相应权限(Get源Vault密钥,Set目标Vault密钥)。
  • 优势:实时同步,事件驱动,延迟极低,适合对同步时效要求高的场景。

3. Azure Policy 强制密钥一致性

  • 实现逻辑:自定义Azure Policy规则,检查两个Key Vault中指定密钥的名称、版本、值是否一致,若不一致则触发合规性警告或自动修正(配合修正任务)。
  • 配置要点:
    • 编写Policy规则,通过Microsoft.KeyVault/vaults/keys资源类型筛选指定密钥。
    • 开启Policy的自动修正功能,当检测到目标Vault缺失密钥或密钥值不一致时,自动从源Vault同步。
  • 优势:不仅能同步,还能持续管控密钥的一致性,防止手动修改导致的差异。

4. 异地备份配合自动化恢复

  • 实现逻辑:开启源Key Vault的软删除和异地备份功能,结合前面的自动化工具,当源密钥变更时,从异地备份恢复密钥到目标Vault。
  • 注意:异地备份仅在Azure官方配对区域生效,需确认两个Vault的区域是否在配对列表内。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 22:50:38