Power Automate中无明文安全读取Azure Key Vault密钥的方案求助
问题:跨租户Power Automate流中安全读取Azure Key Vault密钥的困境
- 场景:在Power Automate流中,需向当前平台所在租户外的另一个Azure租户发送Graph API请求,请求前通过client credentials方式获取token,需要用到client id和密钥,希望从Azure Key Vault安全读取密钥,避免明文存储。
- 已完成配置:
- 将Azure Key Vault关联到Power Platform解决方案中的环境变量
- 为Dataverse和Power Platform服务主体授予Key Vault的Key Vault Secrets User RBAC权限
核心困境
- 按照官方指引,需创建Dataverse无绑定操作(unbound action)来读取Key Vault密钥,但该流程需要先认证Dataverse,而认证方式存在两难:
- 使用登录用户认证:会将流绑定到个人账号,不符合业务需求
- 使用service principal的client credentials认证:需要写入另一个明文密钥,完全违背了使用Key Vault保障密钥安全的初衷
- 关于托管标识的矛盾:Power Automate似乎不支持托管标识;Dataverse虽支持,但使用Dataverse又必须先完成认证,导致安全逻辑陷入死循环
- 当前僵局:已成功关联Key Vault密钥的环境变量,但必须指定另一个明文密钥才能连接Key Vault并调用该密钥
寻求可行的解决方案。
内容的提问来源于stack exchange,提问作者erionpc
相关产品推荐
相关产品推荐

