【问题标题】:Securing WebApi in Azure Api Management在 Azure Api 管理中保护 WebApi
【发布时间】:2015-09-14 23:28:47
【问题描述】:

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

非常感谢

【问题讨论】:

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


    【解决方案1】:

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

    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 希望对您有所帮助。

    【讨论】:

    • 部署为 Azure 网站时如何使用基本身份验证?如果我使用 OAuth,我是否需要为通过 Azure Api Portal 访问我的 Web api 的每个人创建用户。证书选项看起来很有希望,但教程没有强调如何为证书配置 Web api 以及如何生成证书
    • 我很确定 Azure 网站(现在称为 Web 应用程序)支持基本身份验证,但我没有关于如何打开它的文档。如果您使用 OAuth,如果您已经有一个用户目录(例如 AAD),则不一定需要创建每个用户。我听说 Azure Web Apps 最近添加了支持 cert authN 的功能。他们正在努力记录该功能。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    • 2020-01-06
    • 2019-03-31
    • 1970-01-01
    • 2021-10-03
    • 1970-01-01
    • 2020-03-13
    相关资源
    最近更新 更多