一种云平台资源访问权限的分级管理方法及系统与流程

文档序号:12278751阅读:943来源:国知局
一种云平台资源访问权限的分级管理方法及系统与流程

本发明涉及云平台资源权限管理领域,并且更具体地,涉及一种云平台资源访问权限的分级管理方法及系统。



背景技术:

2010年7月,OpenStack开源云计算项目由美国国家航空航天局NASA(National Aeronautics and Space Administrat ion,NASA)和Rackspace公司共同启动。现在全球有15000多名开发者和135个国家共同参与OpenStack的开发。OpenStack是用Python语言开发的,采用Apache2.0许可协议,是一个自由软件和开放源代码项目。OpenStack通过多个相互联系的服务提供基础设施即服务(Infrastructure As A Service,IaaS)类型的云计算解决方案。各个服务之间通过各自的REST风格的API相互联系。根据用户的需求,可以选择安装OpenStack的部分或全部服务,建立公有或私有的云存储服务。OpenStack目前获得了大量硬件和软件厂商的支持,OpenStack基金会的白金会员包括AT&T、HP、IBM、Rackspace、RedHat等,黄金会员包括Cisco、Del l、华为、Intel、VMware、Yahoo!等等。因为大量的组织和个人的加入,OpenStack的组件、服务和工具在开发速度和软件质量上都在不断提高,逐渐形成了一个大的生态系统。

OpenStack主要包含7个核心项目:计算服务Nova、网络服务Neutron、认证组件Keystone、对象存储Swift、块存储Cinder、镜像存储Glance和用户交互面板Dashboard。其中认证组件keystone为OpenStack的用户提供身份认证和权限管理,以使得OpenStack的各项服务能够安全可靠的工作。它主要包含两个功能:管理用户以及用户的权限,提供服务的目录和它们的端点URL。Keystone身份认证服务中与用户相关的关键概念有以下3个:1.用户,代表访问OpenStack云服务的人或程序;2.租户,代表各个服务中的可以访问的资源集合,租户可以是一个组织、一个消费者、一个项目,租户可以包含一个或多个用户,在Swift中资源是以租户为单位进行划分的;3.角色,代表一组用户可以访问的资源权限。角色是在Keystone中定义,但是具体意义由执行操作的服务解释。

Keystone中服务相关的概念有:1.服务(Service),即OpenStack的各个服务组件,如计算服务Nova、镜像服务Glance、对象存储服务Swift。服务一般会提供一个或多个访问资源或执行操作的端点;2.端点(Endpoint),是一个服务暴露出来的访问点,如果需要访问一个服务就必须知道它的端点,通常是一个URL。Keystone的另一个非常重要的概念是令牌(Token),令牌是访问OpenStack的其他服务和资源了。

基于OpenStack云平台的租户细粒度访问控制模型利用了标准的基于角色访问控制RBAC(Role-based Access Control,RBAC)模型的基本成分。因其通过角色授予权限,将权限与用户分离,使授权工作简单、灵活,而且角色权限的授权和维护简单。因为在RBAC模型中,角色之间存在层次关系,权限可通过角色的继承来进行传递。这就使得管理员不用为每一个权限都进行授予,简化了权限的维护和授予。同时RBAC模型采用职责分离原则以保证系统的安全。RBAC模型采用静态职责分离和动态职责分离的原则。静态职责分离是在为用户分配角色时限制的约束,动态职责分离是在会话期间对角色的限制,这两种机制使得角色的限制较灵活,尤其是动态职责分离约束更加灵活,符合现实组织中对职责分离的要求。RBAC采用职责分离原则不仅解决了角色之间的冲突同时提高了系统的安全性。总之,基于OpenStack云平台的租户细粒度访问控制模型在访问控制方面有很多的优点,但当面对大量的云平台用户以及复杂的用户组织结构时,用户和租户的简单对应关系不能满足应用需要。例如有两个租户A和B,如果租户B中的用户B加入到租户A中,那么此项目对用户B完全开放并使用资源,用户B再未经租户A中其他用户的允许下可删除修改及查看租户A下的任何资源。这存在着管理安全隐患。由此可知,基于OpenStack云平台的用户和租户的两层细粒度权限划分方法不能有效地应对复杂的用户组织机构和大量的云平台用户权限管理状况。因此,需要对目前的基于OpenStack云平台租户内的细粒度进行权限划分。



