首页 > 解决方案 > 多租户应用程序中的 SSO:恶意管理员怎么办?

问题描述

我们有一个多租户 Web 应用程序,并且正忙于实施 SSO(OpenID with Azure)并且正在考虑可能的安全问题。

在我们的应用程序中,用户可能有权访问多个租户。定期身份验证集中完成,然后系统检查您可以访问哪些租户,如果超过一个,您可以选择要访问的租户。我们正在考虑功能,一旦您登录,您可以在租户之间切换而无需再次登录。

(理论)问题是这样的:

  1. 租户 A 的用户 Bob 可以定期访问其数据
  2. 恶意租户 B 设置 SSO,他们可以在其中完全控制用户管理
  3. 恶意租户 B 知道 Bob 的电子邮件地址,并将他添加到他们的 SSO 目录,设置他们选择的密码
  4. 恶意租户 B 以 Bob 身份登录我们的系统,然后切换到租户 A

这是一个普遍的威胁吗?已知的身份提供商(微软、Facebook、谷歌)是否总是强制用户自己设置密码,或要求电子邮件验证?或者我们的情况是否独特,通常多租户应用程序不允许用户切换租户,无需重新验证?

谢谢!

标签: azure-active-directorysingle-sign-onopenidmulti-tenant

解决方案


解决方案是关于信任和范围。身份提供者 (IDP) 提供的信息应仅在受限范围内受信任。因此,如果租户 A 具有 SSO 设置,则其 IDP 提供的信息(声明)应仅对其租户有效。

因此,某些 IDP 提供的电子邮件地址只能对该 IDP 有效。您不应假设某些 IDP 提供的电子邮件地址会以任何身份进行验证。


推荐阅读