当调用包含订阅密钥时如何消除跟踪(防止 Ocp-Apim-Trace)?

How to eliminate tracing (prevent Ocp-Apim-Trace) when the call includes a subscription key?

这是对以下问题的跟进:

我的 API 消费者必须有订阅密钥才能使用我的 API。 但是,我不希望他们看到 ocp-apim-trace-location 中提供的详细跟踪信息。详细跟踪让他们可以看到我的内部服务 URL 和可能存在潜在安全风险的详细信息。

当调用包含订阅密钥时,如何消除跟踪(防止 Ocp-Apim-Trace)?

无法禁用跟踪功能,不发送此 header 将仅对一个请求禁用跟踪 collection。但要知道,只有管理员用户才能收集痕迹,如果此 header 与不属于管理员帐户的订阅密钥一起提供(或根本没有订阅密钥),则不会有任何痕迹被收藏。这里的想法是痕迹可能会暴露信息服务所有者可能不愿意与开发人员共享。

实际上,您可以将属于开放产品的 API 设计为可调用匿名

Create a new product and uncheck Require subscription in its settings. Any API added to such product will be callable without a key anonymously.

这样您就可以让您的消费者在没有订阅密钥的情况下匿名呼叫您的 API,然后消除跟踪。

更多细节,你可以参考这个article