我正在为我的公司尝试Azure Active Directory中的多功能。我们希望为我们的Web应用程序用户提供单点登录和基于声明的身份验证和授权。有些客户拥有自己的Azure AD,而其他客户则会在我们拥有的Azure AD中获得用户。我们希望允许其他经过批准的Azure租户的所有用户进行身份验证,但只有特定用户才能获得授权,因为我们会根据每个应用的每个用户向客户收费。希望我们的Azure AD组可用于此目的。我已经成功创建了一个测试应用程序,允许来自我的Azure AD和另一个tenent的用户登录我们的应用程序。
我的问题是:是否可以将用户从另一个Azure AD(我们无法控制)添加到Azure AD中的组,以便我们可以使用用户的组成员身份来允许访问不同的用户我们构建的应用程序?这是可能的还是我误解了一些基本的东西? :)我们应该放弃Azure AD组并使用我们自己的sepperate数据库来存储可以在ASP安全管道中从所有内容分配给用户的声明吗?
我测试的应用程序具有对其他Azure AD的读取权限以及对Azure AD的读/写访问权限。我无法通过Azure管理门户将用户(从另一个Azure AD)分配给我们的组("在您有权访问的目录中,没有用户存在此用户名。")我因此而拥有远远无法使用应用程序中的图形api来完成它。将我在Azure AD中创建的用户添加到我们的组中可以正常工作。
答案 0 :(得分:2)
有趣的是,您需要一个数据库来保持用户映射。
正如我们在这里,考虑Stackoverflow - 您可以使用stackechange创建身份,但您也可以使用来自google,yhaoo或facebook的现有身份。这意味着SO需要在某个数据库中记录您的身份,并在其旁边保留您允许和不允许的内容。
但在很多方面,您可以将WaaD简单地视为数据库并自动创建用户记录,但请记住,用户不会通过AD身份验证。您只需使用图形API基于密钥进行查询,这可以在专用数据库上更有效地完成,或者可以说是Azure表存储。
鉴于您需要查询WaaD图API以获取组成员身份(它没有提供初始声明集),您可以查询表存储。
答案 1 :(得分:1)
针对您的特定情况“在您有权访问的目录中没有此用户名的用户”,是,这可以满足并且您可以添加一个Azure AD的用户(abc.onmicrosoft.com)另一个(def.onmicrosoft.com)。
必要条件: 1.你必须至少是一个全球管理员用户& Azure AD中的共同管理员,您必须在其中添加另一个Azure AD中的用户。 2.您应该在其他Azure AD中明确添加,您的用户是在当前Azure AD中注册的,至少具有“用户”权限。
臂架!!用户添加了“来自:Another Azure AD”标签。
答案 2 :(得分:0)
您可以尝试B2B invitation from your Azure AD给不同域的成员。正如您所说,您必须允许来自多个租户的人员,创建一个组并通过B2B邀请添加用户并将该组映射到您的应用。这非常方便,因为它可以用于单次操作并且易于维护。