如何限制外部用户的生产API?

时间:2017-04-11 08:25:48

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

我使用APP服务将我的API应用程序发布到Azure中。但我想限制我的API来自外部用户。

我知道Azure中有一个API管理概念但它是一个很大的概念。并且还有一个ipSecurity功能来限制指定的IP地址,但我不想这样做。

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

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

3 个答案:

答案 0 :(得分:2)

为防止未经授权访问您的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

答案 1 :(得分:1)

根据您的应用是B2B还是B2C应用,Azure有两个身份即服务优惠:

答案 2 :(得分:0)

您可以根据IP进行限制。在App Service中,转到属性以查找出站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>