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

运行中Azure逻辑应用引用旧密钥保管库值的自动化处理问询

逻辑应用密钥更新后的自动化处理方案

问题背景

更新AAD客户端密钥及密钥保管库中的对应值后,已启动的逻辑应用实例仍使用启动时缓存的旧密钥,访问应用时返回错误:

BadRequest. Http request failed as there is an error getting AD OAuth token: 'AADSTS7000215: Invalid client secret provided. Ensure the secret being sent in the request is the client secret value, not the client secret ID'

手动终止并重启运行实例可解决问题,但可通过以下自动化方式避免手动操作:


一、让运行中实例自动获取最新密钥的方案

  • 动态实时获取密钥:若逻辑应用通过托管标识访问密钥保管库,需将密钥引用改为实时动态获取——不在逻辑应用启动时一次性拉取密钥,而是在每次需要使用密钥的步骤(如获取OAuth令牌的动作)中,调用密钥保管库的Get Secret动作拉取最新值。这种方式能确保每次请求都使用密钥保管库中的当前最新密钥,避免缓存旧值。
  • 密钥更新触发实例重启:创建辅助逻辑应用,利用密钥保管库的Secret New Version Created触发器,当密钥有新版本时,自动终止目标逻辑应用的所有运行实例,并触发新的运行。此方案可实现密钥更新后自动切换到使用新密钥的实例。

二、配置遇错时自动重试获取最新密钥

  • 添加自定义错误处理分支:
    1. 将需要使用密钥的HTTP请求动作(如获取OAuth令牌)放入「范围」容器内。
    2. 为该「范围」添加「捕获」错误处理,指定捕获包含AADSTS7000215的错误。
    3. 在捕获分支中,调用密钥保管库的Get Secret动作重新获取最新密钥。
    4. 用新获取的密钥更新HTTP请求参数,然后重试「范围」内的原动作。
  • 结合自定义重试策略:对获取令牌的HTTP请求动作设置自定义重试规则,指定在遇到400 Bad Request且包含目标错误码时,先执行刷新密钥的步骤再重试,确保错误发生时能自动尝试使用最新密钥。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 05:50:26