System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本说明书的一个或多个实施例涉及数据处理,特别的涉及一种面向多集群多用户的云平台管理系统、鉴权方法。
技术介绍
1、现有iaas(infrastructure as a service 基础设施即服务)云平台有各种类型,包括openstack云平台、kubernetes(k8s)等。不同类型的云平台有不同的鉴权体系,例如,openstack云平台仅支持对单个openstack集群进行多租户的基于角色的访问控制rbac鉴权;又例如,kubernetes支持基于多租户的基于角色的访问控制rbac鉴权或基于属性的访问控制abac鉴权,且两种鉴权不可同时使用。在实际应用中,往往有多种鉴权需求,为此,需要一种满足多种鉴权需求的技术方案。
技术实现思路
1、本说明书一个或多个实施例描述了一种面向多集群多用户的云平台管理系统、鉴权方法,能够满足不同业务和服务的权限控制需求,对简单业务或服务能基于角色的访问控制rbac鉴权,对复杂业务或服务能结合使用基于角色的访问控制rbac和基于属性的访问控制abac鉴权。
2、第一方面,本说明书实施例提供了一种面向多集群多用户的云平台管理系统,包括至少一个云平台,每个云平台可部署不同类型的集群;每个云平台配置有iam服务,所述iam服务具有面向用户访问的api接口;所述iam服务包括用于支持基于角色的访问控制rbac鉴权的keystone组件和用于支持基于属性的访问控制abac鉴权的casbin组件;所述casbin组件融合进所述keystone组件
3、在一些实施方式下,每个云平台的iam服务还配置有同步服务;当有两个或多个云平台时,某一云平台的iam服务作为主服务,该主服务将信息数据同步给作为从服务的其他云平台的iam服务。
4、在一些实施方式下,所述某一云平台的iam服务作为主服务时,该主服务将信息数据同步给作为从服务的其他云平台的iam服务,包括:
5、当某一云平台的iam服务接收到api访问请求时,该云平台的iam服务作为主服务,将api访问请求对信息数据带来的变更,同步分发给作为从服务的其他云平台的iam服务。
6、在一些实施方式下,所述某一云平台的iam服务作为主服务时,该主服务将信息数据同步给作为从服务的其他云平台的iam服务,还包括:
7、当主服务将api访问请求分发给从服务期间,从服务未接收到api访问请求时,从服务定期获取主服务的信息数据,进行信息数据同步。
8、在一些实施方式下,所述云平台可部署openstack集群、kubernetes集群、集成有openstack和kubernetes的集群、部署有kubernetes的openstack集群中的任意一种类型的集群。
9、在一些实施方式下,所述iam服务具有面向用户访问的api接口为restful api接口。
10、第二方面,本说明书实施例提供了一种鉴权方法,所述方法执行于第一方面所述的系统中的任意一个云平台;方法包括:
11、接收用户发送的api访问请求;
12、利用融合casbin组件的keystone组件对api访问请求进行基于角色的访问控制rbac鉴权;当基于角色的访问控制rbac鉴权成功时,返回访问结果给用户;当基于角色的访问控制rbac鉴权失败时,利用融合casbin组件的keystone组件对api访问请求进行基于属性的访问控制abac鉴权,当基于属性的访问控制abac鉴权成功时,返回访问结果给用户,否则返回鉴权失败给用户。
13、在一些实施方式下,所述利用融合casbin组件的keystone组件对api访问请求进行基于角色的访问控制rbac鉴权,包括:
14、解析api访问请求,获得用户的令牌数据和操作信息;其中,所述操作信息包括操作类型和请求信息;
15、基于操作信息的操作类型,从rbac鉴权规则表中获得与该操作类型对应的rbac鉴权规则;其中,所述rbac鉴权规则表存储有多个rbac鉴权规则,每个rbac鉴权规则包含操作角色和操作类型;
16、解析用户的令牌数据,获得用户信息、角色信息、项目信息;
17、将用户的角色信息与从获得的rbac鉴权规则中的操作角色进行匹配,若匹配,则基于角色的访问控制rbac鉴权成功,否则,鉴权失败。
18、在一些实施方式下,所述利用融合casbin组件的keystone组件对api访问请求进行基于属性的访问控制abac鉴权,包括:
19、基于操作信息的操作类型,从abac鉴权规则表中获得与该操作类型对应的abac鉴权规则;其中,所述abac鉴权规则表存储有多个abac鉴权规则,每个abac鉴权规则包含操作类型、操作对象;所述请求信息和所述操作对象均包括服务名称、访问区域id、访问资源信息;
20、将操作信息的请求信息与从获得的abac鉴权规则中的操作对象进行匹配,若匹配,则基于属性的访问控制abac鉴权成功,返回访问结果给用户,否则返回鉴权失败给用户。
21、在一些实施方式下,方法还包括:在接收api请求进行鉴权前,每个云平台配置rbac鉴权规则表和abac鉴权规则表;所述rbac鉴权规则表以文件形式配置,所述abac鉴权规则表以数据库形式配置。
22、本说明书一些实施例提供的技术方案带来的有益效果至少包括:
23、在本说明书一个或多个实施例中,本说明书实施例的系统包括至少一个可部署不同类型的集群的云平台,通过在云平台部署融合casbin组件的keystone组件的iam服务,可同时实现基于角色的访问控制rbac鉴权和基于属性的访问控制abac鉴权,不仅可满足简单业务或服务场景下的基于角色的访问控制rbac鉴权,还可满足复杂业务或服务场景下的基于角色的访问控制rbac鉴权和基于属性的访问控制abac鉴权;进一步,iam服务还配置有同步能力,令其提供云平台中多集群的统一认证、鉴权服务。
本文档来自技高网...【技术保护点】
1.一种面向多集群多用户的云平台管理系统,包括至少一个云平台,其特征在于,每个云平台可部署不同类型的集群;每个云平台配置有IAM服务,所述IAM服务具有面向用户访问的API接口;所述IAM服务包括用于支持基于角色的访问控制RBAC鉴权的Keystone组件和用于支持基于属性的访问控制ABAC鉴权的Casbin组件;所述Casbin组件融合进所述Keystone组件,使得每个云平台对接收到的API访问请求,先进行基于角色的访问控制RBAC鉴权,若基于角色的访问控制RBAC鉴权成功,鉴权结束并返回访问结果给用户;若基于角色的访问控制RBAC鉴权失败,进行基于属性的访问控制ABAC鉴权。
2.根据权利要求1所述的系统,其特征在于,每个云平台的IAM服务还配置有同步服务;当有两个或多个云平台时,某一云平台的IAM服务作为主服务,该主服务将信息数据同步给作为从服务的其他云平台的IAM服务。
3.根据权利要求2所述的系统,其特征在于,所述某一云平台的IAM服务作为主服务时,该主服务将信息数据同步给作为从服务的其他云平台的IAM服务,包括:
4.根据权利要求
5.根据权利要求1所述的系统,其特征在于,所述云平台可部署OpenStack集群、Kubernetes集群、集成有OpenStack和Kubernetes的集群、部署有Kubernetes的OpenStack集群中的任意一种类型的集群。
6.根据权利要求1所述的系统,其特征在于,所述IAM服务具有面向用户访问的API接口为RESTful API接口。
7.一种鉴权方法,其特征在于,所述方法执行于如权利要求1-6之一所述的一种面向多集群多用户的云平台管理系统中的任意一个云平台;方法包括:
8.根据权利要求7所述的方法,其特征在于,所述利用融合Casbin组件的Keystone组件对API访问请求进行基于角色的访问控制RBAC鉴权,包括:
9.根据权利要求8所述的方法,其特征在于,所述利用融合Casbin组件的Keystone组件对API访问请求进行基于属性的访问控制ABAC鉴权,包括:
10.根据权利要求7所述的方法,其特征在于,还包括:在接收API请求进行鉴权前,每个云平台配置RBAC鉴权规则表和ABAC鉴权规则表;所述RBAC鉴权规则表以文件形式配置,所述ABAC鉴权规则表以数据库形式配置。
...【技术特征摘要】
1.一种面向多集群多用户的云平台管理系统,包括至少一个云平台,其特征在于,每个云平台可部署不同类型的集群;每个云平台配置有iam服务,所述iam服务具有面向用户访问的api接口;所述iam服务包括用于支持基于角色的访问控制rbac鉴权的keystone组件和用于支持基于属性的访问控制abac鉴权的casbin组件;所述casbin组件融合进所述keystone组件,使得每个云平台对接收到的api访问请求,先进行基于角色的访问控制rbac鉴权,若基于角色的访问控制rbac鉴权成功,鉴权结束并返回访问结果给用户;若基于角色的访问控制rbac鉴权失败,进行基于属性的访问控制abac鉴权。
2.根据权利要求1所述的系统,其特征在于,每个云平台的iam服务还配置有同步服务;当有两个或多个云平台时,某一云平台的iam服务作为主服务,该主服务将信息数据同步给作为从服务的其他云平台的iam服务。
3.根据权利要求2所述的系统,其特征在于,所述某一云平台的iam服务作为主服务时,该主服务将信息数据同步给作为从服务的其他云平台的iam服务,包括:
4.根据权利要求3所述的系统,其特征在于,所述某一云平台的iam服务作为主服务时,该主服务将信息数据同步给作为从服务的其他云平台...
【专利技术属性】
技术研发人员:吴文相,朱博祥,
申请(专利权)人:浙江九州未来信息科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。