【问题标题】:In an Azure Web App, can you lock specific routes from being accessed externally?在 Azure Web App 中,您可以锁定特定路由以防止外部访问吗?
【发布时间】:2020-07-17 23:12:52
【问题描述】:

我已经为我的 React 应用程序使用 react-adal 实现了 AAD SSO,但我的所有节点 REST 端点仍然可以通过外部用户和资源访问。 Azure 是否提供任何方法来保护这些路由,以使它们不能被应用程序本身以外的任何东西访问?

即阻止外部用户访问 example.com/get-users/ 但允许应用程序仍然可以访问此路由。

谢谢!

【问题讨论】:

    标签: azure azure-web-app-service


    【解决方案1】:

    您必须读取/定义允许访问该特定路由的组,并将其设置在您的应用级别。 Azure AD 仅使用用户信息(包括声明)验证/返回令牌。

    更多信息:

    https://blog.bitscry.com/2020/04/21/azure-active-directory-group-based-authorization/

    Azure AD and Group-based authorization with token in Web API

    【讨论】:

    • 抱歉,我不太清楚 - 这是否允许组访问路由而无需在应用程序中验证令牌?
    • 不,用户需要进行身份验证才能访问应用程序,然后,只有特定组的成员才能访问指定的路由
    • 换句话说,使外部用户成为“外部”组的一部分,然后阻止此访问或相反,只允许“内部”组成员访问
    • 所以在我的应用程序中,身份验证最初由“react-adal”处理,要求用户登录到我们组织内的帐户才能访问 UI。如果我可以允许公共访问该路由(因为应用程序需要身份验证)并且只允许内部组织访问 API 路由,这正是我想要实现的。将组分配给路线会实现这一点吗?另外,我在哪里可以访问该界面,因为我没有在文档中看到它。非常感谢蒂亚戈!
    • 您混合了身份验证和授权的概念。您的应用必须受到保护,以避免公共访问受保护的路由(身份验证)。您的 UI 必须调用一个 API,该 API 将验证用户是否已通过身份验证,然后,他/她是否可以访问路由(授权)
    猜你喜欢
    • 2017-08-29
    • 1970-01-01
    • 2020-11-01
    • 2014-12-31
    • 1970-01-01
    • 2012-07-25
    • 2012-12-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多