【问题标题】:Can I use Azure Active Directory (AAD) as IAM for a multi-tenant SAAS product?是否可以将 Azure Active Directory (AAD) 用作多租户 SAAS 产品的 IAM?
【发布时间】:2018-02-07 11:55:11
【问题描述】:

我们正在构建一个企业产品,并希望很多客户没有自己的活动目录。

我们计划使用 AAD 作为我们的 IAM 提供商。

我们计划为产品创建一个主 AAD,然后使用他们的企业电子邮件 ID 邀请每个客户(租户)的用户作为外部用户加入主 AAD。给定客户的每组用户都将添加到外部组以进行管理。

对于托管在 Azure 中的产品,这是否是支持多租户 IAM 的正确方法?

【问题讨论】:

    标签: azure azure-active-directory


    【解决方案1】:

    这是一个相当难的问题。 AAD 的多租户基本上要求组织拥有 AAD 以进行适当的分离等。

    但对于没有 AAD 的组织,这是一种选择。

    在此路径中您一定不能忘记的一件重要事情是打开 AAD 租户中的选项以限制来宾用户权限。这使得受邀用户不能只访问 portal.azure.com 并获取租户中所有用户的完整列表。至少当多个客户端在同一个租户中时,这通常是一个理想的事情。

    其他选项可能是:

    1. 为每个客户设置一个 AAD 租户
      • 为客户提供良好的分隔
      • 您可以创建的数量可能有限制
      • 我不知道您可以为此使用什么 API(但是 Selenium 可以工作:D)
    2. 设置您自己的身份提供者,例如身份服务器
      • 最大的可定制性
      • 您需要做大量的开发和维护工作

    如果他们只有 AAD,一切当然会更容易:)

    【讨论】:

    • 选项 2 工作量太大。而且我们不想自己维护密码。并且最好避免创建新的身份(用户 ID)。我评估了选项 1。但是,鉴于我预计每个租户最多只有几个用户,这似乎有点牵强。但是,我很想知道这种分离是否会反过来在管理这些租户用户的访问权限(例如对 powerbi 工作区)方面提供一些好处,这比我将它们全部放在一个 AAD 中更好跨度>
    【解决方案2】:

    这取决于您要遵循的方法的一些细节。如果您希望他们使用他们的企业电子邮件,那么您可以考虑使用Single Sign-On(许多组织希望不需要重复帐户,您可能希望将重设密码的麻烦委托给您的客户)。

    此外,您需要确定需要什么样的隔离(您希望拥有一组用户还是按租户明确分离?)和预算(AAD 成本是按每个用户衡量的)您有这个吗? Azure AD B2C 也可以是一种选择,或者正如@juunas 所提到的,使用IdentityServer 之类的东西来实施您自己的解决方案。

    【讨论】:

    • 是的,我也想到了 B2C,但它确实是针对消费者场景的,基本上任何人都可以登录(除非您在那里实施一些复杂的自定义策略)。由于在这种情况下,邀请会从他们那里发送给用户,我认为这不适合它。
    • 有了AAD,即使租户没有自己的AAD,我们也可以要求租户用户作为外部用户加入。 MS,此时要求此类用户设置密码(实际上正在创建一个新的 MS 帐户;MS 表示他们将通过支持电子邮件提供商的 sso 来消除此要求),然后访问托管在 Azure 中的 Web 应用程序. sso 的问题在于,提供商可能因客户/租户而异,因此它不支持客户的快速入职。如果云提供商为其他云提供商提供 sso,那将是理想的
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-04
    • 1970-01-01
    • 2011-06-07
    • 1970-01-01
    • 2018-05-22
    • 2017-10-10
    • 2021-08-24
    相关资源
    最近更新 更多