论文部分内容阅读
目前,基于角色的访问控制(RBAC)在越来越多的领域被采用。随着应用场景中用户和角色数目的增加,用户手动申请角色已占用用户越来越多的工作量,管理员平面化管理这些大量用户和角色以及手动匹配角色的工作量也随之增加。特别是云时代的到来,海量用户和角色的出现,这些问题变得更加突出。因此如何对大量用户和角色进行高效管理,以及减少用户手动申请角色和管理员手动匹配角色的工作量,是本课题的研究动机。本文设计的基于Zone的RBAC模型通过引入区域(Zone)的概念对用户和角色进行层次化管理,解决了平面化管理方式的不足。Zone的概念借鉴于面向对象思想,一个Zone可以看成一个类,用户和角色都只属于某个特定的Zone,不同Zone中的用户和角色互不干扰。子Zone可以继承父Zone中的用户和角色,避免了用户和角色的重复定义。子Zone不能对父Zone中定义的任何东西进行修改和删除,确保父Zone的安全,但可以对父Zone的用户进行重载。同时Zone的管理也使得传统的基于角色的访问控制模型得以扩展,除了传统模型中角色可以继承外,用户也可以继承,以及对角色包含的权限也进行了扩展。Zone的层次化管理使管理员对用户和角色的管理更加高效,同时因为系统只需要关心当前Zone中的用户和角色,信息量的减少使得系统的执行更加高效,以及用户和角色的作用范围被限制在当前Zone中,使得系统更加安全。以及基于Zone用户的上下文信息,设计并实现了最小Zone角色的匹配算法。通过替换Zone用户的登录Shell从而可以获取Zone用户登录Session中的上下文信息,并根据上下文信息自动判断该用户是否有执行当前命令的权限。如果有则正常执行,否则系统尝试利用上下文信息为该用户匹配最小Zone角色,如果没有匹配到则表明该命令不允许执行,如果有匹配到则自动发送角色申请信息,同时也会把用户的上下文信息一起发送给管理员,这些上下文信息为管理员进行角色批准提供了有用的辅助信息,确保了角色分配的更加安全。通过在轻量级目录访问协议(LDAP)下对该模型的实现,验证了该模型的正确性,Zone角色的匹配和申请的自动化大大减少了用户和管理员的工作量,也确保了匹配的角色的准确性和最小性,增加了系统的安全性。