3

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

非常感谢

回答

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 希望有所帮助。
+0

我们如何在部署为Azure网站时使用基本身份验证?如果我使用OAuth,是否需要为每个通过Azure Api Portal访问我的web api的用户创建用户。证书选项看起来非常有前途,但教程没有强调如何为证书配置Web api以及如何生成证书 – InTheWorldOfCodingApplications

+0

我很确定Azure网站(现称为Web Apps)支持基本身份验证,但我没有关于它如何使用的文档打开。如果您使用OAuth,如果您已经拥有诸如AAD之类的用户目录,则不一定需要创建每个用户。我听说Azure Web Apps最近添加了支持cert authN的功能。他们正在努力记录该功能。 –