大多数人在AD中存储数据时面临的问题是
还有另一种选择...在我看来,最好的选择是使用AD的鲜为人知的功能来获取现有属性并将其标记为“机密”。
以下是有关流程的详细信息
Active Directory中的默认权限使经过身份验证的用户具有对所有属性的全部读取访问权限。这使得很难引入一个新的属性,该属性应防止所有人读取。
为了缓解这种情况,Windows 2003 SP1引入了一种将属性标记为机密的方法。通过修改架构中属性上的searchFlags值来实现此功能。SearchFlags包含多个位,代表属性的各种属性。例如,位1表示该属性已建立索引。新的位128(第7位)将属性指定为机密。
注意:您不能在基本模式属性(从“ top”派生的属性,例如通用名)上设置此标志。您可以通过使用LDP查看对象并检查对象的systemFlags属性来确定对象是否为基础架构对象。如果设置了第十位,则它是基础架构对象。
目录服务执行读取访问检查时,将检查机密属性。如果存在,则除了READ_PROPERTY访问之外,目录服务还需要对属性或其属性集进行CONTROL_ACCESS访问。
默认情况下,只有管理员具有对所有对象的CONTROL_ACCESS访问权限。因此,只有管理员才能读取机密属性。用户可以自由地将此权限委派给他们想要的任何特定组。可以使用DSACL工具,脚本或LDP的R2 ADAM版本来完成。在撰写本文时,无法使用ACL UI编辑器分配这些权限。
将属性标记为机密并添加需要查看属性的用户的过程分为3个步骤
确定标记“机密”的属性,或添加标记“机密”的属性。
将其标记为机密
向正确的用户授予Control_Access权限,以便他们可以查看属性。
有关更多详细信息和分步说明,请参阅以下文章:
922836如何在Windows Server 2003 Service Pack 1中将属性标记为机密
http://support.microsoft.com/default.aspx?scid=kb;EN-US;922836