- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我希望使用 Azure Active Directory 开发一个应用程序,主要是因为它内置支持 Web API 和各种 Azure 工具中的轻松身份验证。
我的应用程序将由多个项目组成,每个项目又包含多个子项目。完成身份验证后,我现在正在尝试弄清楚如何使用 Azure AD 处理授权。我设想每个子项目 (5-10) 都会有不同的角色,人员会根据每个子项目分配给这些角色。
现在,我知道 AD 支持角色和组。角色是权限集,组是用户集。虽然我可以为每个子项目创建一个组,但我预计某些角色可能会根据每个较大的项目而有所不同,因此我不能只检查给定用户是否分配到 X 组并Y角色。更不用说,因为一个用户可以被分配到多个组和角色,所以我看不到一种方法来指定该角色仅适用于单个组(因为用户可能不打算在所有组)。
因此,我现在看到的前进的唯一方法是每次创建特定于每个项目的新项目和子项目时创建新角色。然而,随着这些项目和子项目随着时间的推移被创建和删除,我预计我们将开始达到 AD 支持的角色数量上限(特别是在每个用户的基础上)。
在传统的 Active Directory 中,我希望这可以通过组织单位来处理,组织单位可以代表每个项目和每个子项目,每个项目都分配有角色和组。然而,根据https://learn.microsoft.com/en-us/azure/active-directory-domain-services/active-directory-ds-admin-guide-create-ou Azure AD 不支持组织单位,并且无法通过 AD Graph API 进行分配。
使用 Azure AD,除了每个子项目的独特角色之外,目前还有更好的方法吗?
谢谢!
编辑以获取更多信息:
目前 Azure AD 支持组和角色。假设我有两个项目 A 和 B,每个项目都有两个内部子项目 A1 和 A2、B1 和 B2。此外,我希望为一个用户分配 A1 上的管理员角色、B2 上的高级用户角色,并且无权访问 B2 或 A1。
看来我可以为 A1、A2、B1 和 B2 创建一个组,然后简单地将用户分配到 A1 和 B2 组。在后端,我可以指定用户应该在这些组中,并拒绝任何不在这些组中的人的访问。
好的,这样就可以处理组访问,但是我想分配角色。我可以授予他们管理员和高级用户权限,但随后他们将在其所在的两个组中同时拥有这两个角色,因为我无法在组上下文中分配这些角色。
我能看到的唯一其他方法是为每个组创建不同的角色,所以现在我有“Admin-A1”、“Power User-A1”、“Admin-A2”、“Power User-A2” 、“Admin-B1”、“Power User-B1”、“Admin-B2”和“Power User-B2”,但这会随着时间的推移大大增加我的对象数量(50 个项目,每个项目有 10 个子项目, 8 个角色将在那里开始工作,尽管 50 万是相当高的阈值)。
我预见到拥有如此多的角色会带来可维护性问题。由于我无法将角色与组关联起来,只能指定其显示名称和描述(两者对于项目所有者在分配它们时查看都很有用),您建议我如何在后端识别哪些角色与哪个项目相关联(无需保留我自己的指南列表来存储额外的属性)?有没有办法提交带有角色/组的自定义属性?
最佳答案
您正在开发什么样的角色?您指的是应用程序角色吗?
根据我的理解,我们可以在Azure门户上为每个子项目注册一个单独的应用程序,并根据我们注册的每个应用程序自定义角色,并将角色分配给我们想要的用户/组。并且此角色应该仅适用于应用程序的相应项目。
有关基于角色管理应用程序的更多详细信息,您可以引用代码示例 here .
, I expect we'll start hitting the upper caps of how many roles AD supports altogether (especially on a per-user basis).
对于单个用户的角色没有这样的限制。但如果您使用的是免费版Azure AD,它支持500,000个对象。对象是目录服务中的一个条目,由其唯一的专有名称表示。这里有两个有用的链接供您引用:
关于Azure AD - 子项目的特定角色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42132473/
我正在开发几个不同的 Joomla 附加组件,但希望将它们保留为单独的 git 存储库,因为它们有不同的开发团队(甚至组织)。但是,我也想将它们作为共享相同 Joomla 基础(被 .gitignor
最近,由于行销人员的要求,我已将Optimobile SDK添加到我正在工作的项目中。 在将其添加并在设备上安装新的apk之后。我注意到,我的应用程序中添加了两个新权限,即无需用户交互即可发送SMS的
我遇到了gradle plugin帮助我处理带点的属性名称。像这样使用时,它在单个项目中工作正常: apply plugin: 'config' buildscript { repositor
我很难设置一组相互依赖的相关 Maven 项目。 这是我的简化案例: pom.xml -- parent pom \base\ pom.xml src\main\java\Ba
我正在研究 Apache Ant 项目的发展,以使用 Gradle 对其进行编译,并且我有不同的子项目集。 我的目标是将主项目的输出用作某些子项目的依赖项。全局配置如下: MainProject:
对于每个用户帐户,我尝试计算他们今天有多少个事件。 我的数据结构如下: accounts - { "-KaxcGWx1-a8s7dhsjhsd" : { "name" : "Bill", "ev
我有两个项目: workspace Project1 |--build.gradle |--settings.gradle |--Subproject1 | |--build.
我们有一个 Maven 多模块项目,我们希望逐步迁移到一个 gradle 项目。 对于初学者,我只想将几个子项目迁移到 gradle,但将它们作为子项目保留到父 maven-project 构建。 有
我的 gradle 项目结构如下所示: geode-core geode-lucene extensions/geode-modules extensions/geode-modules-sessio
我有一个基于 CMake 的项目,具有以下“设计”: add_subdirectory(first_lib) add_subdirectory(second_lib) add_subdirectory
我创建了一个表单,其中有 2 个部分,一个是标题(父级),另一个是子级。在标题部分,我创建了一个字段,如项目(下拉),如 netsuite、SFDC 等,在子部分,我创建了另一个字段,如子项目。当我根
我正在创建一个新的应用程序 MyApp,我决定将应用程序的某些部分放在一个单独的框架 MyFramework 中,而不是应用程序本身,以使其可重用在其他项目中。该框架有自己的项目 (MyFramewo
想象一个包含多个组件的整体项目: 基本 我 网络 app-a app-b app-c 现在,假设 web 依赖于依赖于 basic 的 io,所有这些东西都在一个 repo 中,并且有一个 CMake
我有一个 SBT 项目,特别是 Play Framework 2.1 项目,它在配置中指定了许多子项目。编译时依赖项似乎工作正常,但“清理”似乎只清理当前选定的项目,不包括其依赖项。有什么方法可以清理
我有一个工作的多模块 Play 2.2 应用程序,它的组织方式是这样的...... myApp + app + conf + project + build.propertie
我无法理解模块和子项目之间的区别。有什么区别,哪个应该用于模块应用程序。 最佳答案 使用这两种方法,您都可以单独编译、运行和测试代码。 使用子项目,您可以共享设置,并且它通过源代码连接到依赖它的项目:
我有一个使用 Scala 2.10 的项目和一个使用 Scala 2.11 的项目。它们依赖于一个可以同时编译的通用项目。 lazy val foo = (project in file("foo")
如何让 gradle 克隆一个 git 存储库(到当前存储库的子存储库)并将其构建为子项目? 目前我有以下内容: settings.gradle: include 'contrib/dependenc
我在我的 gradle 项目中添加了一个子项目,现在每当我执行目标 check ,它还在我的子项目上运行测试。 我希望我可以运行 check - 主项目上的任务,将其指定为绝对任务 gradle :c
假设您有 2 个 gradle 项目。第一个是一个包含 2 个 java 子项目的多项目: rootProject :my:subProject1 :myother:subProjec
我是一名优秀的程序员,十分优秀!