在Azure Api管理中保护WebApi

时间:2015-06-28 12:28:23

标签: azure asp.net-web-api mutual-authentication azure-api-management

我已经在Azure网站上部署了我的webapi,并通过Azure Api管理门户公开它。我想阻止访问azurewebsites url,以便用户只能通过安全密钥通过azure aoi管理代理访问我的api。能否请您详细说明如何做到这一点。我听说过可以使用相互证书,但没有在网上找到任何描述创建此类证书和配置web api以有效使用它们的过程的文章。我的第二个问题是,是否有基于UserName / Password和Product name获取Api主键的机制。保持api访问密钥的最佳方法是什么?客户端应该将它存储在某个配置文件中,这应该在运行时以编程方式获取吗?

非常感谢

1 个答案:

答案 0 :(得分:4)

有多种方法可以保护您的后端:

  1. 使用基本身份验证
  2. 使用相互证书身份验证https://azure.microsoft.com/en-us/documentation/articles/api-management-howto-mutual-certificates
  3. IP-白名单。如果您有标准或高级实例,则代理的IP地址将保持不变。
  4. 使用OAuth。可以在此处找到一个示例:https://channel9.msdn.com/Blogs/AzureApiMgmt/Protecting-Web-API-Backend-with-Azure-Active-Directory-and-API-Management 希望有所帮助。