【问题标题】:How to restrict the production API's from external users?如何限制外部用户使用生产 API?
【发布时间】:2017-04-11 17:29:42
【问题描述】:

我使用 APP Service 将我的 API 应用程序发布到 Azure。但我想限制外部用户访问我的 API。

我知道 Azure 中有一个 API 管理概念,但这是一个很大的概念。还有一个 ipSecurity 功能可以限制指定的 IP 地址,但我不想要这个。

所以我想要一种简单的方法来限制外部用户访问我的生产 API。

您能否告诉我实现上述功能的最佳企业实践是什么?

【问题讨论】:

  • 你能解释一下outside environment的意思吗?你的意思是它应该仅限于某些用户或IP地址或其他东西吗?请使用这些详细信息更新您的问题。

标签: api security azure azure-web-app-service


【解决方案1】:

为防止未经授权访问您的 API,您应使用 Azure AD 保护 API,并强制用户在访问 API 之前进行身份验证/授权。

您需要为此在 Azure AD 中创建一个应用程序。为了防止外部用户访问您的 API,您应该将此应用程序设为single tenant。这将确保只有创建应用程序的 Azure AD 中的用户才能访问该应用程序。

有关如何完成此操作的更多详细信息,请参阅此链接:https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-protect-backend-with-aad

【讨论】:

  • 谢谢,上面的链接包含API管理功能,但我现在不想实现API管理,因为它太大的概念,我没有时间学习和开发完整的API管理结构.所以告诉我实现上述功能的最简单方法。
  • 请查看此链接是否有帮助:azure.microsoft.com/en-us/resources/samples/….
【解决方案2】:

根据您的应用是 B2B 还是 B2C 应用,Azure 提供两种身份即服务

【讨论】:

    【解决方案3】:

    您可以根据 IP 进行限制。在应用服务中,转到属性以查找出站 IP 地址,对于那些您希望能够连接到 API 的应用。然后在 API 的 web.config 中,拒绝除这些之外的所有内容。除了身份验证之外,还可以使用它。

    <configuration>
       <system.webServer>
          <security>
            <ipSecurity allowUnlisted="true">    <!-- this line blocks all apart  those listed below -->                
               <clear/> 
               <add ipAddress="xx.xx.xx.xx"/>   <!-- block an IP  -->                
               <add ipAddress="90.100.100.23" subnetMask="255.255.255.0"/>   <!--block network 90.100.100.0 to 90.100.100.0-->               
            </ipSecurity>
          </security>
    ...
    ...
       </system.webServer>
    </configuration>
    

    【讨论】:

    • 谢谢,但我不想在 web.config 文件中使用 ipSecurity 元素,因为我的应用程序是 B2C。
    • 对不起,这没有意义。您的问题是避免“外部用户无法从外部环境访问我的 API”,但您希望它是 B2C。根据定义,您在 B2C 中的 C 表示“外部环境”
    • 所以你的问题是“我想验证我的 api 用户我该怎么做?”。这很模糊
    • 我的问题是,当外部用户知道我的 API URL 时,他/她正试图访问我的 API URL,那时我不想让他/她访问我的 API,即使他/她知道我的 API URL。
    • 是的身份验证和授权。这是非常基本的东西。你知道登录是什么意思吗?
    猜你喜欢
    • 2020-03-18
    • 1970-01-01
    • 2019-05-13
    • 2021-07-17
    • 2021-07-20
    • 1970-01-01
    • 2021-08-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多