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

时间:2018-11-14 19:42:23

标签: azure-api-management

这是对以下问题的跟进: How to prevent Ocp-Apim-Trace: true and ocp-apim-trace-location in production?

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

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

1 个答案:

答案 0 :(得分:2)

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

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

  

创建一个新产品,然后在其设置中取消选中Require subscription。添加到此类产品的任何API都可以无需匿名即可调用

这样,您就可以让用户在没有订阅密钥的情况下异常调用您的API,然后消除跟踪。

有关更多详细信息,您可以参考此article