技术实现要素:

为了解决上述问题,根据本发明的一个方面,提供了一种云平台资源访问权限的分级管理方法,所述方法包括:

将云平台内的资源划分安全级别,所述安全级别用于确定不同资源的安全保护策略;

为云平台内的资源确定内容类别;

根据所述安全级别和内容类别确定用户对于资源的访问权限;以及

根据所述访问权限从角色集中为用户指派一个或多个角色,其中所述一个或多个角色中的每个角色用于确定用户能够访问的安全级别和内容类别,并且为所述角色集中的角色分配依赖关系。

优选地,其中将访问权限划分到至少2个管理单元。

优选地,其中为每个管理单元分配权限管理等级,所述每个管理单元包括:用户集、角色集、权限集和约束集。

优选地,其中所述每个管理单元为封闭的管理区间,所述每个管理单元具有一个单元管理员并且单元管理员能够对所述单元管理员所在管理单元的权限进行管理。

优选地,其中上级角色可以继承下级角色的权限。

优选地,其中所述角色分配包括:角色权限分配和角色用户组分配。

根据本发明的另一个方面,提供了一种云平台资源访问权限的分级管理系统,所述系统包括:

安全级别划分单元,将云平台内的资源划分安全级别,所述安全级别用于确定不同资源的安全保护策略;

内容类别确定单元,为云平台内的资源确定内容类别;

权限管理单元,用于对云平台中资源的访问操作权限进行管理;

访问权限确定单元,根据所述安全级别和内容类别确定用户对于资源的访问权限;

角色管理单元,用于对角色的增加、删除、修改和查找操作进行管理;以及

分级授权管理单元,根据所述访问权限从角色集中为用户指派一个或多个角色,其中所述一个或多个角色中的每个角色用于确定用户能够访问的安全级别和内容类别,并且为所述角色集中的角色分配依赖关系。

优选地,其中将访问权限划分到至少2个管理单元。

优选地,其中为每个管理单元分配权限管理等级,所述每个管理单元包括:用户集、角色集、权限集和约束集。

优选地,其中所述每个管理单元为封闭的管理区间,所述每个管理单元具有一个单元管理员并且单元管理员能够对所述单元管理员所在管理单元的权限进行管理。

优选地,其中上级角色可以继承下级角色的权限。

优选地,其中所述角色分配包括:角色权限分配和角色用户组分配。

本发明的有益效果在于:

1.通过引入角色的概念实现了用户和权限的逻辑分离,给管理员提供了一种从组织角度进行安全建模的有效途径,显著降低了权限管理的负担.针对用户角色分配和撤销以及角色授权过程中存在的权限管理安全隐患问题,添加了角色分配的管理过程,在分配和撤销角色的授权过程中,对整个过程进行监测管理,能够实时发现授权过程的不合法操作。

2.通过层次化结构的管理单元,将权限和用户指派到各级管理单元中,使得各管理单元管理一部分用户和权限,从而实现了对用户和权限的分级授权管理。分级授权管理一方面降低了授权管理操作的复杂度,将传统RBAC模型中高度集中的授权管理操作分散到各管理单元中;另一方面,分级授权管理对管理员管理权限进行了制约,取消了原来权限管理系统中的超级管理员,取而代之的是层次化管理单元中的各级管理员,对管理员的权限滥用起到了一点抑制作用。

附图说明

通过参考下面的附图,可以更为完整地理解本发明的示例性实施方式:

图1为根据本发明实施方式的管理方法100的流程图;

图2为根据本发明实施方式的管理系统200的结构示意图;

图3为根据本发明实施方式的管理单元的结构示意图;以及

图4为根据本发明实施方式的访问控制系统的结构示意图。

具体实施方式

