Azure API 管理 - 仅在设置标记时应用策略

Posted

技术标签:

【中文标题】Azure API 管理 - 仅在设置标记时应用策略【英文标题】:Azure API Management - apply policy only if tag is set 【发布时间】:2021-06-17 12:23:34 【问题描述】:

我设法在 APIM 中配置了一组策略来满足我的需要(身份验证)。配置 XML 又长又脏,但规则应该应用于所有需要身份验证的 API,所以我可以将它们设置为“所有 API”级别。但当然,并非所有 API 都需要身份验证。这个想法是使用某种流控制策略来配置它们,以便仅在标记 API 时应用它们。但我没有找到获取 API 元数据的方法。

那么有没有办法使用 APIM 表达式读取 API 元数据?或者任何其他方式来实现主要目标?

【问题讨论】:

【参考方案1】:

再次检查https://docs.microsoft.com/en-us/azure/api-management/api-management-policy-expressions#ContextVariables 我看不到在策略中查询标记元信息的方法。当然,您可以在途中通过 API Management REST API 本身查询 API 的标签,但我想这会大大增加延迟。

对于这种情况,我会创建一个 API 产品,将身份验证部分放入产品的策略中,然后仅将相关 API 分配给该产品。

【讨论】:

谢谢凯,这似乎是一个很好的解决方法。但似乎我需要在那里提出功能请求......

以上是关于Azure API 管理 - 仅在设置标记时应用策略的主要内容,如果未能解决你的问题,请参考以下文章

Azure API 管理 + Azure 函数和托管标识

在 Azure API 管理中,当不需要订阅时,如何为 API 解决产品级策略?

当用于 Blob 存储的 Azure REST API 使用具有前缀或标记的查询字符串时获取 403

Azure 应用服务>网络>访问限制和处理来自 API 管理的 308 重定向

Azure API 管理 - 用户元数据

自定义 Azure API 管理开发人员门户