动态访问控制(Dynamic Access Control)是 Windows Server 2012 中的一组功能,用于管理在活动目录组(Active Directory Groups)之上的身份验证与授权。动态访问控制关注以下四个场景:
- 数据分级
- 基于表达式的访问条件
- 基于表达式的审核
- 加密
动态访问控制中有五个关键组件一起工作,服务于上述场景:
- 基于表达式的访问控制列表
- 用户与设备声明
- 文件分类基础架构
- 中心访问与审核策略
- 拒绝访问帮助
用户与设备声明
用户声明是关于用户的属性,例如他们在那个部门工作。同样的,物理设备也有自身关联的声明。这可以用于保护敏感信息不会被暴露给未被信任的机器,即使在用户被允许访问文件的情况下。
声明支持多种数据类型,包括字符串型,布尔型和整型。
基于表达式的访问控制列表(Access Control Lists ,ACL)
基于表达式的访问控制列表作用于用户声明,设备声明和资源属性上。
表达式包含两部分,适用范围(applicability )和权限。适用范围检查通常针对资源属性,例如“Resource.SecurityLevel = Secret”。如果这一表达式返回 true,那么权限表达式将会评估用户 / 设备对是否可以访问资源。继续上面的例子,我们会使用以下表达式“(User.SecurityClearance = TopSecret or User.SecurityClearance = Secret) and (Device.Location = SecureLab)”。
基于表达式的访问控制列表也扩展了现有的基于组的策略。以前对于组而言,并没有“与(AND)”这一运算符。如果一个用户必须在两个或两个以上组才能访问某一资源,那么必须要新建一个组代表那些用到的组才行。这一“组膨胀”问题在许多拥有数十或数百站点的大型公司中是主要问题。现在,只需要写一个表示“用户即在组 A 也在组 B”的表达式就可以了。
用户和开发者可以用多种不同的方法来管理基于表达式的访问控制列表,包括 AddConditionalAce API,PowerShell 或者 LDAP。
文件分类基础架构(File Classification Infrastructure,FCI)
文件分类基础架构用于将资源属性指派给文件。FCI 支持内置分类和第三方分类。在 Windows Server 2008 R2 中,文件分类器是基于一个定时器运行,通常是在晚上。在 Windows Server 2012 中,文件分类器是近实时(near-real time)运行的。在创建文件与将其分类之间仍然存在少许延迟,这使得本地权限也非常重要。
FCI 的另一个变化是分类信息的存放地。先前它是放在次级文件流中。这意味着任何对这个文件有写权限的人都可以编辑它。在 Windows Server 2012 中这已经被移入文件访问控制列表。文件分类的列表存在活动目录中。
中心访问与审核策略
中心访问策略(Central Access Policy,CAP)将基于表达式的访问控制与文件分类相结合。这允许 IT 部门设置高级规则,例如财务文档(用 FCI 分类)只有财务部门的用户并且在项目组中才能访问。这些规则通过组策略推送到文件服务器。
中心访问策略检查是在共享访问控制列表(share ACL)检查之后。如果 CAP 规则通过了,那么 NTFS 文件系统的本地文件访问控制将进行检查。
为了减少由于错误配置安全设置引发的问题,中心访问策略可以分阶段配置。这使得信息安全经理可以发现谁对某一文件失去了访问权限,并找出哪些规则引发了问题。
新 Kerberos 令牌
Kerberos 仍旧是活动目录机器间声明流动的主要方式。如果客户端使用 Windows 8,那么令牌中将带有用户声明、设备组和设备声明的信息。
如果用户使用 Windows 7,OS X 或者其他不支持 Kerberos 这一扩展的操作系统,那么在身份验证过程中会有额外的步骤。在激活情况下,文件服务器能够向活动目录服务器查询这些缺失的声明信息。这会在延迟和网络带宽上带来一些开销。
新 Kerberos 令牌的另一个功能是混合身份的概念。这适用于那些单一的用户帐户没有足够的权限去访问所有需要的文件的场景。混合令牌也包含了 SAML 信息,用于访问那些基于云的系统。
必须小心避免“票证膨胀(ticket bloat)”,这一问题是由在用户的 Kerberos 票证中包含过多组和声明引起的。为了减少票证膨胀的影响,声明和组都是被压缩过的。此外,Kerberos 令牌的最大大小增加到了 48K。
拒绝访问帮助
简而言之,拒绝访问帮助协助用户找出为什么他们不能访问给定的资源。它能够做这样一些事,例如提醒用户插入物理口令,告诉他们当前违反了哪条访问规则。也能够配置它向资源所有者发送一封电子邮件,这样他们的访问请求能够得到所有者的复核,并可能被批准。
部署
添加资源属性只需要一个活动目录的更新和一台 Windows Server 2012 文件服务器。用户声明和中心访问策略需要 Windows Server 2012 域控制服务器。设备声明要求你的客户端运行于 Windows 8 上。
查看英文原文: Dynamic Access Control in Windows Server 2012
感谢贾国清对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。
评论