【问题标题】:Can you add users from another Azure AD to groups in your own Azure AD?能否将另一个 Azure AD 中的用户添加到您自己的 Azure AD 中的组中?
【发布时间】:2014-04-02 00:12:37
【问题描述】:

我正在为我的公司试用 Azure Active Directory 中的多租户功能。我们希望为我们的 Web 应用程序的用户提供单点登录和基于声明的身份验证和授权。一些客户拥有自己的 Azure AD,而其他客户将在我们拥有的 Azure AD 中获得用户。我们希望允许来自其他已批准 Azure 租户的所有用户进行身份验证,但仅应授权特定用户,因为我们向每个应用程序的每个用户收取客户费用。希望我们的 Azure AD 组可以用于此目的。我已经成功创建了一个测试应用程序,它允许来自我的 Azure AD 和另一个租户的用户登录到我们的应用程序。

我的问题是这样的:是否可以将来自另一个 Azure AD(我们无法控制)的用户添加到我们 Azure AD 中的组中,以便我们可以使用用户的组成员身份来允许访问不同的我们构建的应用程序?这是可能的还是我错过了一些基本的东西? :) 我们是否应该放弃 Azure AD 组并使用我们自己的独立数据库来存储可以在 ASP 安全管道期间分配给所有租户的用户的声明?

我测试的应用程序获得了对其他 Azure AD 的读取权限和对我们 Azure AD 的读/写权限。我无法通过 Azure 管理门户将用户(来自另一个 Azure AD)分配给我们的组(“在您有权访问的目录中不存在具有此用户名的用户。”),到目前为止我一直无法做到这一点使用应用程序中的图形 api。将我在 Azure AD 中创建的用户添加到我们的组可以正常工作。

【问题讨论】:

    标签: asp.net asp.net-mvc-4 azure claims-based-identity azure-active-directory


    【解决方案1】:

    您可以尝试B2B invitation from your Azure AD 给不同域的成员。正如您所说,您必须允许来自多个租户的人员,创建一个组并通过 B2B 邀请添加用户并将该组映射到您的应用程序。这真的很方便,因为它可以一次性使用并且易于维护。

    【讨论】:

    • 确实 :) 当我提出这个问题时,B2B 不可用,但我们已将我们的解决方案转换为不久前使用它。 B2B 允许我们将来自任何租户(或社交帐户)的用户添加到我们的组中,并据此检查访问权限
    【解决方案2】:

    对于“您有权访问的目录中不存在具有此用户名的用户”的特定情况,是的,可以满足这一要求,您可以将一个 Azure AD(abc.onmicrosoft.com) 的用户添加到另一个(def.onmicrosoft.com)。

    必要条件: 1.您必须至少是 Azure AD 中的全局管理员用户和共同管理员,您必须在其中添加来自另一个 Azure AD 的用户。 2.您应该被显式添加到另一个Azure AD中,您在当前Azure AD中注册其用户,至少具有“用户”权限。

    轰!!用户添加了“来源:另一个 Azure AD”标签。

    【讨论】:

    • 您的意思是必须将“abc.onmicrosoft.com”中的全局​​管理员添加为“def.onmicrosoft.com”中具有“用户”权限的用户吗?对于已经在“def.onmicrosoft.com”中可用的所有其他用户:必须为他们做些什么才能让他们访问“abc.onmicrosoft.com”中的 api?是不是要一一添加到'abc.onmicrosoft.com'目录下?
    • 是的,第一个问题。
    • 并且,对于“def.onmicrosoft.com”中的其他用户,在 abc.onmicrosoft.com 中被引用,以便他们访问 abc.onmicrosoft.com 中的 api,他们必须在'abc.onmicrosoft.com'中与这个全局管理员一一添加
    【解决方案3】:

    从根本上说,您需要一个数据库来保存您的用户映射。

    既然我们在这里,请考虑 Stackoverflow - 您可以使用 stackechange 创建身份,但您也可以使用来自 google、yhaoo 或 facebook 的现有身份。这意味着 SO 需要在某个数据库中记录您的身份,并在旁边记录您可以做什么和不可以做什么。

    但在许多方面,您可以将 WaaD 简单地视为数据库并自动创建用户记录,但请记住,用户不会通过您的 AD 进行身份验证。您将简单地使用图形 API 基于键进行查询,这可以在专用数据库或 Azure 表存储之类的东西上更有效地完成。

    鉴于无论如何您都需要查询 WaaD 图形 API 以获取组成员身份(初始声明集未提供它),您可以改为查询表存储。

    【讨论】:

    • 感谢您的回答 :) 我怀疑可能是这种情况。当您不能在多租户方法中使用它时(当所有租户都基于 azure AD 时),Azure AD 组功能似乎有点傻。无论如何,是时候创建一个新数据库了:)
    猜你喜欢
    • 1970-01-01
    • 2019-12-09
    • 1970-01-01
    • 2014-03-31
    • 1970-01-01
    • 1970-01-01
    • 2022-01-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多