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

作为发布者,如何管理客户租户Key Vault中的密钥与证书?

问题描述

在Azure托管应用的**客户租户托管资源组(MRG)**中部署了Key Vault,发布者租户的用户通过托管应用中心查看时遇到以下限制:

  1. 概览边栏提示:当前选择的目录(发布者租户MyCompany)与Key Vault所属目录(客户租户)不同,部分操作被禁用。
  2. 密钥/机密/证书边栏提示:数据平面连接失败,请刷新重试。

已知配置:

  • 托管应用设置为客户无法修改MRG,完全由发布者管理。
  • 托管应用产品技术配置的授权部分已将安全组SG-Managed-App-Admins设为所有者权限。
  • 当前用户是SG-Managed-App-Admins成员,可正常修改MRG内其他资源。
  • 已为SG-Managed-App-Admins分配从Key Vault Secrets User到Key Vault Administrator的RBAC角色。

需求:发布者需在密钥过期时更新该Key Vault中的密钥。


解决方案

1. 使用Azure CLI/PowerShell跨租户操作

由于门户受目录差异限制,可通过命令行工具直接指定客户租户上下文操作Key Vault:

Azure CLI示例

# 切换到客户租户与订阅上下文
az account set --subscription <客户订阅ID> --tenant <客户租户ID>

# 创建新密钥版本(替换占位符)
az keyvault key create --name <密钥名称> --vault-name <Key Vault名称> --kty RSA --size 2048

若需导入现有密钥材料更新版本,可使用az keyvault key import命令。

PowerShell示例

# 连接到客户租户
Connect-AzAccount -Tenant <客户租户ID> -Subscription <客户订阅ID>

# 创建新密钥版本
Add-AzKeyVaultKey -VaultName <Key Vault名称> -Name <密钥名称> -Destination Software

2. 集成自动化密钥更新逻辑

在托管应用中嵌入自动化流程,实现密钥自动轮换:

  • 用Azure Functions或逻辑应用定期检查密钥过期时间,触发新密钥版本生成。
  • 确保自动化服务主体在客户租户的Key Vault上拥有对应数据平面权限(如Key Vault Crypto Officer)。
  • 托管应用部署时,将该服务主体的权限配置到MRG的Key Vault中。

3. 通过Azure Lighthouse跨租户管理

将客户租户注册到Azure Lighthouse,实现发布者租户用户直接管理客户资源:

  1. 在客户租户中部署Azure Lighthouse授权模板,将SG-Managed-App-Admins安全组授予Key Vault所在订阅/资源组的对应权限。
  2. 完成后,发布者租户用户可在Azure门户「我的客户」板块切换到客户租户上下文,直接操作Key Vault,规避目录限制。

关键注意事项
  • 操作身份(用户/服务主体)必须在客户租户的Key Vault上同时拥有控制平面权限(如MRG所有者)和数据平面权限(如Key Vault Administrator)。
  • Key Vault的数据平面访问严格绑定到其所属的客户租户目录,仅依赖发布者租户权限无法突破限制。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 15:27:11