我使用APP服务将我的API应用程序发布到Azure中。但我想限制我的API来自外部用户。
我知道Azure中有一个API管理概念但它是一个很大的概念。并且还有一个ipSecurity功能来限制指定的IP地址,但我不想这样做。
所以我想要简单的方法来限制外部用户访问我的生产API。
您能否告诉我实施上述功能的最佳企业实践是什么?
答案 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>