AGDLP

AGDLP是account, global, domain local, permission的缩写,简单说明了微软针对在原生模式Active Directory(AD)中使用嵌套群组(nested group)实现以角色为基础的访问控制(RBAC)时,相关的建议:用户和电脑帐号(accounts)依其在企业中的角色,划分为对应全域(global)群组的成员,全域群组是网域区域群组(domain local groups)的成员,网域区域群组说明资源访问许可(permissions)或是用户权限设置。AGUDLP(对应account, global, universal, domain local, permission)和 AGLP(对应account, global, local, permission)也是Active DirectoryWindows Server网域中类似的RBAC实现方式。

细节

以角色为基础的访问控制(RBAC)简化了重复性帐号管理流程,也有助于资安稽核[1]。系统管理者不会直接针对个别用户指定访问权限。系统管理者会依其在企业中的角色来指定访问权限,因此在创建、修改或删除用户权限时,可以不用去维护一份可能很大(而且常常变更的)资源许可及用户权限设置。以角色为基础的访问控制(RBAC)和传统的访问控制串列不同,RBAC的许可不是列出细节的各文件访问方式,而是在特定应用或是系统内有意义的操作。将角色和许可保存在集中式的数据库目录服务中,简化了确定和控制各角色成员以及各角色访问许可的流程[2]。稽核可以在一个地方分析访问许可的指定方式,不用去了解特定访问层级下,针对各资源的实现细节。

单一AD网域中的RBAC

微软实现RBAC的方式利用了Active Directory中不同的安全群组[3][4]

全域安全群组(Global security groups)
全域范围的网域安全群组代表在企业中的角色,或是在此网域中的功能。这些群组可以包括个别帐号,同一网域内的其他全域群组,也可以用在网域森林中的资源里。这些群组可以经常变更,不会有全局目录拷贝的问题。
网域区域安全群组(Domain local security groups)
网域区域范围的网域安全群组说明细节的访问权限或是用户权限。只有同一个网域的系统可以用到这些群组。网域安全群组可以包括帐号、全域群组、以及任何网域的万用群组(universal groups),也可以包括同一个网域的其他网域区域群组。

表示企业中功能的全域安全群组应该只有用户或电脑帐号。表示资源访问许可或是其他用户权限的网域区域群组,其中应该只有全域安全群组,没有个别帐号。不应该对帐号或是企业角色直接设置访问许可或是用户权限,这样才能简化访问权限的分析。

Active Directary森林中的RBAC

Active Directary森林是指多个网域的环境,各个网域可能是通过广域网虚拟私人网络连接,会有称为全域目录服务器(global catalog server)的网域控制器会缓存目录对象对象以及属性型态,以减少跨网域缓慢的目录查找[5]。全域目录服务器缓存的对象包括了万用群组(universal group),不包括全域群组(global group),使得万用群组的成员查找比全域群组的查找要快很多。不过万用群组的任何修改都会触发全域的目录拷贝(而且可能成本很高),在万用群组的修改需要Active Directary森林层级的的安全权限,这在大部份的大型企业不太适用。因为这二个限制,让万用安全群组没有完全取代全域安全群组来表示在成员在企业中的角色。在此环境下,用万用安全群组来表示在公司内的角色,但又维持各网域个别的全域安全群组,就简称为AGUDLP

在非AD网域下的RBAC

在Windows NT 4.0或较早版本的网域只有全域(网域等级)及区域(非网域层级)的群组,在网域等级不支持嵌套群组[6]。缩写AGLP是指这种在较早期网域的RBAC实现:全域(Global)群组表示企业角色,而区域(local)群组(在网域成员数据库中)说明各用户的权限。

例子

假设一个共享文件夹, \\nyc-ex-svr-01\groups\bizdev; 是公司行销部门的业务发展组,在Active Directory中是在(已有的)全域安全群组「业务开发团队成员」以下,有要求这整个群组都要可以读写共享文件夹,管理者若依AGDLP,其访问控制方式如下:

  1. 在Active Directory创建新的网域全域安全群组,名称为「允许修改\\nyc-ex-svr-01\groups\bizdev」。
  2. 在bizdev文件夹中,对这个网域全域群组给予NTFS "change"的权限集(read, write, execute/modify, delete)(注意,安全描述符共享许可是不同的)。
  3. 让全域群组「业务开发团队成员」成为网域区域安全群组「允许修改\\nyc-ex-svr-01\groups\bizdev」的成员。

为了要突显使用RBAC控管权限的好处,若业务发展组需要bizdev额外的权限,系统管理者只需要编辑单一的访问控制项(access control entry),不用编辑其中每一个成员的访问控制项。

参考数据

  1. Ferraiolo, D.F.; Kuhn, D.R. (PDF). : 554–563. October 1992 [2021-10-20]. (原始内容 (PDF)存档于2011-06-05).
  2. Sandhu, R.; Coyne, E.J.; Feinstein, H.L.; Youman, C.E. (PDF). IEEE Computer. August 1996, 29 (2): 38–47 [2021-10-20]. CiteSeerX 10.1.1.50.7649可免费查阅. doi:10.1109/2.485845. (原始内容 (PDF)存档于2011-06-05).
  3. Microsoft Corporation. . Microsoft Technet. 2007-03-16 [2009-04-28]. (原始内容存档于14 March 2009).
  4. Melber, Derek. . WindowsSecurity.com. 2006-05-18 [2009-04-28]. (原始内容存档于2013-01-17).
  5. Microsoft Corporation. . Microsoft Technet. 2005-01-21 [2005-10-21]. (原始内容存档于2016-03-05).
  6. Stanek, William R. . Microsoft Technet. [2009-04-28]. (原始内容存档于27 April 2009).
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.