Api管理用例

时间:2019-05-07 18:29:46

标签: azure azure-api-management

我对Azure API管理服务以及如何使用安全性有疑问。我已经看过,找不到一个可以感到自信的答案。

因此,我应该在oauth2中使用订阅密钥或访问令牌。

我认为仅拥有订阅密钥是不够的,因为更多的是一种身份验证方法,其中oauth令牌可以同时执行这两种操作。 此外,我看不到同时使用预订密钥和身份验证令牌的用例,因此我不确定理想的用例是什么。

2 个答案:

答案 0 :(得分:0)

  1. 最佳用例是通过VPN连接保护后端API。这将在APIM与您的后端系统(ERP或任何其他系统)之间提供安全的隧道。 https://docs.microsoft.com/en-us/azure/api-management/api-management-using-with-vnet

  2. 下面也是一个很好的安全案例, https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-protect-backend-with-aad

答案 1 :(得分:0)

APIM本身并未规定使用它的任何特定最佳方法,但是提供了适合不同情况的不同选项。如果您询问如何验证/授权对APIM的调用,可以采用以下几种方法:

  1. 订阅密钥。验证主叫方并授权其调用特定产品/ API范围的一种好方法。每个订阅具有两个密钥的选项,使您可以轻松地随时间旋转它们。这主要适合您需要单独使用API​​M授权最终用户或将密钥嵌入最终用户使用的应用程序中的情况。
  2. OAuth。 APIM本身无法发行OAuth令牌,因此,当我们拥有由您拥有或不拥有的第三方OAuth服务器时,这最适合。通常,APIM对请求中的OAuth令牌是透明的,甚至不能使用它来验证对其内部用户数据库的调用,但是您可以选择使用validate-jwt策略来要求此类令牌,​​查找某些声明,问题,检查签名等
  3. 客户端证书。如果您控制客户端,则可以选择提供客户端证书,并在APIM级别配置策略以要求证书存在,检查其属性或验证其链,包括提供自己的CA和根证书的能力。
  4. IP过滤。并不是那么高的安全措施,但仍然是一种选择。您可以将APIM配置为拒绝在指定IP范围之外进行的呼叫。