现在参考附图介绍本发明的示例性实施方式,然而,本发明可以用许多不同的形式来实施,并且不局限于此处描述的实施例,提供这些实施例是为了详尽地且完全地公开本发明,并且向所属技术领域的技术人员充分传达本发明的范围。对于表示在附图中的示例性实施方式中的术语并不是对本发明的限定。在附图中,相同的单元/元件使用相同的附图标记。

除非另有说明,此处使用的术语(包括科技术语)对所属技术领域的技术人员具有通常的理解含义。另外,可以理解的是,以通常使用的词典限定的术语,应当被理解为与其相关领域的语境具有一致的含义,而不应该被理解为理想化的或过于正式的意义。

本发明主要基于OpenStack云计算平台,针对资源和用户简单对应关系不能满足应用需求问题,提出了一种云平台资源访问权限的分级管理方法和系统。

图1为根据本发明实施方式的管理方法100的流程图。如图1所示,所述方法100从步骤101处开始,在步骤101将云平台内的资源划分安全级别,所述安全级别用于确定不同资源的安全保护策略。

优选地,在步骤102为云平台内的资源确定内容类别。例如,内容类别为视频、音乐和文本。

优选地,在步骤103根据所述安全级别和内容类别确定用户对于资源的访问权限。

优选地,在步骤104根据所述访问权限从角色集中为用户指派一个或多个角色,其中所述一个或多个角色中的每个角色用于确定用户能够访问的安全级别和内容类别,并且为所述角色集中的角色分配依赖关系。优选地,其中将访问权限划分到至少2个管理单元。优选地,其中为每个管理单元分配权限管理等级,所述每个管理单元包括:用户集、角色集、权限集和约束集。优选地,其中所述每个管理单元为封闭的管理区间,所述每个管理单元具有一个单元管理员并且单元管理员能够对所述单元管理员所在管理单元的权限进行管理。优选地,其中上级角色可以继承下级角色的权限。优选地,其中所述角色分配包括:角色权限分配和角色用户组分配。

图2为根据本发明实施方式的管理系统200的结构示意图。如图2所示,所述管理系统200包括:安全级别划分单元201、内容类别确定单元202、权限管理单元203、访问权限确定单元204、角色管理单元205和分级授权管理单元206。优选地,在安全级别划分单元201将云平台内的资源划分安全级别,所述安全级别用于确定不同资源的安全保护策略。

优选地,在内容类别确定单元202为云平台内的资源确定内容类别.

优选地,在权限管理单元203对云平台中资源的访问操作权限进行管理。首先,基于OpenStack租户内细粒度的权限管理方法中引入角色的概念,把资源的访问权限分配给角色,通过给用户分配角色以及角色之间的继承关系简化权限的管理。权限管理单元对OpenStack云平台中资源的访问操作进行划分,主要包括权限信息查询、添加权限、删除权限、修改权限信息等几个功能模块。OpenStack云平台中一个资源操作对应到一个访问权限,这种资源操作和访问权限的对应关系在配置文件中实现。对权限进行添加、删除、修改等操作过程,相当于对OpenStack云平台中的资源进行访问权限配置。在本发明中,借助于角色这个主体,利用角色这一“中介”来管理位于各应用层的系统资源访问权限,大大提高了管理的效率,减少授权管理的复杂性,降低管理开销,而且还能为管理员提供一个比较好的管理环境。强健的权限管理对保证云平台的安全性是必需的。权限管理为解决云平台安全性问题提供了重要保障。

优选地,在访问权限确定单元204根据所述安全级别和内容类别确定用户对于资源的访问权限。

优选地,在角色管理单元205对角色的增加、删除、修改和查找操作进行管理。角色管理单元是对OpenStack租户内细粒度访问控制进行约束。角色管理即角色的增加、修改、删除等操作的管理,通过角色管理间接控制用户权限。角色管理映射到租户中,每个用户可以赋予一些角色,每个角色分配不同的权限。角色层次关系明确,角色可以向上继承。例如角色A是角色B和角色C的上层角色,则角色A继承角色B和角色C的权限,而不用重复角色授权映射过程。基于OpenStack云平台租户内细粒度访问控制模型中采用了角色的概念,但并没有实现RBAC访问控制模型中对角色进行管理的内容。角色管理单元完成了用户与权限之间的映射和桥梁的作用。正是由于角色管理机制的重要性,因此通过对OpenStack原有角色管理机制进行扩展完善以能够达到应用要求。

