使用 Microsoft Entra ID 中的组进行安全访问控制

Microsoft Entra ID 允许使用组来管理对组织中资源的访问。 使用组进行访问控制,以管理并最大限度地减少对应用程序的访问。 使用组时,只有这些组的成员才能访问资源。 使用组还会启用以下管理功能:

  • 基于属性的动态成员资格组
  • 从本地 Active Directory 同步的外部组
  • 管理员管理的组或自助服务管理的组

若要详细了解组对访问控制的好处,请参阅管理对应用程序的访问

开发应用程序时,请使用组声明授予访问权限。

如今,许多应用程序都选择将部分组的 securityEnabled 标志设置为 true,以避免缩放难题,即减少令牌中返回的组数。 将组的 securityEnabled 标志设置为 true 不能保证安全地对组进行管理。

缓解风险的最佳做法

下表列出了安全组在安全方面的几个最佳做法,以及每种做法可缓解的潜在安全风险。

最佳安全方案 所缓解的安全风险
确保资源所有者和组所有者是同一主体。 应用程序应该构建自己的组管理体验,并创建新组来管理访问权限。 例如,应用程序可以通过 Group.Create 权限来创建组,并将自己添加为组的所有者。 这样,应用程序便可以控制其组,而无需过度使用权限修改租户中的其他组。 当组所有者和资源所有者是不同的实体时,组所有者可能会将不应访问资源的用户添加到组中,从而无意中授予其对资源的访问权限。
在资源所有者和组所有者之间订立隐式合同。 资源所有者和组所有者应在组用途、策略以及可添加到组以获取资源访问权限的成员方面保持一致。 此信任级别是非技术性的,依赖于人员或业务合同。 当组所有者和资源所有者有不同的意图时,组所有者可能会将用户添加到资源所有者不想向其授予访问权限的组。 此操作可能会导致不必要的、具有潜在风险的访问。
使用专用组进行访问控制。 Microsoft 365 组通过可见性概念进行管理。 此属性控制组的加入策略和组资源的可见性。 安全组具有允许任何人加入或需要所有者批准的加入策略。 本地同步的组也可以是公共的或专用的。 加入本地同步组的用户也可以访问云资源。 使用公共组进行访问控制时,任何成员都可以加入组,获取对资源的访问权限。 使用公共组授予对外部资源的访问权限时,存在特权提升风险。
组嵌套。 如果使用某个组进行访问控制,而其他组是其成员,则子组的成员可以获取对资源的访问权限。 在这种情况下,有多个父组和子组的组所有者。 与多个组所有者就每个组的用途以及如何向这些组添加正确的成员保持一致更为复杂,并且更容易意外授予访问权限。 请限制嵌套组的数量,或者尽可能不使用它们。

后续步骤