2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

Windows Server 2012 中的动态访问控制(Dynamic Access Control)

  • 2013-01-28
  • 本文字数:1973 字

    阅读完需:约 6 分钟

动态访问控制(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 )关注我们,并与我们的编辑和其他读者朋友交流。

2013-01-28 21:343466

评论

发布
暂无评论
发现更多内容

Zookeeper 集群部署的那些事儿,消息队列rabbitmq面试

Java 程序员 后端

Vue 生命周期 钩子函数,mybatisdao接口工作原理

Java 程序员 后端

Vue学习之事件修饰符,java后端开发入门

Java 程序员 后端

“打工人”都在用的邮件使用规范,入职3个月的Java程序员面临转正

Java 程序员 后端

vue遇到的坑,linux网络编程pdf百度云

Java 程序员 后端

xxl-job 源码运行解析,java基础编程视频

Java 程序员 后端

zookeeper原理篇-Zookeeper选举过程分析,深入linux内核架构pdf下载

Java 程序员 后端

ZooKeeper实现生产-消费者队列,万字长文总结Java多进程

Java 程序员 后端

“一学就会”微服务的架构模式,一名毕业三年的女程序媛面试头条经验

Java 程序员 后端

“穷苦乡村”小伙就得安于现状,你掌握了多少?

Java 程序员 后端

requests库与 lxml 库常用操作整理+总结,爬虫120例阶段整理篇

梦想橡皮擦

11月日更

zabbix监控nginx、mysql、java应用,64位java8百度云盘

Java 程序员 后端

Vue学习之自定义指令,宅家36天咸鱼翻身入职腾讯

Java 程序员 后端

【终极预告】Apache ShardingSphere Dev Meetup 彩蛋篇

SphereEx

开源社区 ShardingSphere Meetup SphereEx 热门活动

XXL-Job启动源码详解,Java日常开发的12个坑,你踩过几个

Java 程序员 后端

yum安装ansible报错如何解决,自定义线程池面试题

Java 程序员 后端

Zookeeper用作注册中心的原理,张孝祥jsp视频教程

Java 程序员 后端

《JVM系列》 第五章 -- 堆空间与对象分配,springboot项目分层架构

Java 程序员 后端

Vue 数组操作(1),java设计模式书籍推荐有代码讲解

Java 程序员 后端

Flink 的容错管理详细剖析

五分钟学大数据

flink 11月日更

vue移动端自适应,mybatis面试问题

Java 程序员 后端

“ShardingCore”是如何针对分表下的分页进行优化的,深入理解linux内核架构

Java 程序员 后端

windows下nginx的安装及使用,linux实用教程第三版pdf

Java 程序员 后端

WPF学习——依赖项属性,中软国际java面试流程

Java 程序员 后端

zookeeper分布式锁,java开发技术教程

Java 程序员 后端

技术分享| RTC通讯中常用的音频格式

anyRTC开发者

音视频 WebRTC RTC 语音通话 音频格式

“情商比智商重要”,java面试代码题

Java 程序员 后端

“数组&方法”常见知识分解,简述java编译原理

Java 程序员 后端

Vue 数组操作,java基础教程百度网盘

Java 程序员 后端

Vue学习之v-if和v-for指令,tomcat常见面试题

Java 程序员 后端

Windows Server 2012 中的动态访问控制(Dynamic Access Control)_DevOps & 平台工程_Jonathan Allen_InfoQ精选文章