Azure静态Web应用-使用AD SSO保护

时间:2020-08-25 20:03:08

标签: azure azure-web-app-service

我一直在测试新的Azure静态Web应用程序,但无法找到如何确保安全性。使用Azure AD SSO的index.html文件。我知道我可以发送邀请,但是如何确保该网站只能由广告中的“所有用户”或“某些组”加载?

谢谢

2 个答案:

答案 0 :(得分:1)

我认为Azure静态Web应用程序当前不支持Azure AD SSO。 Azure静态Web应用仍在预览中。如果您希望将此功能请求为功能,请留下您的反馈here

同时,您可以尝试在Azure静态Web应用程序中使用路由来自定义静态内容和API的规则和授权行为。这些规则在 routes.json 文件。

基于Documentation:“通过在规则的allowedRoles数组中添加一个或多个角色名称来保护路由。有关用法示例,请参见example路由文件。 默认情况下,每个用户都属于内置anonymous角色,并且所有登录用户都是authenticated角色的成员。例如,要将路由限制为仅authenticated个用户,请将内置authenticated角色添加到allowedRoles数组中。”

答案 1 :(得分:0)

您可以使用支持 OIDC 的外部 IDaaS(如 Okta 或 Auth0)来完成此操作

  1. 在您的 Azure AD 租户中创建 Azure AD 应用注册
  2. 对于“支持的帐户类型”,选择“仅限此组织目录中的帐户(单租户)”
  3. 在 AAD 应用中创建客户端密钥
  4. 使用在 (1) 和 (3) 中创建的客户端 ID 和机密在您的 IDaaS 平台(Okta 等)中创建 Microsoft(社交)IdP
  5. 在您的 IDaaS 平台中创建应用
  6. 在您的 IDaaS 平台中创建一个群组(可选)
  7. 将组分配给 (5) 中创建的应用
  8. 在您的 IDaaS 平台中创建您想要访问应用的用户(仅需要基本属性)
  9. 将用户分配到 (6) 中创建的组
  10. 创建路由规则,将 (5) 中创建的应用的所有应用用户路由到 (4) 中创建的 IdP
  11. 使用 Auth.js 或类似包,使用您的 IDaaS 组织网址和客户端 ID 配置应用
  12. 通过 GitHub 或 Azure DevOps 将此推送到 SWA

确保在 routes.json 文件中为 SPA 定义路由,否则 SWA 将不知道如何处理这些路由。

现在,当有人尝试访问该应用程序时,他们将被重定向到您的 AD 租户的 MSFT 登录屏幕,并根据流程收到 codetokenid_tokenresponse_type 您在应用中定义的