如何在访问控制中使用安全组

当用户或组用于安全目的时,安全标识符(SID)是用户或安全组的对象标识符。 用户或组的名称不用作系统中的唯一标识符。 SID 存储在 用户对象和安全组对象的 objectSid 属性中。 创建用户或组时,Active Directory 服务器将生成 objectSid 。 系统确保 SID 在林中是唯一的。 请注意, objectGuid 是用户、组或任何其他目录对象的唯一标识符。 如果用户或组移动到另一个域,则 SID 会更改; objectGuid 保持不变。

当向用户或组授予访问资源(例如打印机或文件共享)的权限时,会将用户或组的 SID 添加到访问控制项(ACE),该条目(ACE)定义资源自由访问控制列表中授予的权限(DACL)。 在Active Directory 域服务中,每个对象都有一个 nTSecurityDescriptor 属性,该属性存储 DACL,用于定义对该对象上该特定对象或属性的访问。 有关在Active Directory 域服务中对对象设置访问控制的详细信息,请参阅控制对Active Directory 域服务中对象的访问。

当用户登录到 Windows 2000 域时,操作系统将生成访问令牌。 此访问令牌用于确定用户可以访问哪些资源。 用户访问令牌包含以下数据:

  • 用户 SID。
  • 用户所属的所有全局和通用安全组的 SID。
  • 所有嵌套全局和通用安全组的 SID。

代表此用户执行的每个进程都有此访问令牌的副本。

当用户尝试访问计算机上的资源时,用户访问该资源的服务将通过基于在用户登录时创建的访问令牌创建新的访问令牌来模拟用户。 此新的访问令牌还将包含以下 SID:

  • 用户所属的目标域中所有域本地组的 SID。
  • 用户所属的目标计算机上的所有计算机本地组的 SID。

该服务使用此新的访问令牌来评估对资源的访问。 如果访问令牌中的 SID 出现在 DACL 中的任何 ACE 中,该服务会向用户授予这些 ACE 中指定的权限。