用于控制对数据存储系统的用户访问的方法、设备和系统转让专利
申请号 : CN201780091469.2
文献号 : CN110692223B
文献日 : 2022-01-21
发明人 : 保罗·克莱夫·卡斯韦尔 , 西蒙·詹姆斯·查普尔 , 法布里斯·克劳德·奥利弗·赫利克
申请人 : 日立数据管理有限公司
摘要 :
权利要求 :
1.一种用于控制对数据存储系统的用户访问的方法,所述数据存储系统包括一个或多个提供多个数据存储资源的节点,
所述多个数据存储资源存储一个或多个用户能够访问的初级数据结构和一个或多个用户能够访问的次级数据结构,每个次级数据结构均基于相应的相关联的初级数据结构来进行存储,
其中针对每个次级数据结构,所述数据存储系统存储指示相应的次级数据结构的父级数据存储资源和所有者数据存储资源的数据结构元数据,所述相应的次级数据结构的所述父级数据存储资源是存储所述相应的次级数据结构的数据存储资源,而所述相应的次级数据结构的所述所有者数据存储资源是存储所述相应的次级数据结构的相应的相关联的初级数据结构的数据存储资源,并且其中所述数据存储系统还存储访问控制信息,针对一个或多个用户账户中的每个用户账户,所述访问控制信息指示许可与相应的用户账户相关联的用户对其进行用户访问的一个或多个数据存储资源的至少一个资源组;
所述方法包括:
‑接收访问在相应的父级数据存储资源上存储的所述一个或多个次级数据结构中的特定的次级数据结构的用户请求;
‑基于针对所述特定的次级数据结构存储的数据结构元数据,确定所述特定的次级数据结构的相应的所有者数据存储资源,以及‑基于访问控制验证过程来确定是否允许与所述用户请求相关联的所述用户账户的用户对于所述特定的次级数据结构进行访问,所述访问控制验证过程包括基于所述访问控制信息确定是否许可与所述用户请求相关联的所述用户账户的用户对于所确定的所述特定的次级数据结构的所有者数据存储资源进行访问,其中,针对所述一个或多个用户账户中的每个用户账户,所述访问控制信息还指示一个或多个访问级别;其中:
‑所述一个或多个访问级别中的第一访问级别指示,与所述第一访问级别相关联的相应的用户账户的用户被允许在相应的父级数据存储资源上访问一个或多个次级数据结构,所述一个或多个次级数据结构的相应的所有者数据存储资源包括在根据所述访问控制信息而许可与所述相应的用户账户相关联的用户对其进行用户访问的资源组中,‑所述一个或多个访问级别中的第二访问级别指示,在相应的相关联的所有者数据存储资源包括在根据所述访问控制信息而许可与所述相应的用户账户相关联的用户对其进行用户访问的资源组中的条件下,与所述第二访问级别相关联的相应的用户账户的用户被允许在相应的父级数据存储资源上访问与由所述用户当前登录的节点提供的一个或多个所有者数据存储资源相关联的一个或多个次级数据结构,和/或‑所述一个或多个访问级别中的第三访问级别指示,与所述第三访问级别相关联的相应的用户账户的用户被允许在相应的父级数据存储资源上访问在所述相应的父级数据存储资源上存储的所述一个或多个次级数据结构,而与所述一个或多个相应的相关联的所有者数据存储资源是否包括在根据所述访问控制信息而许可与所述相应的用户账户相关联的用户对其进行用户访问的资源组中无关。
2.根据权利要求1所述的方法,其中:所述数据存储系统还包括被配置为接收用户请求的用户接口控制器,所述方法还包括:
‑当与所述用户请求相关联的所述用户账户的用户发起与所述用户接口控制器的通信连接时会话开始后,执行授权过程,所述授权过程基于所述访问控制信息获得用户访问控制配置文件,该用户访问控制配置文件指示许可与相应的用户账户相关联的用户对其进行用户访问的一个或多个数据存储资源的至少一个资源组。
3.根据权利要求2所述的方法,还包括:‑创建有效载荷,所述有效载荷指示与所述相应的用户账户相关联的用户的用户访问控制配置文件,
所述方法还包括:
‑在所述用户接口控制器处接收到访问所述特定的次级数据结构的所述用户请求后,将所创建的有效载荷包括到与所述相应的用户账户相关联的用户的所述用户请求内。
4.根据权利要求3所述的方法,其中:所述数据存储系统还包括一个或多个资源处理控制器,每个资源处理控制器被配置为管理对所述数据存储系统的一个或多个数据存储资源的用户访问,所述方法还包括:
‑将包括所创建的有效载荷的用户请求从所述用户接口控制器发送至管理对所述特定的次级数据结构的所述父级数据存储资源的访问的所述资源处理控制器。
5.根据权利要求4所述的方法,其中:每个资源处理控制器还被配置为管理与在由相应的资源处理控制器管理的所述一个或多个数据存储资源上存储的所述次级数据结构有关的所述数据结构元数据,所述方法还包括:
‑在管理对所述特定的次级数据结构的所述父级数据存储资源的访问的所述资源处理控制器处接收包括所创建的有效载荷的所述用户请求,其中,确定所述特定的次级数据结构的相应的所有者数据存储资源和确定是否允许与所述用户请求相关联的所述用户账户的用户对于所述特定的次级数据结构进行访问,由管理对所述特定的次级数据结构的所述父级数据存储资源的访问的所述资源处理控制器,基于由相应的资源处理控制器管理的数据结构元数据以及包括在所接收到的用户请求中的所述有效载荷来执行。
6.根据权利要求1所述的方法,其中:确定是否允许与所述用户请求相关联的所述用户账户的用户对于所述特定的次级数据结构进行访问还基于如下确定:根据所述访问控制信息确定是否许可与所述用户请求相关联的所述用户账户的用户对于所述特定的次级数据结构的所述父级数据存储资源进行访问。
7.根据权利要求6所述的方法,其中:在所述特定的次级数据结构的相应的父级数据存储资源包括在根据所述访问控制信息而许可与相应的用户账户相关联的用户对其进行用户访问的资源组中的条件下,与所述用户请求相关联的用户账户的用户被确定为允许访问所述特定的次级数据结构。
8.根据权利要求1所述的方法,其中:针对所述一个或多个用户账户中的每个用户账户,所述访问控制信息还指示至少一个能够许可的用户活动或包括至少一个能够许可的用户活动的至少一个活动组,所述至少一个能够许可的用户活动或包括至少一个能够许可的用户活动的所述至少一个活动组被允许由与相应的用户账户相关联的用户在许可与所述相应的用户账户相关联的用户对其进行用户访问的资源组的数据存储资源上执行。
9.根据权利要求8所述的方法,其中:确定是否允许与所述用户请求相关联的所述用户账户的用户对于所述特定的次级数据结构进行访问还基于如下确定:基于所述访问控制信息来确定是否许可由与所述用户请求相关联的所述用户账户的用户执行由所述用户请求所请求的相应的用户活动。
10.根据权利要求3所述的方法,其中:所述访问控制信息包括基于角色的访问控制RBAC信息,针对所述一个或多个用户账户中的每个用户账户,所述RBAC信息还指示与相应的用户账户相关联的相应的用户的用户角色,
每个用户角色与至少一个能够许可的用户活动或包括至少一个能够许可的用户活动的至少一个活动组相关联,并且
用户访问控制配置文件还指示与关联于相应的用户账户的用户相关联的用户角色,并且所创建的有效载荷还指示与关联于相应的用户账户的用户相关联的用户角色。
11.根据权利要求10所述的方法,其中:所创建的有效载荷还指示与相应的用户角色相关联的所述至少一个能够许可的用户活动或包括至少一个能够许可的用户活动的至少一个活动组,所述相应的用户角色与关联于相应的用户账户的用户相关联。
12.根据权利要求11所述的方法,其中:每个资源处理控制器还被配置为管理活动元数据,针对一个或多个用户角色中的每个用户角色,所述活动元数据指示与相应的用户角色相关联的所述至少一个能够许可的用户活动或包括至少一个能够许可的用户活动的至少一个活动组,并且确定是否允许与所述用户请求相关联的所述用户账户的用户对于所述特定的次级数据结构进行访问还基于如下确定:基于由相应的资源处理控制器管理的所述活动元数据以及包括在所接收到的用户请求中的所述有效载荷,来确定是否许可由与所述用户请求相关联的所述用户账户的用户执行由所述用户请求所请求的相应的用户活动。
13.一种数据存储系统,其包括一个或多个提供多个数据存储资源的节点,所述多个数据存储资源被配置为存储一个或多个用户能够访问的初级数据结构和一个或多个用户能够访问的次级数据结构,每个次级数据结构基于相应的相关联的初级数据结构来进行存储,
其中所述数据存储系统被配置为针对每个次级数据结构存储指示相应的次级数据结构的父级数据存储资源和所有者数据存储资源的数据结构元数据,所述相应的次级数据结构的所述父级数据存储资源是存储所述相应的次级数据结构的数据存储资源,而所述相应的次级数据结构的所述所有者数据存储资源是存储所述相应的次级数据结构的相应的相关联的初级数据结构的数据存储资源,并且其中所述数据存储系统还被配置为存储访问控制信息,针对一个或多个用户账户中的每个用户账户,所述访问控制信息指示许可与相应的用户账户相关联的用户对其进行用户访问的一个或多个数据存储资源的至少一个资源组;
所述数据存储系统或所述数据存储系统的一个或多个节点被配置为,在接收到访问在相应的父级数据存储资源上存储的所述一个或多个次级数据结构中的特定的次级数据结构的用户请求后,执行:
‑基于针对所述特定的次级数据结构存储的数据结构元数据,确定所述特定的次级数据结构的相应的所有者数据存储资源,以及‑基于访问控制验证过程来确定是否允许与所述用户请求相关联的所述用户账户的用户对于所述特定的次级数据结构进行访问,所述访问控制验证过程包括基于所述访问控制信息确定是否许可与所述用户请求相关联的所述用户账户的用户对于所确定的所述特定的次级数据结构的所有者数据存储资源进行访问,其中,针对所述一个或多个用户账户中的每个用户账户,所述访问控制信息还指示一个或多个访问级别;其中:
‑所述一个或多个访问级别中的第一访问级别指示,与所述第一访问级别相关联的相应的用户账户的用户被允许在相应的父级数据存储资源上访问一个或多个次级数据结构,所述一个或多个次级数据结构的相应的所有者数据存储资源包括在根据所述访问控制信息而许可与所述相应的用户账户相关联的用户对其进行用户访问的资源组中,‑所述一个或多个访问级别中的第二访问级别指示,在相应的相关联的所有者数据存储资源包括在根据所述访问控制信息而许可与所述相应的用户账户相关联的用户对其进行用户访问的资源组中的条件下,与所述第二访问级别相关联的相应的用户账户的用户被允许在相应的父级数据存储资源上访问与由所述用户当前登录的节点提供的一个或多个所有者数据存储资源相关联的一个或多个次级数据结构,和/或‑所述一个或多个访问级别中的第三访问级别指示,与所述第三访问级别相关联的相应的用户账户的用户被允许在相应的父级数据存储资源上访问在所述相应的父级数据存储资源上存储的所述一个或多个次级数据结构,而与所述一个或多个相应的相关联的所有者数据存储资源是否包括在根据所述访问控制信息而许可与所述相应的用户账户相关联的用户对其进行用户访问的资源组中无关。
14.一种用于控制对数据存储系统的用户访问的计算机可读存储介质,所述数据存储系统包括一个或多个提供多个数据存储资源的节点,所述多个数据存储资源存储一个或多个用户能够访问的初级数据结构和一个或多个用户能够访问的次级数据结构,每个次级数据结构基于相应的相关联的初级数据结构来进行存储,其中针对每个次级数据结构,所述数据存储系统存储指示相应的次级数据结构的父级数据存储资源和所有者数据存储资源的数据结构元数据,所述相应的次级数据结构的所述父级数据存储资源是存储所述相应的次级数据结构的数据存储资源,而所述相应的次级数据结构的所述所有者数据存储资源是存储所述相应的次级数据结构的相应的相关联的初级数据结构的数据存储资源,并且其中所述数据存储系统还存储访问控制信息,针对一个或多个用户账户中的每个用户账户,所述访问控制信息指示许可与相应的用户账户相关联的用户对其进行用户访问的一个或多个数据存储资源的至少一个资源组,所述计算机可读存储介质包括计算机可读程序指令,当在具有至少一个处理器的设备或系统上运行或载入时,所述计算机可读程序指令使所述至少一个处理器在接收到访问在相应的父级数据存储资源上存储的一个或多个次级数据结构中的特定的次级数据结构的用户请求后执行:
‑基于针对所述特定的次级数据结构存储的数据结构元数据,确定所述特定的次级数据结构的相应的所有者数据存储资源,以及‑基于访问控制验证过程来确定是否允许与所述用户请求相关联的所述用户账户的用户对于所述特定的次级数据结构进行访问,所述访问控制验证过程包括基于所述访问控制信息确定是否许可与所述用户请求相关联的所述用户账户的用户对于所确定的所述特定的次级数据结构的所有者数据存储资源进行访问,其中,针对所述一个或多个用户账户中的每个用户账户,所述访问控制信息还指示一个或多个访问级别;其中:
‑所述一个或多个访问级别中的第一访问级别指示,与所述第一访问级别相关联的相应的用户账户的用户被允许在相应的父级数据存储资源上访问一个或多个次级数据结构,所述一个或多个次级数据结构的相应的所有者数据存储资源包括在根据所述访问控制信息而许可与所述相应的用户账户相关联的用户对其进行用户访问的资源组中,‑所述一个或多个访问级别中的第二访问级别指示,在相应的相关联的所有者数据存储资源包括在根据所述访问控制信息而许可与所述相应的用户账户相关联的用户对其进行用户访问的资源组中的条件下,与所述第二访问级别相关联的相应的用户账户的用户被允许在相应的父级数据存储资源上访问与由所述用户当前登录的节点提供的一个或多个所有者数据存储资源相关联的一个或多个次级数据结构,和/或‑所述一个或多个访问级别中的第三访问级别指示,与所述第三访问级别相关联的相应的用户账户的用户被允许在相应的父级数据存储资源上访问在所述相应的父级数据存储资源上存储的所述一个或多个次级数据结构,而与所述一个或多个相应的相关联的所有者数据存储资源是否包括在根据所述访问控制信息而许可与所述相应的用户账户相关联的用户对其进行用户访问的资源组中无关。
说明书 :
用于控制对数据存储系统的用户访问的方法、设备和系统
技术领域
的节点。
背景技术
将理解的,存储在计算机上的数据可能非常有价值,并且数据丢失可能导致严重的经济困
难。
存储在计算机中的银行账户记录。
难性后果。
行工作。
本地备份驱动器和数字虚拟设备(DVD或DVD ROMO存储库)通常在数据存储要求较小的情况
下使用,而磁带存储或大型磁盘驱动器则在数据存储要求较大的情况下用在计算机上或网
络中。
存储在中央位置。因此,为了充分保护所有客户端计算机使用的数据,仅需备份单个服务
器。
算机对数据的访问的服务器上最终变得更加实用。因此,再次面临必须备份多台客户端计
算机的问题。
可能需要每天存档并存储七年,而法律数据可能每周存档并存储五年。因此,在现代网络
中,可能将数据从多个客户端或甚至客户端计算机上的位置在位于多个不同位置处的多个
不同存储库中选定的一个存储库上备份。
略的能力,该特定存储库被设计用于在非常细的粒度级别(granular level)上进行长期存
储。不幸的是,此过程非常繁琐并且一旦意识到任何给定客户端上有多少种数据类型、每种
类型的数据上的法规数量、数据必须多久存档一次以及基于要求的数据最佳存档位置,该
过程就非常不切实际。
库的数据路径中建立数据源。
的访问)。
同的访问控制策略。对各种角色授权的许可是基于特权组和保护等级限定的。角色的许可
能够在运行时动态地确定。此外,随着添加新的存储资源,可以将它们分配给预先存在的保
护等级。因此,新的存储资源可以自动继承附于保护等级的各种许可和角色。
关联地存储在用于网络存储系统的基于角色的访问数据库中。操作识别信息识别针对多个
角色中的每个角色的一个或多个授权操作,资源识别信息识别由网络存储系统维护的特定
资源。角色识别信息、指示用于至少一个角色的一个或多个授权操作的数据以及基于角色
的访问数据库中的资源特定的识别信息用于确定是允许还是拒绝来自网络存储客户端的
访问网络存储系统维护的资源的请求。
发明内容
于数据保护目的、特别是优选以基于角色的访问控制(RBAC)为基础而在数据存储系统中、
特别是在管理初级数据结构和与该初级数据结构有关的次级数据结构的数据存储系统中
执行访问控制的可靠且有效的方式。
利要求涉及优选的示例性实施方式。
基于相应的相关联的初级数据结构来进行存储。
构元数据。这里,相应的次级数据结构的父级数据存储资源优选是存储该相应的次级数据
结构的数据存储资源,和/或相应的次级数据结构的所有者数据存储资源优选是存储该相
应的次级数据结构的相应的相关联的初级数据结构的数据存储资源。
户与至少一个用户角色相关联)指示许可与相应的用户账户(和/或其相关联的用户角色)
相关联的用户对其进行用户访问的一个或多个数据存储资源的至少一个资源组。
结构存储的数据结构元数据,确定特定的次级数据结构的相应的所有者数据存储资源;以
及基于访问控制验证过程来确定是否允许与用户请求相关联的用户账户(和/或用户角色)
的用户对于特定的次级数据结构进行访问。
的所有者数据存储资源进行访问。
于(或根据)所接收到的用户请求访问一个或多个次级数据结构中的特定的次级数据结构,
和/或如果访问控制验证过程确定不允许与用户请求相关联的用户账户(和/或用户角色)
的用户对于特定的次级数据结构进行访问,则禁止基于(或根据)所接收到的用户请求访问
一个或多个次级数据结构中的特定的次级数据结构。
的用户访问。
中的一个或多个或所有资源处理控制器。在一些示例性方面,资源处理控制器可以被配置
为彼此直接通信和/或经由用户接口控制器间接地通信。
收,以从用户接口控制器被转送或传送(或通常作为对应的用户请求发送,该对应的用户请
求可能修改也可能不修改原始接收到的请求)至管理存储相应的初级数据结构的特定的数
据存储资源的相应的资源处理控制器。
级数据结构的特定数据存储资源的相应的资源处理控制器。
不是由不同的资源处理控制器进行管理)上的相应的初级数据结构相关联的次级数据结
构,该用户对次级数据结构的用户访问请求可能在用户接口控制器处被接收,以从用户接
口控制器被转送或传送(或通常作为对应的用户请求发送,该对应的用户请求可能修改也
可能不修改原始接收到的请求)至管理存储相应的次级数据结构的特定的数据存储资源的
相应的资源处理控制器。
至管理存储相应的初级数据结构的特定的数据存储资源的相应的资源处理控制器和/或管
理存储相应的次级数据结构的特定的数据存储资源的相应的资源处理控制器。
构的特定的数据存储资源的相应的资源处理控制器是不同的资源处理控制器的情况下,则
可以将接收到的请求从管理存储相应的初级数据结构的特定的数据存储资源的相应的资
源处理控制器转送或传送(或通常作为对应的用户请求发送,该对应的用户请求可能修改
也可能不修改原始接收到的请求)至管理存储相应的相关联的次级数据结构的特定的数据
存储资源的相应的资源处理控制器。
权过程优选例如基于访问控制信息获得用户访问控制配置文件(profile),该用户访问控
制配置文件指示许可与相应的用户账户(和/或用户角色)相关联的用户对其进行用户访问
的一个或多个数据存储资源的至少一个资源组;和/或优选由用户接口控制器和/或由授权
模块或授权设备创建指示与相应的用户账户(和/或用户角色)相关联的用户的用户访问控
制配置文件的有效载荷。
息。
的用户账户(和/或用户角色)相关联的用户的用户请求内。
器。
结构有关的数据结构元数据。
资源处理控制器管理的相应的数据存储资源。例如,资源处理控制器可以示例性地将与特
定的次级数据结构有关的数据结构元数据存储到存储相应的次级数据结构的数据存储资
源,例如,通过将与特定的次级数据结构有关的数据结构元数据与特定的次级数据结构一
起或作为特定的次级数据结构的一部分存储在相应的数据存储资源上。
定的次级数据结构的相应的所有者数据存储资源和/或确定是否允许与用户请求相关联的
用户账户(和/或用户角色)的用户对于特定的次级数据结构进行访问,由管理对特定的次
级数据结构的父级数据存储资源的访问的资源处理控制器执行,优选基于由相应的资源处
理控制器管理的数据结构元数据以及包括在所接收到的用户请求中的有效载荷。
可与用户请求相关联的用户账户(和/或用户角色)的用户对于特定的次级数据结构的父级
数据存储资源进行访问。
许可与用户请求相关联的用户账户(和/或用户角色)的用户对于特定的次级数据结构的父
级数据存储结构进行访问,则基于(或根据)所接收到的用户请求来访问一个或多个次级数
据结构中的特定的次级数据结构;和/或如果访问控制验证过程确定不允许与用户请求相
关联的用户账户(和/或用户角色)的用户对于特定的次级数据结构进行访问和/或不许可
与用户请求相关联的用户账户(和/或用户角色)的用户对于特定的次级数据结构的父级数
据存储结构进行访问,则拒绝基于(或根据)所接收到的数据请求访问一个或多个次级数据
结构的特定的次级数据结构。
问的资源组中的条件下,与用户请求相关联的用户账户(和/或用户角色)的用户可以被确
定为允许(许可)访问特定的次级数据结构。
中,和/或特定的次级数据结构的相应的所有者数据存储资源包括在根据访问控制信息而
许可与相应的用户账户(和/或用户角色)相关联的用户对其进行用户访问的资源组中的条
件下,与用户请求相关联的用户账户(和/或用户角色)的用户可以被确定为允许(许可)访
问特定的次级数据结构。
信息还可以指示一个或多个访问级别,该访问级别指示相应的用户账户(和/或用户角色)
所被许可的访问范围。
用户被允许在相应的父级数据存储资源上访问一个或多个次级数据结构,这些(仅这些)次
级数据结构的相应的所有者数据存储资源包括在根据访问控制信息而许可与相应的用户
账户(和/或用户角色)相关联的用户对其进行用户访问的资源组中;(2)第二访问级别,该
第二访问级别可以指示,与该第二访问级别相关联的相应的用户账户(和/或用户角色)的
用户被允许在相应的父级数据存储资源上(例如,仅)访问与由该用户当前登录的节点提供
的一个或多个所有者数据存储资源相关联的次级数据结构,特别是在相应的相关联的所有
者数据存储资源包括在根据访问控制信息而许可与相应的用户账户(和/或用户角色)相关
联的用户对其进行用户访问的资源组中的条件下;和/或(3)第三访问级别,其可以指示与
该第三访问级别相关联的相应的用户账户(和/或用户角色)的用户被允许在相应的父级数
据存储资源上访问在相应的父级数据存储资源上存储的一个或多个(例如,全部)次级数据
结构,而与一个或多个相应的相关联的所有者数据存储资源是否包括在根据访问控制信息
而许可与相应的用户账户(和/或用户角色)相关联的用户对其进行用户访问的资源组中无
关。
的用户活动的至少一个活动组,该至少一个能够许可的用户活动和/或包括至少一个能够
许可的用户活动的至少一个活动组被允许由与相应的用户账户(和/或用户角色)相关联的
用户,在许可与相应的用户账户(和/或用户角色)相关联的用户对其进行用户访问的资源
组的数据存储资源上执行。
与用户请求相关联的用户账户(和/或用户角色)的用户执行由用户请求所请求的相应的用
户活动。
以包括:如果确定由用户请求所请求的相应的用户活动被许可由与用户请求相关联的用户
账户(和/或用户角色)的用户执行并且与用户请求相关联的用户账户(和/或用户角色)的
用户被允许访问特定的次级数据结构,则在特定的次级数据结构上执行所请求的活动,和/
或如果确定由用户请求所请求的相应的用户活动不被许可由与用户请求相关联的用户账
户(和/或用户角色)的用户执行或与用户请求相关联的用户账户(和/或用户角色)的用户
不被允许访问特定的次级数据结构,则拒绝在特定的次级数据结构上执行所请求的活动。
的相应的用户的用户角色。
的用户相关联的用户角色。
应的用户角色与关联于相应的用户账户的用户相关联。
至少一个能够许可的用户活动或包括至少一个能够许可的用户活动的至少一个活动组。
理控制器管理的活动元数据以及包括在所接收到的用户请求中的有效载荷,来确定是否许
可由与用户请求相关联的用户账户(和/或用户角色)的用户执行由用户请求所请求的相应
的用户活动。
用户账户,访问控制信息可以指示与相应的用户账户相关联的多个租户中的一个租户。
的数据结构元数据来确定与该特定的次级数据结构相关联的租户是否匹配与相应的用户
账户相关联的租户。
(或根据)所接收到的用户请求访问一个或多个次级数据结构中的特定的次级数据结构,
和/或如果访问控制验证过程确定与特定的次级数据结构相关联的租户不匹配与相应的用
户账户(和/或用户角色)相关联的租户,则拒绝基于(或根据)所接收到的用户请求访问一
个或多个次级数据结构中的特定的次级数据结构。
结构和一个或多个用户能够访问的次级数据结构,每个次级数据结构基于相应的相关联的
初级数据结构来进行存储,
父级数据存储资源是存储该相应的次级数据结构的数据存储资源,而相应的次级数据结构
的所有者数据存储资源是存储该相应的次级数据结构的相应的相关联的初级数据结构的
数据存储资源,并且其中数据存储系统还被配置为存储访问控制信息,针对一个或多个用
户账户中的每个用户账户,所述访问控制信息指示许可与相应的用户账户相关联的用户对
其进行用户访问的一个或多个数据存储资源的至少一个资源组。
级数据结构的用户请求后,执行:基于针对特定的次级数据结构存储的数据结构元数据,确
定特定的次级数据结构的相应的所有者数据存储资源,和/或基于访问控制验证过程来确
定是否允许与用户请求相关联的用户账户的用户对于特定的次级数据结构进行访问,所述
访问控制验证过程包括基于访问控制信息确定是否许可与用户请求相关联的用户账户的
用户对于所确定的特定的次级数据结构的所有者数据存储资源进行访问。
是在上述一个或多个方面中提供的。
如在接收到访问在相应的父级数据存储资源上存储的一个或多个次级数据结构中的特定
的次级数据结构的用户请求后执行:基于针对特定的次级数据结构存储的数据结构元数
据,确定特定的次级数据结构的相应的所有者数据存储资源;和/或基于访问控制验证过程
来确定是否允许与用户请求相关联的用户账户的用户访问特定的次级数据结构,所述访问
控制验证过程包括基于访问控制信息确定是否许可与用户请求相关联的用户账户的用户
对于所确定的特定的次级数据结构的所有者数据存储资源进行访问。
如在接收到访问在相应的父级数据存储资源上存储的一个或多个次级数据结构中的特定
的次级数据结构的用户请求时执行上述(和/或下述)一个或多个方法方面的一个或多个步
骤。
置,因为除了以上段落中所述的构造和设置之外,还可以进行各种其他改变、组合、省略、修
改和替代。
明,否则可以通过与本文描述的顺序不同的顺序执行本文描述的处理步骤,并且一个或多
个步骤可以进行组合、拆分,或者同时执行。
附图说明
具体实施方式
的方面和优选的实施方式有关的详细描述并不意味着限制本发明的范围。
盘”。数据存储系统可以包括具有相同或不同存储容量的相同或不同类型的存储装置。
“卷”。通常,SD大于从多个存储装置中提取空间的单个存储装置,并且包括冗余信息,使得
它可以承受一定数量的磁盘的故障而不会丢失数据。在示例性实施方式中,每个SD与在下
文被称为“逻辑单元标识符”或“LUID”的唯一标识符相关联,并且每个SD不大于预定的最大
大小(例如,2TB至64TB或更大)。
最慢的部件,它们通常最有可能遭受灾难性故障,并且它们通常具有相对较小的存储容量。
时继续工作,并且还在两个RAID控制器都正常的情况下共享负载)和几十个存储装置。在示
例性实施方式中,RAID系统通常被配置有两个至三十二个SD。当文件服务器需要存储或检
索数据时,它将命令发送至RAID系统的RAID控制器,该RAID控制器进而负责将命令向前路
由到相应的存储装置并根据需要存储或检索数据。
像SD”)。次级SD可以由与初级SD相同的RAID系统管理,也可以由不同的本地或远程的RAID
系统管理。镜像SD有效地在多个SD上提供RAID 1+0功能,以便在某些情况下实现从一个SD
或甚至可能多个SD的丢失或损坏中恢复。
为区域(region)、条带集(stripeset)和跨度(span)的虚拟存储构造的层级来管理文件系
统。文件服务器的文件系统功能可以包括对象管理、自由空间管理(例如,分配)和/或目录
管理。
中。而且,可以将事务保持在日志文件中,以防止在系统故障的情况下的数据丢失。事务可
以从内存和/或从日志文件发送至目的地。
或差异的差异备份。此外,备份可以连续地处理,例如通过连续的数据保护(CDP)或实时备
份,其中使用实时更新内容在有索引或无索引的情况下以连续的方式更新存储库。此外,备
份可以分批处理,例如定期地,其中备份是分批创建的。批量备份可以指如下操作,即,根据
预定的再同步(例如,涉及针对自上次备份以来的变更的源数据的扫描)定期地或至少反复
地更新存储库,并仅将变更后的数据、变更后的文件和/或变更后的字节传送至目的地以进
行存储。
指文件、目录和/或数据部分的版本在其发生变更时(例如,每次将文档保存在文件中,另一
个版本被保留并为其加索引时,例如根据更改历史创建多代数据)被采用的数据保护操作。
LAN)或无线通信网络(例如,WLAN),或者可以由互联网连接表示,或者在一些示例性实施方
式中,每个通信网络可以与直接通信连接(有线或无线的)互换。
行界面)访问网络服务器200(例如,使用REST接口或其他消息传输协议接口),并且网络服
务器200可以例如为客户端设备100a和100b的网络浏览器提供多个网页或其他类型的HTML
文档。
通信网络(或经由同一通信网络)连接至UIC(用户接口控制器)设备300。
器)。
第一目的地节点)。进一步示例性地,(第二)存储处理机设备400b经由另一个网络经由另一
个通信网络(或经由同一通信网络)可通信地连接至存储节点500c(例如,第二源节点),并
且存储节点500c可通信地连接至存储节点500d(例如,第二目的地节点)。
的逻辑存储单元。在其他示例性实施方式中,存储节点可以表示具有提供统一的存储空间
的多个集群节点的存储集群。总的来说,存储节点可以表示用于存储数据的物理、逻辑或虚
拟的存储实体。
限定的数据保护策略来执行和发起数据保护操作。源节点可以被配置为存储数据,传输本
地存储的数据或实现数据跟踪、阻塞或稽核功能。
统。
点)、由源节点管理的要保护的数据和在管理的数据上执行的数据保护操作的目的地(目的
地节点)中的至少一个。
操作的类型和/或方向,例如,镜像操作、复制操作、备份操作(例如,批量备份和/或实时备
份)、快照操作、归档操作、版本管理操作以及数据移动应批量发生(例如,批量备份)还是连
续发生(例如,连续数据保护或作为实时备份)或者将数据与将数据临时存储到日志文件中
同步地还是异步地移动。
存储的数据应在接收数据的目的地节点处保留的时间)、数据保护操作应发生的频率、周期
性或时间窗口(例如,恢复点目标等)。此外,其他目标可以限定哪些数据需要保护(例如,基
于文件类型、与应用程序的关系,基于用户组或各个用户身份等)和其他时间限制(例如,被
排除的不应发生数据保护操作的时间窗口等)。
以是可选的。例如,在一些示例性实施方式中,由于具有管理访问特权的用户可以经由客户
端设备100a或100b作为管理员登录(例如,在与管理访问特权相关联的“管理员”的用户角
色下),因此每个客户端设备100a或100b可以用作管理计算机。
如,数据保护策略)。
的数据或甚至对外部存储系统900的访问请求。
施方式中,用户接口可以在网络服务器200上被提供给客户端或通过网络服务器200提供给
客户端。在其他实施方式中,用户接口可以通过UIC设备300直接地或经由网络服务器200间
接地提供给客户端。
地,UIC设备300可以示例性地被配置为将用户访问请求路由至一个或多个负责的存储处理
机设备400a、400b和400c,这些存储处理机设备示例性地将管理相应的用户访问请求的执
行。
源处理控制器)可以被配置为管理数据存储系统的一个或多个存储节点或在一个或多个存
储节点上提供的一个或多个存储资源,具体地,数据存储系统的每个存储节点和/或存储资
源可以由一个相关联的存储处理机设备(资源处理控制器)来管理和/或控制。
500c和500d提供的一个或多个数据存储资源。
作可以包括将数据从存储节点500c复制到由存储处理机设备400b管理的存储节点500d,存
储处理机设备400b指示这样的复制操作由存储节点500c执行以将数据复制到存储节点
500d(示例性地不直接连接至存储处理机设备400b)。
至400c。
息或访问请求可以被直接发送,或者可以经由UIC设备300和/或网络服务器200进行路由。
备300和/或网络服务器200间接地路由)。
(或经由同一通信网络)连接至存储管理设备1000的UIC(用户接口控制器)模块301。
功能。存储处理机模块401a至401c可以与图1A中的存储处理机设备400a至400c类似地起作
用和/或提供类似的处理功能。
第一目的地节点)。进一步示例性地,(第二)存储处理机模块400b经由另一个网络经由另一
个通信网络(或经由同一通信网络)可通信地连接至存储节点500c(例如,第二源节点),并
且存储节点500c可通信地连接至存储节点500d(例如,第二目的地节点)。
统。然而,这种管理计算机800可以是可选的。例如,在一些示例性实施方式中,由于具有管
理访问特权的用户可以经由客户端设备100a或100b作为管理员登录(例如,在与管理访问
特权相关联的“管理员”的用户角色下),因此每个客户端设备100a或100b可以用作管理计
算机。
数据保护策略)。
至对外部存储系统900的访问请求。
施方式中,用户接口可以在网络服务器200上被提供给客户端或通过网络服务器200提供给
客户端。在其他实施方式中,用户接口可以通过UIC模块301直接地或经由网络服务器200间
接地提供给客户端。
地,UIC模块301可以示例性地被配置为将用户访问请求路由至一个或多个负责的存储处理
机设备401a、401b和401c,这些存储处理机设备示例性地将管理相应的用户访问请求的执
行。
源处理控制器)可以被配置为管理数据存储系统的一个或多个存储节点或在一个或多个存
储节点上提供的一个或多个存储资源,具体地,数据存储系统的每个存储节点和/或存储资
源可以由一个相关联的存储处理机设备(资源处理控制器)来管理和/或控制。
500c和500d提供的一个或多个数据存储资源。
作可以包括将数据从存储节点500c复制到由存储处理机模块401b管理的存储节点500d,存
储处理机模块401b指示这样的复制操作由存储节点500c执行以将数据复制到存储节点
500d(示例性地不直接连接至存储处理机模块401b)。
作为独立的设备实现。在另外的示例性实施方式中,UIC模块301可以在一个设备上实现,而
存储处理机模块401a至401b可以在另一个设备上实现。
群等)或软件(例如,通过可在机器、工作站、计算机、服务器上执行或还可在机器集群、工作
站集群、计算机集群、服务器集群等上执行的独立或组合的软件模块,或者作为均匀分布的
云服务)或硬件和软件的任何组合(例如,作为虚拟机或者在一个或多个虚拟机等上运行)
来实现。
由一个或多个先前建立的存储处理机模块(资源处理控制器)中的一个或多个存储处理机
模块来管理,或者可以启动、创建或安装一个或多个新的存储处理机模块以管理一个或多
个新添加的存储资源。例如,在一些示例性实施方式中,对于每个新添加的存储资源和/或
每个新添加的存储节点,可以启动、创建或安装相应的新的存储处理机模块(资源处理控制
器)以管理相应的新添加的存储资源和/或每个新添加的存储节点。
请求可以被直接发送,或者可以经由UIC模块301和/或网络服务器200进行路由。
备300和/或网络服务器200间接地路由)。
一个通信网络(或经由同一通信网络)连接至外部存储系统900,并且网络服务器200还示例
性地经由另一个通信网络(或经由同一通信网络)连接至存储管理设备1001的UIC(用户接
口控制器)模块301。
和/或提供类似的处理功能。存储处理机模块401a至401c可以与图1A中的存储处理机设备
400a至400c和图1B中的存储处理机模块401a至401c类似地起作用和/或提供类似的处理功
能。
证模块601和认证模块701也示例性地包括在存储管理设备1001中。
器)。
性实施方式中,由于具有管理访问特权的用户可以经由客户端设备100a或100b作为管理员
登录(例如,在与管理访问特权相关联的“管理员”的用户角色下),因此每个客户端设备
100a或100b可以用作管理计算机。
数据保护策略)。然而,这样的管理模块801可以是可选的。例如,在一些示例性实施方式中,
由于具有管理访问特权的用户可以经由客户端设备100a或100b作为管理员登录(例如,在
与管理访问特权相关联的“管理员”的用户角色下),因此每个客户端设备100a或100b可以
用作管理计算机。
中,用户接口可以在网络服务器200上被提供给客户端或通过网络服务器200提供给客户
端。在其他实施方式中,用户接口可以通过UIC模块301直接地或经由网络服务器200间接地
提供给客户端。
用户可以经由客户端设备100a或100b登录到数据存储系统,以通过访问管理模块801来改
变管理设置。
数据存储系统的用户访问交互,例如,管理对在一个或多个存储节点500a至500d上存储的
数据或甚至对外部存储系统900的访问请求。
200在相应的客户端设备/计算机处被提供。
访问请求的执行。
源处理控制器)可以被配置为管理数据存储系统的一个或多个存储节点或在一个或多个存
储节点上提供的一个或多个存储资源,具体地,数据存储系统的每个存储节点和/或存储资
源可以由一个相关联的存储处理机设备(资源处理控制器)来管理和/或控制。
块301进行路由,并且一个或多个负责的存储处理机将与外部存储系统900交互(例如,直接
地或经由UIC模块301和网络服务器200间接地路由)。在一些示例性实施方式中,外部存储
系统900可以直接连接至UIC模块301和/或一个或多个存储处理机模块,例如,不经由网络
服务器200。
点500c和500d提供的一个或多个数据存储资源。
操作可以包括将数据从存储节点500c复制到由存储处理机模块401b管理的存储节点500d,
存储处理机模块401b指示这样的复制操作由存储节点500c执行以将数据复制到存储节点
500d(示例性地不直接连接至存储处理机模块401b)。
示的那样作为独立的设备实现。在另外的示例性实施方式中,UIC模块301可以在一个设备
上实现,而存储处理机模块401a至401b可以在另一个设备上实现。
请求可以被直接发送,或者可以经由UIC模块301和/或网络服务器200进行路由。
块301和/或网络服务器200间接地路由)。
群等)或软件(例如,通过可在机器、工作站、计算机、服务器上执行或还可在机器集群、工作
站集群、计算机集群、服务器集群等上执行的独立或组合的软件模块,或者作为均匀分布的
云服务)或硬件和软件的任何组合(例如,作为虚拟机或者在一个或多个虚拟机等上运行)
来实现。
由一个或多个先前建立的存储处理机模块(资源处理控制器)中的一个或多个存储处理机
模块来管理,或者可以启动、创建或安装一个或多个新的存储处理机模块以管理一个或多
个新添加的存储资源。例如,在一些示例性实施方式中,对于每个新添加的存储资源和/或
每个新添加的存储节点,可以启动、创建或安装相应的新的存储处理机模块(资源处理控制
器)以管理相应的新添加的存储资源和/或每个新添加的存储节点。
在机器、工作站、计算机、服务器上执行或还可在机器集群、工作站集群、计算机集群、服务
器集群等上执行的独立或组合的软件模块,或者作为均匀分布的云服务)或硬件和软件的
任何组合(例如,作为虚拟机或者在一个或多个虚拟机等上运行)来实现。
作。替代地或补充地,不同的存储处理机设备/模块可以管理源节点或由源节点提供的数据
存储资源,用于所述源节点的目的地节点或由目的地节点提供的数据存储资源由另一个
(或多个其他)存储处理机设备/模块进行管理,并且不同的存储处理机设备/模块可以管理
目的地节点或由目的节点提供的数据存储资源,用于所述目的地节点的源节点或由源节点
提供的数据存储资源由另一个(或多个其他)存储处理机设备/模块管理。此外,在示例性实
施方式中,一个或多个存储处理机设备/模块可以仅管理源节点或由源节点提供的数据存
储资源,而一个或多个其他存储处理机设备可以仅管理目的地节点或由目的节点提供的数
据存储资源。
模块601)通信。
他用户标识符)和密码的对应的登录请求。
器)。
色,可能与典型的示例性实施方式中的情况一样,可选地可以稍后基于与用户名相关联的
用户配置文件来确定用户角色)的登录请求。登录请求还示例性地包括来自用户输入的密
码。密码可以随登录请求以编码和/或加密的格式(例如,通过预定的哈希函数或哈希算法
对密码进行哈希处理)来传输。此外,密码可以使用其他加密技术(例如,通过使用TLS和/或
诸如SSLv3等SSL加密)通过网络来发送。
以在更狭义的意义上指代域(例如,活动目录域),或在更广义的意义上它一般还指代用户
的认证空间。用户域或以一般方式的域可以被视为可以向其中添加用户(或可以从中删除
用户)并且也可以具有一个或多个子组的用户组。
块、设备或系统),例如,在这种情况下,每个认证模块可以负责多个用户域中的相应的一个
或多个用户域的用户的用户认证。
登录请求中获取或解码的对应的登录信息)发送至所确定的认证模块。
定是否可以基于在认证模块的数据库中存储的认证数据对用户进行认证。
求关联的相应的用户的用户名的认证数据匹配,则可以确定用户的认证是成功的。可以用
其他方式确定用户的认证是成功的。
服务)检查用户的证书。在这种情况下(例如,代替下述认证过程),认证可以基于与第三方
认证系统的交互来准予或拒绝;并且步骤S23、S24、S25和/或S27等步骤可以由第三方认证
系统执行。
是他们声称的用户)进行认证。
访问拒绝的消息)。然后,该过程可以结束。
性地针对与登录请求相关联的用户发起会话开始,并在步骤S29中出于访问控制目的继续
进行用户授权过程(例如,参见图3)。
识符,例如用户ID等。它可以可选地另外包括用户密码的哈希值。然而,这样的信息通常不
包括用户密码。
如,这样的用户“成员资格信息”可以指示用户所属的组和/或用户的域中的至少一个。
户认证过程以由UIC直接执行。
纹识别等生物统计信息来(替代地或补充地)执行,和/或也可以基于触摸屏手指图案认证
等来(替代地或补充地)执行。
另一个用户接口从客户端计算机(客户端设备))登录到UIC,可以在UIC处接收指示用户名
(或其他用户标识符)的对应的登录请求。
通过使用用户名和/或用户标识符(例如用户ID等)或通过使用有关用户的组和/或域的信
息。
面,但是在一些示例性实施方式中,可以使用其他访问控制方案(没有限定的用户角色)。
为与特定的用户角色相关联的每个用户可以被许可执行(或请求执行)与特定的用户角色
相关联的活动。
这样的关联限定对于相应的用户角色的用户被许可的一个或多个活动。在一些示例性实施
方式中(补充地或替代地),一个或多个用户角色中的每个用户角色与关联于相应的用户角
色的用户的一个或多个许可用户活动之间的这样的关联可以可选地通过否定的方式限定,
即,针对每个用户角色,这样的关联限定对于相应的用户角色的用户不被许可的多个活动
中的一个或多个活动。
动之间的关联,例如因为每个用户可以被许可执行(或请求执行)分别与他们相关联的活
动。
被许可的一个或多个活动。在一些示例性实施方式中(补充地或替代地),多个用户中的每
个用户与关联于相应的用户的一个或多个许可用户活动之间的这样的关联可以通过否定
的方式限定,即,针对每个用户,这样的关联限定对于相应的用户不被许可的多个活动中的
一个或多个活动。
每个独立的用户限定许可活动的关联(在系统中存在数百个或甚至数千个用户的情况下),
而是可以允许限定不同的用户组(数量少于用户的总数),每个用户组都与特定的用户角色
相关联,特定的用户角色与一个或多个许可活动的特定的组相关联。另外,将新用户添加到
系统(甚至新用户组)的效率更高,因为可以仅为一个或多个新用户分配可能先前已经限定
过的适当的用户角色,或者可以为新一组许多用户有效地限定新用户角色。
或一个或多个活动组的活动。例如,第一用户角色可以允许执行第一活动和/或第一组活
动,而另一个第二角色可以允许执行第二活动和/或第二组活动。
可以由相应的用户角色的用户在特定的资源上执行。例如,第一用户角色可以允许在第一
资源(和/或第一组资源)上执行第一活动(和/或第一组活动),而另一个第二角色可以允许
在第二资源(和/或第二组资源)上执行第二活动(和/或第二组活动)。
(和/或第一组资源)上执行一个或多个活动,而另一个第二角色可以允许在第二资源(和/
或第二组资源)上执行一个或多个活动。
并且可选地在确认成功的用户认证过程后,执行这种用户授权过程。
的身份,例如通过使用从认证模块或认证设备600接收到的用户的用户名、用户的用户ID或
证书信息,和/或指示用户的组和/或域)发送至授权模块/设备。
关联。授权数据库可以存储与用于个人用户(例如,每个用户的一个或多个相关联的访问控
制配置文件)、用户组(例如,每个用户组的一个或多个相关联的访问控制配置文件)和/或
用户域(例如,每个用户域的一个或多个关联的访问控制配置文件)的访问控制配置文件的
关联。
相应的用户(和/或用户组和/或用户域)相关联的一个或多个访问控制配置文件,和/或确
定与相应的用户(和/或用户组和/或用户域)的用户角色相关联的一个或多个访问控制配
置文件。
或授权数据库可以针对一个或多个访问控制配置文件中的每个访问控制配置文件存储与
相应的访问控制配置文件相关联的零个、一个或多个用户(和/或用户组和/或用户域)。
一个或多个访问控制配置文件中的每个访问控制配置文件存储与相应的访问控制配置文
件相关联的一个或多个用户角色。然后,授权数据库还可优选针对多个用户(和/或用户组
和/或用户域)中的每个用户存储与相应的用户(和/或用户组和/或用户域)相关联的一个
(或多个)用户角色,和/或授权数据库还可以优选针对一个或多个用户角色中的每个用户
角色存储与相应的用户角色相关联的零个、一个或多个用户(和/或用户组和/或用户域)。
的每个用户组与多个用户中的相应的用户关联起来的用户组信息。在这样的示例性实施方
式中,授权数据库还可以存储将一个或多个用户组中的每个用户组与一个或多个访问控制
配置文件关联起来和/或将一个或多个访问控制配置文件与一个或多个用户组关联起来的
访问控制配置文件关联信息。
户组(例如,作为特定的域的所有用户的子组)。
个或多个访问控制配置文件,例如直接经由用户与访问控制配置文件之间的关联,或间接
经由包括确定与关联于相应的登录请求的相应的用户相关联的用户组和/或用户角色的关
联。
可以优选至少指示被许可执行(或被许可由被确定与相应的访问控制配置文件相关联的用
户请求执行)的一个或多个活动(或用户活动)以及被许可由被确定与相应的访问控制配置
文件相关联的用户访问的一个或多个存储资源(例如,由上述存储节点提供或由上述存储
节点表示,例如在存储节点或一组存储节点可以表示数据存储资源和/或存储节点或一组
存储节点可以提供一个或多个存储资源的意义上)(例如,用户被许可对该一个或多个数据
存储资源执行或请求许可的活动)。
动)以及被许可由被确定与相应的访问控制配置文件相关联的用户访问的一个或多个数据
存储资源的情况下,特定的访问控制配置文件的访问控制配置文件信息可以指示一个或多
个资源组,每个资源组与一个或多个数据存储资源相关联。
动)以及被许可由被确定与相应的访问控制配置文件相关联的用户访问的一个或多个数据
存储资源的情况下,特定的访问控制配置文件的访问控制配置文件信息可以指示一个或多
个活动组,每个活动组与一个或多个被许可的活动相关联(并且除了活动组之外,特定的访
问控制配置文件的访问控制配置文件信息还可以指示零个或多个活动,例如另外的活动)。
活动组(每个活动组与一个或多个活动相关联)和零个或多个活动或一个或多个活动相关
联(例如,如果与活动组已经存在至少一个关联)。
别)。访问级别及其示例性效果将在下面进一步描述。
户与至少一个用户角色关联起来以及将每个用户角色与一个或多个相应的访问控制配置
文件关联起来,可以将用户直接与相应的一个或多个访问控制配置文件相关联,例如不使
用用户角色。
和/或根据用户所属的一个或多个域)。
上执行/进行与在访问控制配置文件中指示的用户角色相关联的一个或多个活动和/或与
关联于用户角色的活动组相关联的一个或多个活动,其中的存储资源包括在根据为相应的
资源组所指示的相应的访问级别、在相关联的访问控制配置文件中所指示的一个或多个资
源组中。
分配多个访问控制配置文件,例如,与个人用户“bob”相关联的第一访问控制配置文件
ACP1、与域“domain.com”相关联的第二访问控制配置文件ACP2以及与用户“bob”可能所属
的一个或多个用户组相关联的潜在的另外的一个或多个访问控制配置文件。
地,例如在图4(B)中,(多个用户中的)用户“用户1”可以示例性地与用户组“用户组1”(多个
用户组中的,每个用户组与一个或多个用户相关联)相关联,用户组“用户组1”再次与访问
控制配置文件“ACP1”相关联(例如,与关联于特定的用户角色(例如,普通用户、超级用户
和/或管理员等)的一组用户相关联的用户组)。
用户)相关联的(多个访问控制配置文件中的)一个或多个访问控制配置文件。
息,例如,根据图4(C)的关联。
户角色中的)用户角色“用户角色1”与(多个活动组中的)活动组“活动组1”相关联,活动组
“活动组1”示例性地与(多个活动中的)活动“活动1”和“活动2”相关联。用户角色也可以直
接与多个活动中的零个、一个或多个活动相关联。每个访问控制配置文件可以与关联于一
个或多个活动组以及零个、一个或多个活动的用户角色相关联,并且每个活动组可以与一
个或多个活动相关联。
源组1”示例性地与存储资源“资源1”、“资源2”和“资源3”相关联。每个访问控制配置文件可
以与一个或多个资源组相关联,并且每个资源组可以与一个或多个资源相关联。
或多个访问级别相关联。优选地,访问控制配置文件与关联于相应访问配置文件的每个资
源组的相应访问级别相关联,例如,通过将每个资源组与相应的访问级别相关联。
角色“用户角色1”并被许可根据基于访问级别“访问级别1”的资源组“资源组1”访问存储资
源“资源1”、“资源2”和“资源4”,并且用户“用户1”被许可在存储资源“资源1”、“资源2”和
“资源4”上根据基于访问级别“访问级别1”的资源组“资源组1”执行(或请求执行)活动组
“活动组1”的活动“活动1”以及“活动2”和“活动5”。
并且相应的用户被许可在存储资源上根据基于相关联的访问级别的一个或多个相关联的
资源组执行(或请求执行)相关联的活动组的活动和/或相关联的活动。
置文件信息),并且指示所确定的与关联于登录请求和/或认证请求的用户相关联的一个或
多个访问控制配置文件的对应访问控制配置文件信息被用于创建有效载荷(步骤S34),该
有效载荷在步骤S35中被从授权模块/设备发送至UIC(用户接口控制器)。
备/模块负责基于所获得的与用户相关联的一个或多个访问控制配置文件来为该相应的用
户创建有效载荷,并将所创建的有效载荷发送至UIC(用户接口控制器)。在其他示例性实施
方式中,授权设备/模块可以将所获得的与用户相关联的一个或多个访问控制配置文件或
指示与用户相关联的一个或多个访问控制配置文件的访问控制配置文件信息发送至UIC,
并在这样的示例性实施方式中,可以在UIC处基于所接收到的一个或多个访问控制配置文
件或一个或多个访问控制配置文件的信息来创建有效载荷。
的访问控制配置文件信息进行编码,例如通过压缩式的压缩数据格式。
或在UIC的存储装置上,例如会话数据库中)长达例如整个会话直到用户再次注销,或甚至
保留更长的时间直到用户再次登录以被重新使用(至少除非同时未重置或重新配置用户的
访问控制配置文件)。
或其报头部分中)。那么,虽然UIC以集中的方式执行第一授权处理,但是由于存储处理设备
(资源处理控制器)可以在端点处,即在数据存储系统的数据访问点处,例如在存储处理设
备(资源处理控制器)上、在相应的节点上和/或通过用于访问存储资源的存储控制器执行
每次访问请求的单独的访问控制,因此可以通过分布式方式有效且可靠地进行每次访问请
求的后续访问控制。
担,和/或由于避免了在每次访问基础上向/从集中授权系统查询的必要性,因此大大减小
了系统内的通信带宽)。
以将这样的会话信息作为针对一个或多个当前登录的用户(包括当前发起会话的相应的用
户)中的每个当前登录的用户的会话管理信息存储在会话管理信息内存部分中。
控制器)之前将相应的有效载荷嵌入到访问请求中或访问请求上。
定资源组、将资源添加到资源组或从资源组中移除资源,和/或通过重新限定用户角色和/
或与用户或用户角色相关联的活动或活动组,和/或通过重新限定活动组,将活动添加到活
动组或从活动组中移除活动,和/或通过改变用户访问控制配置文件中的访问级别等),授
权设备/模块可以相应地通知UIC(例如,通过通知消息)。
新,例如通过请求重新创建和/或更新相关联的有效载荷和/或访问控制配置文件信息。
问控制配置文件的受影响的用户的这样新接收到的访问请求中/之上。
前登录的用户受到影响后,UIC可以立即更新(或请求更新)这些用户的会话信息。例如,UIC
可以针对受影响的登录用户指示所存储的会话信息和有效载荷是“过期的”,并且当接收到
来自该用户的新的访问请求时,可以创建新的有效载荷(例如通过UIC请求从授权模块/设
备创建新的有效载荷)。此外,在其他示例性实施方式中,所有受影响的用户的会话信息和
有效载荷可以在从授权模块/设备接收到已经做出改变的通知时被更新/重新创建。
了会话。访问请求可以指示在要访问的数据存储系统的一个或多个存储资源上存储的一个
或多个数据结构(即,在一个存储资源上存储的该一个或多个数据结构通过所接收到的访
问请求被请求访问)。
活动。
策略、复制策略、镜像策略、备份策略等,例如,涉及将数据结构的数据全部、部分或以修改
的方式从源节点复制到目的地节点或从源数据存储资源复制到目的地数据存储资源的数
据保护操作的执行,例如限定源节点和目标节点、设置策略(例如,应将哪些数据在什么时
间、以什么频率或基于事件的哪种发生从哪里复制到哪里)。
机(资源处理控制器),例如通过基于访问请求确定负责管理和/或控制相应的目标节点和/
或目标存储资源和/或要访问的目标数据结构的相应的存储处理机(资源处理控制器)。
入的有效载荷的访问请求从UIC发送至所确定的负责的存储处理机(资源处理控制器),以
由负责的存储处理机(资源控制处理器)进一步处理。
备/模块处重置这种修改。为了及时反映这样的潜在改变(无需在每次接收到访问请求时执
行授权处理),在一些示例性实施方式中,UIC可以管理指示当前登录的用户及其有效载荷
和/或访问控制配置文件的会话信息,并且UIC可以基于从授权设备/模块接收到的配置改
变的通知来更新相应的会话数据,以被配置为保留已更新的有效载荷信息并针对来自正在
进行的会话的用户的请求嵌入已更新的有效载荷。
联的其他信息的重置或重新配置或改变而已经被改变。
信息,UIC通过确定存储在会话管理信息中的访问控制配置文件和/或有效载荷来确定受影
响的用户。
在步骤S48中,UIC相应地更新会话管理信息。
影响用户的访问控制配置文件信息的改变的已更新有效载荷。
是否受到访问控制配置文件信息的最新改变的影响,例如参见图5C,或者,仅在从受影响的
用户接收到另一个访问请求时,才在接收到该访问请求时重新创建/更新该用户的有效载
荷,例如参见图5D和图5E。
联的其他信息的重置或重新配置或改变而已经被改变。
了会话。访问请求可以指示在要访问的数据存储系统的一个或多个存储资源上存储的一个
或多个数据结构(即,在一个存储资源上存储的该一个或多个数据结构通过所接收到的访
问请求被请求访问)。
例如通过参考与该相应的用户相关联的先前创建的有效载荷和/或相应的用户的相关联的
访问控制配置文件。例如,基于通知消息和针对相应的用户存储的访问控制配置文件信息,
UIC确定相应的用户是否受到改变的影响。
影响的用户更新会话管理信息。
问控制配置文件信息的改变的已更新有效载荷。然后,处理继续类似于上述图5A的步骤
S42、S43和S44。
联的其他信息的重置或重新配置或改变而已经被改变。
息,UIC通过确定存储在会话管理信息中的访问控制配置文件和/或有效载荷来确定受影响
的用户。
(“过期的”),并且可以针对所确定的一个或多个受影响的用户登记先前创建的有效载荷为
“过期的”。这样的优点是,不必为所有受影响的用户立即重新创建有效载荷,并且仅在需要
时才重新创建有效载荷,例如参见图5E。
了会话。访问请求可以指示在要访问的数据存储系统的一个或多个存储资源上存储的一个
或多个数据结构(即,在一个存储资源上存储的该一个或多个数据结构通过所接收到的访
问请求被请求访问)。
确定相应的用户是否受到任何通知消息中指示的任何最近更改的影响。
影响的用户更新会话管理信息。
问控制配置文件信息的改变的已更新有效载荷。然后,处理继续类似于上述图5A或图5C的
步骤S43和S44。
户的访问请求带有指示与特定的用户相关联的访问控制配置文件信息的嵌入的有效载荷。
息。
需进一步查询UIC)。
相关联的用户是否被允许/许可访问所确定的要访问的一个或多个存储资源。如果步骤S64
返回“否”,则停止访问处理,避免执行所请求的访问请求,并且处理结束(例如,通过将拒绝
或错误消息发送至UIC)。
关联的用户被允许/许可访问所确定的一个或多个存储资源。而且,如果所确定的一个或多
个存储资源未被包括在与相应的用户相关联的访问控制配置文件信息中指示的资源组中,
则存储处理机(资源处理控制器)可以确定与访问请求相关联的用户不被允许/许可访问所
确定的一个或多个存储资源。
联的用户是否被允许/许可执行或请求执行所确定的要执行的一个或多个活动。如果步骤
S66返回“否”,则停止访问处理,避免执行所请求的访问请求,并且处理结束(例如,通过将
拒绝或错误消息发送至UIC)。
关联的访问控制配置文件信息中被指示,则存储处理机(资源处理控制器)可以确定与访问
请求相关联的用户被允许/许可执行或请求所确定的一个或多个活动。此外,如果所确定的
一个或多个活动未被包括在与相应的用户相关联的访问控制配置文件信息中指示的任何
活动组中,和/或如果所确定的一个或多个活动本身未在与相应的用户相关联的访问控制
配置文件信息中被指示,则存储处理机(资源处理控制器)可以确定与访问请求相关联的用
户不被允许/许可执行或请求所确定的一个或多个活动。
确定与访问请求相关联的用户是否被允许/许可访问确定的要访问的存储资源上的一个或
多个数据结构。如果步骤S68返回“否”,则停止访问处理,避免执行所请求的访问请求,并且
处理结束(例如,通过将拒绝或错误消息发送至UIC)。
息中针对存储相应的一个或多个数据结构的存储资源的资源组指示的访问级别,来确定与
访问请求相关联的用户是否被允许/许可访问所确定的一个或多个数据结构。
访问所请求的一个或多个存储资源以在一个或多个所请求的数据结构上执行一个或多个
所请求的活动。
许的活动组的一个或多个活动)和一个或多个资源组以及针对该资源组所指定的访问级别
的影响。换言之,优选系统确定是否允许用户在确定的存储资源上执行所请求的活动。
可能不允许在存储节点N2上执行活动A1。因此,在图6B的示例性流程图中的相同步骤S68’
中示例性地做出这些确定。
中发送的),该用户的访问请求带有指示与特定的用户相关联的访问控制配置文件信息的
嵌入的有效载荷。
息。
数据结构上执行步骤S65的确定的活动。如前所述,步骤S68’的确定取决于与用户相关联的
一个或多个访问控制配置文件,并且基于允许的活动和/或允许的活动组和资源组以及用
户的一个或多个访问控制配置文件的信息中的资源组的访问级别来执行步骤S68’。
的一个或多个存储资源以在一个或多个所请求的数据结构上执行一个或多个所请求的活
动。
组(包括逻辑卷、虚拟卷),并且数据结构中的数据可以通过基于文件的存储结构、基于块的
存储结构或基于对象的存储结构进行存储。
构”是用户可访问的(和/或应用程序可访问的),以基于应用程序访问和/或用户访问(特别
是独立于另一个数据结构)读取和写入数据或将数据添加到相应的数据结构中。
完全记载(story)相关联的“初级数据结构”的数据副本。例如,如果“初级数据结构”的数据
(和/或“初级数据结构”的数据的元数据)出于数据保护目的而被部分或完全地复制,例如
作为复制件、镜像副本、备份、快照等,则“初级数据结构”的这种部分或完全复制件、镜像副
本、备份和/或快照被称为特定的“初级数据结构”的相应的“次级数据结构”。
数据、源数据的类型(例如,“初级数据结构”的类型,例如复制件、镜像副本、备份、快照等)
以及操作策略(例如,应创建和/或更新次级数据结构的事件发生时间、频率间隔或位置)。
存储数据库DB1,节点N3示例性地存储数据库DB2。节点N4示例性地存储数据库DB3和归档库
AR1。
如文件系统中某些文件的备份副本或其元数据的备份副本。
或其元数据的副本或部分副本等。
BU4的备份BU10存储在存储库R1中,将备份BU5的备份BU11存储在存储库R2中,并将备份BU7
的备份BU12存储在存储库R2中。
所有者存储资源。
结构元数据还可以指示与相应的父级和/或所有者存储资源或数据结构相关联的租户
(tenant),例如租户ID的形式,以仅允许指示的租户的用户的访问。
结构元数据还可以指示与相应的父级和/或所有者存储资源或数据结构相关联的租户,例
如租户ID的形式,以仅允许指示的租户的用户的访问。
结构元数据还可以指示与相应的父级和/或所有者存储资源或数据结构相关联的租户,例
如租户ID的形式,以仅允许指示的租户的用户的访问。
结构元数据还可以指示与相应的父级和/或所有者存储资源或数据结构相关联的租户,例
如租户ID的形式,以仅允许指示的租户的用户的访问。
结构元数据还可以指示与相应的父级和/或所有者存储资源或数据结构相关联的租户,例
如租户ID的形式,以仅允许指示的租户的用户的访问。
结构元数据还可以指示与相应的父级和/或所有者存储资源或数据结构相关联的租户,例
如租户ID的形式,以仅允许指示的租户的用户的访问。
结构元数据还可以指示与相应的父级和/或所有者存储资源或数据结构相关联的租户,例
如租户ID的形式,以仅允许指示的租户的用户的访问。
结构元数据还可以指示与相应的父级和/或所有者存储资源或数据结构相关联的租户,例
如租户ID的形式,以仅允许指示的租户的用户的访问。
结构元数据还可以指示与相应的父级和/或所有者存储资源或数据结构相关联的租户,例
如租户ID的形式,以仅允许指示的租户的用户的访问。
结构元数据还可以指示与相应的父级和/或所有者存储资源或数据结构相关联的租户,例
如租户ID的形式,以仅允许指示的租户的用户的访问。
结构元数据还可以指示与相应的父级和/或所有者存储资源或数据结构相关联的租户,例
如租户ID的形式,以仅允许指示的租户的用户的访问。
结构元数据还可以指示与相应的父级和/或所有者存储资源或数据结构相关联的租户,例
如租户ID的形式,以仅允许指示的租户的用户的访问。
户,例如租户ID的形式,以仅允许指示的租户的用户的访问。
上的数据结构)。
FS2以及节点N2上的数据库DB1,因为节点N1和N2包括在相应的资源节点N1中。
相应的用户可以访问级别存储资源、特别是这样的存储资源上的次级数据结构。因此,优选
地,访问控制配置文件中的每个资源组都被赋予访问级别。
存储资源上访问次级数据结构,该次级数据结构的相应的所有者数据存储结构包括在根据
访问控制信息许可与相应的用户账户相关联的用户对其进行用户访问的特定的资源组中。
换言之,当在与用户相关联的访问控制配置文件中为特定的资源组指定了第一访问级别
时,用户能够访问来自同一特定的资源组中的存储资源的次级数据结构(例如,在图7中的
资源组RG1具有第一访问级别的情况下,用户将能够看到BU1、BU2和BU3(因为它们来自N1和
N2),但是用户将看不到BU4);
储资源上访问与由该用户当前登录的节点提供的所有者数据存储资源相关联的次级数据
结构,特别是在相应的相关联的所有者数据存储资源包括在根据访问控制信息许可与相应
的用户账户相关联的用户对其进行用户访问的特定的资源组中的条件下。换言之,当在与
用户相关联的访问控制配置文件中为特定的资源组指定了第二访问级别时,用户能够访问
来自用户登录到的存储资源的次级数据结构(例如,在图7中的资源组RG1具有第二访问级
别的情况下,在节点N1登录的用户将能够看到BU1,但是看不到BU2、BU3和BU4,但是如果同
一用户在节点N2处登录,则他们将能够看到BU2和BU3,但看不到BU1和BU4);以及
的次级数据结构,而与相应的相关联的所有者数据存储资源是否包括在根据访问控制信息
许可与相应的用户账户相关联的用户对其进行用户访问的资源组中无关。换言之,当在与
用户相关联的访问控制配置文件中为特定的资源组指定了第三访问级别时,用户能够访问
该特定的资源组中任何存储资源上的所有次级数据结构(例如,在图7中的资源组RG1具有
第三访问级别的情况下,用户将能够看到R1上的所有数据结构(BU1、BU2、BU3和BU4),因为
R1被授予FULL访问权限。
R1上的所有次级数据结构,包括BU1、BU2、BU3,尤其是包括BU4,但是备份BU4是未被包括在
用户的关联资源组RG1中的节点(节点N3)上的初级数据结构(FS3)的备份副本。
绝任何访问请求。
级数据结构BU1、BU2、BU3,因为其所有者存储资源被提供在用户的资源组RG1中所包括的存
储资源(节点N1和N2)上。
问备份BU4。此外,该用户无法访问存储库R2和R3上的任何次级数据结构,因为这些存储库
R2和R3未被包括在资源组RG1中,并且将基于访问控制拒绝任何访问请求。
级数据结构BU1,因为用户当前登录到其所有者存储资源(节点N1)上。
RG1中,但是用户仍然无法访问存储库R1上的那些备份BU2和BU3,因为该用户当前未登录到
节点N2中,而节点N2是备份BU2和BU3的所有者存储资源。
访问备份BU4。此外,该用户无法访问存储库R2和R3上的任何次级数据结构,因为这些存储
库R2和R3未被包括在资源组RG1中,并且将基于访问控制拒绝任何访问请求。
被包括在资源组RG2中。而且,用户无法访问节点N6和存储库R2上的任何次级数据结构,因
为它们也未被包括在资源组RG2中。
(由于其所有者存储资源是节点N1,未被包括在资源组RG2中)和存储库R3上的备份BU12(因
为其所有者存储资源是节点N4,未被包括在资源组RG2中)的数据结构。
录的节点N2作为所有者存储资源的次级数据结构。
被包括在资源组RG3中。而且,用户无法访问节点N5和存储库R1上的任何次级数据结构,因
为它们也未被包括在资源组RG3中。
库R2和R3上的特定的次级数据结构。
(因为其所有者存储资源是节点N2,未被包括在资源组RG3中)的数据结构。
登录的节点N3作为所有者存储资源的次级数据结构。
在资源组RG4中。而且,用户无法访问节点N5和存储库R1以及节点N6和存储库R2上的任何次
级数据结构,因为它们也未被包括在资源组RG4中。
级数据结构。
用户只能访问存储库R3上的备份BU9的数据结构,因为这是存储库R3上唯一的具有被包括
在资源组RG4中的所有者存储资源的次级数据结构。
据结构。例如,如果将具有图7中的资源组RG1的第二访问级别的用户在存储节点N4处登录,
则该用户将不会看到R1中的任何次级数据结构。
或指示用于访问基于初级数据结构创建的次级数据结构的不同访问级别的访问控制配置
文件。而且,这些访问控制方案可以可靠地和有效地与基于角色的访问控制(RBAC)和活动
许可结合,例如,基于与访问控制配置文件相关联的活动组和/或活动。这样的方面还可以
与租户区分方案一起进行限定,以允许用户基于租户访问数据存储资源。
或资源处理控制器)的管理中保留数据结构的元数据,可以有利地在分布式系统中提供分
散的访问控制方案,其降低了中央授权模块/设备或用户接口管理设备/模块(例如在其示
例性实施方式中的示例性UIC(用户接口控制器))处所需的通信带宽和处理负担。
和/或任何其他设备)或它们的组合来实施。
件和硬件方面的实施方式的形式。此外,本发明的实施方式可以采取计算机可读介质上的
计算机程序产品的形式,该计算机可读介质具有在该介质中实施的计算机可执行程序代
码。
而在另一方向上为对应的回复,或者由任一实体发起的对等通信(peer‑to‑peer
communication)),但是在某些情况下,活动不一定会双向发生。
回执从接收方到发送方,或者在传输之前建立连接并在传输之后终止连接)。因此,在特定
附图中用来表示特定活动的箭头类型是示例性的,不应视为限制性的。
每个块和/或流程图示和/或框图中的块的组合以及图形用户界面可以由计算机可执行程
序代码来实现。
器执行的程序代码产生用于实现流程图、框图的一个或多个块、附图和/或书面说明中指定
的功能/动作/输出的装置。
读存储器中的程序代码产生制品,包括实现流程图、框图的一个或多个块、附图和/或书面
说明中指定的功能/动作/输出的指令装置。
算机或其他可编程设备上执行的程序代码提供用于实现流程图、框图、附图和/或书面说明
中指定的功能/动作/输出的步骤。替代地,计算机程序实现的步骤或动作可以与操作员或
人工实现的步骤或动作组合,以便执行本发明的实施方式。
型,除非上下文另有要求。因此,装置可以包括但不限于桥、路由器、桥‑路由器(桥路器)、开
关、节点、服务器、计算机、电器或其他类型的装置。这样的装置通常包括一个或多个用于通
过通信网络进行通信的网络接口以及相应地配置为执行装置功能的处理器(例如,具有存
储器和其他外围设备和/或专用硬件的微处理器)。
术、数字技术、光学技术、无线技术(例如蓝牙)、联网技术和互联网络技术。
数据报、存储格(cell)或其他类型的通信消息。
扩展)或已知的或将来开发的其他协议。
逻辑块(例如,程序、模块、功能或子例程),而不改变总体结果或以其他方式脱离本发明的
真实范围。
脱离本发明的真实范围。
装置(例如,现场可编程门阵列(FPGA)或其他PLD)、分立部件、集成电路(例如,专用集成电
路(ASIC))一起使用的可编程逻辑或包括它们的任意组合的任何其他装置。实现所描述的
功能中的一些或全部的计算机程序逻辑通常作为一组计算机程序指令实现,该组计算机程
序指令被转换成计算机可执行形式,照此存储在计算机可读介质中,并由微处理器在操作
系统的控制下执行。实现某些或所有所述功能的基于硬件的逻辑可以使用一个或多个适当
配置的FPGA来实现。
链接器或定位器生成的形式)。
种操作系统或操作环境一起使用。源代码可以限定和使用各种数据结构和通信消息。源代
码可以是计算机可执行形式(例如,经由解释器),或者源代码可以被转换(例如,经由翻译
器、汇编器或编译器)成计算机可执行形式。
用于执行本发明的实施方式的操作的计算机程序代码也可以用常规的程序编程语言编写,
例如“C”编程语言或类似的编程语言。
在单个操作系统进程/线程下或在不同的操作系统进程/线程下运行。
不同的操作系统进程/线程下运行不同的计算机进程。
EEPROM或闪存可编程RAM)、磁性存储装置(例如软盘或固定磁盘)、光学存储装置(例如CD‑
ROM)、PC卡(例如PCMCIA卡)或其他存储装置中。
技术(例如,蓝牙)、联网技术和互联网技术。
或固定盘上)一起预加载,或从服务器或电子公告板通过通信系统(例如互联网或万维网)
分发。
助设计(CAD)、硬件描述语言(例如VHDL或AHDL)或PLD编程语言(例如PALASM、ABEL或CUPL)
进行设计、捕获、模拟或电子建档。
(ROM)、可擦可编程只读存储器(EPROM或闪速存储器)、光盘只读存储器(CD‑ROM)或其他光
学或磁性存储装置。
学存储装置(例如CD‑ROM)或其他内存装置。
牙)、网络技术和互联网络技术。
公告板通过通信系统(例如互联网或万维网)分发。当然,本发明的一些实施方式可以作为
软件(例如,计算机程序产品)和硬件两者的组合实现。本发明的其他实施方式完全作为硬
件实现或完全作为软件实现。
所述的特定的构造和布置,因为除了以上段落中所给出的构造和布置之外,可以进行各种
其他改变、组合、省略、修改和替代。
可以不同于本文具体描述的方式实践本发明。例如,除非另有明确说明,否则可以通过与本
文描述的顺序不同的顺序执行本文描述的处理的步骤,并且一个或多个步骤可以进行组
合、拆分,或者同时执行。