优选地,在分级授权管理单元206根据所述访问权限从角色集中为用户指派一个或多个角色,其中所述一个或多个角色中的每个角色用于确定用户能够访问的安全级别和内容类别,并且为所述角色集中的角色分配依赖关系。优选地,其中将访问权限划分到至少2个管理单元。优选地,其中为每个管理单元分配权限管理等级,所述每个管理单元包括:用户集、角色集、权限集和约束集。优选地,其中所述每个管理单元为封闭的管理区间,所述每个管理单元具有一个单元管理员并且单元管理员能够对所述单元管理员所在管理单元的权限进行管理。优选地,其中上级角色可以继承下级角色的权限。优选地,其中所述角色分配包括:角色权限分配和角色用户组分配。

在RBAC模型中引入管理单元(Administration Unit)的概念与实际租户结构相对应,并将系统中各种权限按需求划分到各个管理单元中,每个管理单元都有一个单元管理员,只有本单元管理员可以对此管理单元的权限进行管理,如角色的创建以及角色权限的授予和取消.并制定相应角色并分配给对应的用户,从而形成对权限的分级管理结构,对上级管理单元的管理员不能直接参与下级管理单元的权限管理,使得单元直接管理者具有一定的自治性。图3为根据本发明实施方式的管理单元的结构示意图。如图3所示,所示管理单元包括:用户集、角色集、权限集和约束集。管理单元本质上是一个管理对象的集合。管理单元内采用RBAC层次模型,实现角色的管理和权限的分配,在每个管理单元内,都有一个基础角色,该角色是本单元内所有角色的子角色,即在本单元内所有角色都必须继承该角色。在分级授权管理模块中,管理单元是一个封闭的管理区间,决定了一个管理者的管理范围。因此,如何划分管理单元是一个关键问题。我们采用一种树形结构的管理单元,将用户和权限根据应用需求划分到各级管理单元中,并在每个管理单元中设置相应的约束。换而言之,通过层次化的管理单元将传统RBAC模型中的用户、权限和约束进行合理划分,从而使的系统内的所有管理工作分散到各管理单元中,实现分布式管理。分级授权管理,管理员各司其职,上级管理员可控制下级管理但不越级直接管理,符合现代管理理念。

图4为根据本发明实施方式的访问控制系统的结构示意图。如图4所示,所述系统包括:客户端表示层、应用服务层和数据层。其中,应用服务层由一台或多台服务器组成;该层具有良好的扩展性。其中,用户管理模块的主要功能是对OpenStack云平台的用户进行管理,包括用户的创建、删除、查询等功能;权限管理模块的主要功能是对OpenStack云平台的资源使用权限进行管理,将OpenStack云平台的资源注册成不同的访问控制权限,以实现对OpenStack云平台资源的权限管理;角色管理模块本模块的主要功能是对用户管理系统的角色进行管理,包括角色的创建、删除等功能。实现了权限与角色的映射分配过程,并完成了角色的继承、互斥限制、基数限制的功能实现;授权管理模块的主要功能规定了权限和角色在分配授权过程中应该遵循的策略,由于各级管理单元分别管理部分权限,并且管理权限不能向下级单元延伸,从而克服了传统RBAC的管理权限重叠和越级管理的问题。

已经通过参考少量实施方式描述了本发明。然而,本领域技术人员所公知的,正如附带的专利权利要求所限定的,除了本发明以上公开的其他的实施例等同地落在本发明的范围内。

通常地,在权利要求中使用的所有术语都根据他们在技术领域的通常含义被解释,除非在其中被另外明确地定义。所有的参考“一个/所述/该[装置、组件等]”都被开放地解释为所述装置、组件等中的至少一个实例,除非另外明确地说明。这里公开的任何方法的步骤都没必要以公开的准确的顺序运行,除非明确地说明。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1