如何在Azure Logic App运行时访问IDENTITY_ENDPOINT获取令牌?
Azure Logic App 使用用户分配托管标识调用IDENTITY_ENDPOINT获取访问令牌示例
前提
- 已为你的Logic App分配用户分配托管标识
- 目标资源(如Azure Storage、Key Vault)已授权该托管标识对应的访问权限
工作流实现步骤
添加HTTP请求动作
在Logic App设计器中添加HTTP动作,配置参数如下:- 请求方法:
GET - 请求URI:
替换@{environment().Variables['IDENTITY_ENDPOINT']}?resource=https://storage.azure.com/&client_id=<你的用户分配托管标识Client ID><你的用户分配托管标识Client ID>为实际标识的Client ID,resource值根据目标资源调整(例如Key Vault填https://vault.azure.net) - 请求头部:新增键值对
- 键:
X-IDENTITY-HEADER - 值:
@{environment().Variables['IDENTITY_HEADER']}
- 键:
- 请求方法:
提取访问令牌
HTTP动作返回的响应体中,access_token字段即为目标资源的有效访问令牌,后续动作可通过表达式引用:@{body('HTTP')?['access_token']}
关键提示
IDENTITY_ENDPOINT和IDENTITY_HEADER是Logic App运行时自动注入的环境变量,直接通过environment().Variables读取即可,无需手动配置- 必须指定
client_id参数,明确使用哪一个用户分配托管标识(当Logic App关联多个标识时尤为重要) resource参数必须匹配目标资源的受众(Audience),否则会返回无效令牌
内容的提问来源于stack exchange,提问作者sigh
相关产品推荐
相关产品推荐

