我需要配置两种可以管理 AD 用户和安全组的用户:
- 类型 1 - 只能在特定 OU 中创建用户。
- 类型 2 - 只能更改在上述 OU 中创建的用户的组成员身份。
我是根据委派控制功能来做的。想法是没有单一的信任点来创建用户并将其添加到安全组,因此该操作至少需要 2 人。
类型 1用户的一切都很清楚。我刚刚为用户帐户配置了委派控制,并设法在仅设置 OU(即操作员)中创建用户。
对于类型 2,它变得更加复杂,因为正如我所注意到的,它不是与用户相关联的组,而是与组相关联的用户。我只能更改 1 个 OU(即 Operators 组)的组成员身份,但我可以将任何用户添加到该 OU 中的组。这意味着负责修改组成员身份的用户可以将自己添加到我不接受的任何组中,因为只有类型 1用户创建的用户才能添加到类型 2用户控制的安全组中。
从理论上讲,我只看到正确的解决方案如何实施,即限制安全组或 OU 级别以修改不允许 OU 中的用户的组成员身份,但是我正在谷歌搜索和调查 Microsoft 知识库但无法找到任何足够的信息如何做到这一点。
也许有人知道这是如何实现的,或者可以建议我如何实现必要的配置?
当然。这是设计使然。Active Directory 中组和组成员之间的链接关系使得从组到用户的前向链接是可写的(成员属性),而从用户到组的反向链接( memberOf属性)是内部计算的并且是只读的。您不能委派编辑用户的 memberOf 属性的能力。有关如何存储的更多信息,请参见Florian 的博客。
这种情况的含义:组成员资格由用户编辑组的能力控制,而不是要添加到组的目标用户。这通常是因为组由组织内的特定人员或团队“拥有”,因为它控制对该团队特权资源的访问。因此,该团队指定的安全主管应有权决定组织的哪些成员被授予该组授予的权限。这是一个自主访问控制策略。
学习点:您不能委派对组的控制,这样用户只能添加来自特定 OU 的成员。
我怎样才能使这项工作?
您期望的最终目标描述了强制和自由访问控制策略的组合:
由于我在开头概述的原因,使用默认的 Active Directory 委派机制是不可能的。任何合适的实现都需要是一个非技术(即策略)系统,或者是一个单独的基础,用户可以通过以下方式更改他们的组成员身份:
政策
让所有员工意识到他们应该只将其受控 OU 中的成员添加到他们的委派组中。设置自动报告以监控违反此政策的行为,并自动更正它们(通过删除违规用户)或向相关当局发送电子邮件通知。
定制软件
不要将控制权委派给用户直接编辑组成员资格。相反,请使用第三方软件包(您可以自定义开发)。软件包被委派控制以编辑任何受管组。在代表用户进行更改之前,它可以健全地检查用户选择的要添加的用户(通过根据 ACL 检查 OU 等)。
复杂的 ACL 设置
您可以设想一种翻转逻辑的情况——为每个 OU 创建两个组:
在资源上创建 ACL 时,添加具有完全访问权限的 OU 组,以及将所有 ACE 设置为拒绝的拒绝组。委派的权限意味着最终用户可以拒绝访问他们选择的任何人(来自任何 OU)。这不会破坏模型,因为用户需要允许权限才能获得访问权限,并且这些权限仅可从您未委派修改权限的OU 组中获得。
这在多个方面并不理想:
我建议您执行以下操作之一: