CN105373340A - 用于提供安全多租赁的系统、装置和方法 - Google Patents
用于提供安全多租赁的系统、装置和方法 Download PDFInfo
- Publication number
- CN105373340A CN105373340A CN201510477813.4A CN201510477813A CN105373340A CN 105373340 A CN105373340 A CN 105373340A CN 201510477813 A CN201510477813 A CN 201510477813A CN 105373340 A CN105373340 A CN 105373340A
- Authority
- CN
- China
- Prior art keywords
- user
- fsmo
- tuid
- authorized
- metadata repository
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0605—Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0637—Permissions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0665—Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2113—Multi-level security, e.g. mandatory access control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
- G06F3/0641—De-duplication techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/105—Multiple levels of security
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种在专用备份设备中提供安全多租赁的方法包括生成租户单元(Tu)集合,将文件系统管理对象(FSMO)以及用户与Tu进行关联。该方法进一步包括基于FSMO以及用户与Tu的关联维护协议配置元数据存储器。在一个实施例中,响应于来自第一用户的对第一Tu的第一FSMO进行存取的请求,该方法包括基于协议配置元数据存储器的信息确定第一用户是否被授权存取第一FSMO,以及响应于协议配置元数据存储器指示第一用户被授权存取第一FSMO,允许第一用户存取第一FSMO。
Description
技术领域
本发明的实施例一般性地涉及数据存储系统。特别地,本发明的实施方式涉及在专用备份设备(PBBA)中提供安全多租赁。
背景技术
多租赁指的是一种技术,在该技术中通过部署单个存储设备(如,专用备份设备(purposebuiltbackupappliance))来服务多个客户,每个客户将相同的存储设备用于它们的保护存储需求。支持多租赁的存储系统必须满足安全和隔离需求。在此,“安全和隔离需求”指的是在存储设备中每个客户的数据集必须被保护并与其他客户的数据集隔离需求。安全和隔离需求适用于数据存取。例如,客户必须不能读取或写入属于另一个客户的数据集。安全和隔离需求也可指控制存取。例如,一个客户的管理员必须不能执行对属于另一客户的数据集的系统配置、监视等。因此,虽然客户可共享相同的存储设备以进行其数据集的备份、恢复或复制,但是没有客户能意识到存储设备中其他客户的存在。
除了安全和隔离需求,在单个存储设备上部署多租赁还存在其他一些明显的问题。例如,传统的PBBA在其操作系统中并未包括系统管理员可追踪每个客户的系统资源分配和使用的机制。在PBBA上、特别是在服务提供商(SP)环境中部署多租赁,同样出现管理标度(administrativescaling)的问题。例如,如果数十或数百用户被部署在同一个PBBA中,并且如果所有这些客户的自己的管理员都不可以执行自管理,则对于每个管理需求,这些客户将依赖系统管理员。因而,系统管理员会面对如客户数量增加的问题。
传统的存储设备并不原生地支持多租赁以便满足安全和隔离需求。如图1所示,专用备份设备(PBBA)101已被部署了两个客户,如客户A和客户B。PBBA101包括文件系统管理对象(FSMO)110-113。FSMO110-111被分配给客户A,FSMO112-113被分配给客户B。然而,传统的PBBA101并不原生地提供FSMO110-111与客户B安全的隔离以及FSMO112-113与客户A安全的隔离的机制。进一步的,传统的PBBA101并不提供每个客户具有其自己的可以仅管理仅属于该客户的对象的管理员的机制。因而,所有的管理必须由单个系统管理员来执行。为了使客户A和客户B管理其各自的所分配的FSMO,必须向客户A和客户B二者提供系统管理员102的凭证。在这种场景下,每个客户将能够存取和管理属于其他客户的数据集。或者,所有系统配置和管理可由第三方执行,而无需向客户A和客户B提供系统管理员102的凭证。但是该方法在PBBA被部署给多个客户的情况下并不可行。因而,需要一种通过在其操作系统中提供保护和隔离每个客户的数据集的机制来原生的支持多租赁的存储系统。
附图说明
本发明的实施例通过示例的方式示出且并不受限于附图中的图,在附图中类似的附图标记指示类似的元件。
图1示出了传统存储系统的框图。
图2示出了根据本发明一个实施例的存储系统的框图。
图3示出了根据本发明一个实施例的存储系统的框图。
图4示出了根据本发明一个实施例的存储系统的框图。
图5示出了根据本发明一个实施例的存储系统的框图。
图6示出了根据一个实施例的生成租户单元的方法的流程图。
图7示出了根据一个实施例的移除租户单元的方法的流程图。
图8示出了根据一个实施例的重命名租户单元的方法的流程图。
图9示出了根据一个实施例是将FSMO和租户单元关联/去关联的方法的流程图。
图10示出了根据一个实施例的将用户和租户单元关联/去关联的方法的流程图。
图11示出了确定是否可以执行自服务控制操作的方法的流程图。
图12示出了确定是否可以存取租户单元的统计的方法的流程图。
图13示出了确定是否可以执行数据存取的方法的流程图。
图14示出了根据本发明一个实施例的存储系统的框图。
具体实施方式
通过参考随后讨论的细节,本发明的各种实施例和方面将被描述,而且附图将示例性说明各种实施例。如下描述和附图仅是本发明的示例性说明,并不对本发明构成限制。通过对多个特定细节进行描述以提供对本发明各种实施例的完整理解。然而,在一些实例中,已知或传统的细节未被描述以提供对本发明实施例的简洁讨论。
说明书中引用的“一个实施例”或“实施例”指的是结合该实施例描述的特定特征、结构或特性可被包含在本发明的至少一个实施例中。在说明书多个地方出现的短语“在一个实施例中”均无需都指同一个实施例。
括号中的文字和具有破折号边界的框(如,大破折号、小破折号、点状破折号、点)可在此被使用以表示向本发明的实施例添加附加特征的可选操作。然而,该符号不应意味着在本发明的某些实施例中这些是唯一选择或可选的操作,和/或具有实线边界的框是不可选择的。
在后续说明书和权利要求书中,术语“耦接的”和“连接的”以及他们的衍生物可被使用。应当理解的是,这些术语并不是同义词。“耦接的”被用于指示两个或多个元件可或可不直接物理的或电气的相互联系、合作或交互。“连接的”被用于指示在互相耦合的两个或多个元件之间建立通信。
在此描述了向租户提供具有安全和隔离的SMT的技术。图2示出了根据实施例的存储系统(如,PBBA)的框图。在该示例中,存储系统204已经将FSMO210-211与租户单元(Tu)A关联,将FSMO212-213与TuB关联。如在此使用的,Tu指的是用于在操作系统中提供安全和隔离的抽象的最高单元。Tu还作为用于分配和追踪租户的资源使用的最高抽象。在此,FSMO指的是呈现租户唯一的并且自含的命名空间的存储分配的单元。每个租户可被分配一个或多个FSMO。租户单元A和租户单元B已经被分别指定了Tu名称TuA和TuB。TuA被分配给租户A,TuB被分配给租户B。如这里使用的,租户可为大企业(如,财务部门,市场部门等)中的商业单元。租户同样可指的是一个企业(如,当存储设备由服务提供商部署时)。TuA和TuB分别已经被指派了Tu-IDA和Tu-IDB的TuID。FSMO210-213分别已经被指派了FSMO-ID10-FSMO-ID12的FSMOID。进一步的,FSMO210-213分别已经被指派了FSMO路径“/mtree10”-“/mtree13”。这些ID和路径只是为了示例的目的被示出,并不旨在限制本发明。在整个说明书中将参考图2所示的配置。在整个说明书中,参考针对用户、Tu和FSMO的ID。应当理解的是这些ID是全局唯一ID(UUID)。
与传统PBBA相反,本发明的存储系统204只允许租户A接入与其租户单元关联的FSMO(如FSMO210-211),并只允许租户B接入与其租户单元关联的FSMO(如FSMO212-213)。租户A和B可使用多种协议接入FSMO210-213。例如,租户A和B可使用以下协议来接入FSMO210-213:1)DDBoost协议(可向麻州Hopkinton的公司购买),在该种情况下FSMO210-213被称为“存储单元”,2)网络文件系统(NFS)或通用互联网文件系统(CIFS)协议,在该种情况下FSMO210-213被称为Mtree,3)虚拟磁带库(tapelibrary)(VTL)协议,在该种情况下FSMO210-213被称为Vdisk。在不脱离本发明范畴和精神的情况下还可使用多种其他的协议。
进一步的,通过使用本发明的机制,存储系统204使租户A和B能具有其各自的租户管理员,并因此无需依赖系统管理员202。如在此使用的,系统管理员是被授权在存储系统中执行所有操作的管理员。另一方面,租户管理员只是被授权执行系统管理员可用操作的子集。租户管理员与系统管理员的区别还在于,租户管理员仅能接入与该租户管理员已被分配的TU关联的对象。本发明的多种机制将通过其他后续图的描述而变得清晰。
图3示出了根据本发明一个实施例的存储系统的框图。例如,存储系统304可作为存储系统204的一部分来实施。参考图3,系统300包括但不限于,经由网络303与存储系统304通信的耦合的一个或多个客户端系统301-302。客户端301-302可为任何类型的客户端,如服务器、个人计算机(如,台式机、膝上电脑以及平板电脑)、“瘦”客户端、个人数字助理(PDA)、web使能设备、游戏设备、媒体播放器或移动电话(如,智能手机)等。网络303可为任何类型的网络,如局域网(LAN)、如因特网的广域网(WAN)、企业内部网、城域网(MAN)、存储区域网(SAN)、总线或其组合、有线或无线。例如,客户端301可代表第一租户(示为租户A),客户端302代表第二租户(示为租户B)。在图3中,为了简化,每个租户由一个客户端代表。应当理解的是,每个租户可通过多个客户端接入存储系统304
存储系统304可包含任何类型的服务器或服务器簇。例如,存储系统304可仿真用于任何不同目的的存储服务器,比如向多个用户提供对共享数据的存取和/或备份关键任务数据。存储系统304可为,例如,文件服务器(如,提供网络附属存储(networkattachedstorage)(NAS)功能的设备)、基于块的存储服务器(如,用于提供SAN功能)、统一存储设备(如,将NAS和SAN功能组合的设备)、近线(nearline)(也被称为存档)存储设备、直连附属存储(directattachedstorage)(DAS)设备、磁带备份设备或本质上其他任何类型的数据存储设备。存储系统304可以具有分布式构架或所有其组件可集成到单个单元中。存储系统304可作为存档(如扩展保留层)和/或备份系统(如可向麻州Hopkinton的公司购买的重复数据删除存储系统)的一部分而被实施。
在一个实施例中,存储系统304包括但不限于,备份/恢复引擎306、重复数据删除存储引擎307、和一个或多个互相通信的耦合的存储设备308-309。存储设备308-309可经由可为总线和/或网络的互联320在本地(如,单节点操作环境)或远程(如,多节点操作环境)而被实施。在一个实施例中,存储设备308-309中的一个起主动存储的作用以接收和存储外部或新用户数据,同时,另一个存储设备起目标存储设备的作用以根据存档策略或方案周期性地存档来自主动存储设备的数据。存储设备308-309可以是,例如,传统的磁盘、如CD-ROM或基于DVD的存储器的光盘、磁带存储器、磁光(MO)存储媒介、固态盘、基于闪存的设备、或任何其他类型适于存储大数据卷的非易失性存储设备。存储设备308-309也可以是这些设备的组合。在盘存储媒介的情况下,存储设备308-309可被组织到廉价磁盘冗余阵列(redundantarrayofinexpensivedisk)(RAID)的一个或多个卷中。
响应于数据文件将被存储到存储设备308-309,重复数据删除存储引擎307被配置成根据多种分割策略或规则将该数据文件分割成多个块。如果某个块已经事先存储在存储设备中,则重复数据删除存储引擎307可选择不将该块存储在存储设备中。在重复数据删除存储引擎307选择不将该块存储在存储设备中的情况下,它存储元数据以使得能够使用之前存储的块重建所述文件。结果是,数据文件的块以重复数据删除的方式被存储在或者每个存储设备308-309中或者至少一些存储设备308-309中。存储在存储设备中的数据可以以压缩的形式存储(如,无损压缩:霍夫曼编码、lempel-zivwelch编码;增量编码:对块加上差异的引用;等)。在一个实施例中,不同的存储设备可使用不同的压缩方法(如,主或主动存储设备与其他存储设备的压缩方法不同,一个存储设备与另一存储设备的压缩方法不同等)。
元数据,如元数据310-311,可存储在存储设备308-309中的至少一些存储设备中,如此可独立于其他的存储设备而存取文件。每个存储设备的元数据包括充足的信息以提供对其包含的文件的存取。在一个实施例中,元数据可包括包含在数据对象312-313中的指纹,其中数据对象可表征数据块、数据块的压缩区域(CR)、或一个或多个CR的容器。指纹经由元数据310-311被映射到特定数据对象,以使系统能识别包含由特定指纹表征的块的数据对象的位置。当主动存储设备失效,包含在其他存储设备中的元数据可被用于恢复该主动存储设备。当一个存储设备不可用(如,该存储设备已失效或正被升级等),该系统保持提供对未存储在失效存储设备中的任何文件的存取。当文件被删除时,该系统中与文件关联的元数据被更新以反映那个文件已被删除。
在一个实施例中,元数据信息包括文件名、存储与文件名关联的块的存储设备、使用块的文件的重建信息、以及任何其他合适的元数据信息。在一个实施例中,元数据的副本被存储在针对存储在存储设备上的文件的存储设备上,以便存储在存储设备上的文件可通过仅使用存储在存储设备上的信息而被存取。在一个实施例中,在主元数据丢失、破坏、损坏等情况下,元数据信息的主集合可通过使用与存储系统关联的其他存储设备的信息而被重建。针对存储设备的元数据可通过使用存储在主存储设备或其他存储设备(如,副本存储设备)上的元数据信息而被重建。元数据信息进一步包括索引信息(如,块在存储设备中的位置信息,用于标识特定的数据对象)。
在一个实施例中,如图3所示的存储系统可用作包含其他存储器层的存储器层次结构中的存储器层。该层次结构中的一个或多个存储器层可以利用不同种类的存储设备和/或可为了不同特性,如随机更新性能,而被优化。可基于数据管理策略而周期性的在层之间移动文件以实现与文件的当前存储需求的划算匹配。例如,文件可初始存储在提供高性能读写的存储器层中。当文件老化时,其可根据本发明一个实施例被移动到某存储器层中。在多个实施例中,层包括不同存储技术(如,磁带、硬驱动、基于半导体的存储器、光驱动器,等)、不同的位置(如,本地计算机存储器、本地网络存储器、远程网络存储器、分布式存储器、云存储器、归档存储器、仓库存储器,等)、或任何其他合适的用于分层数据存储系统的存储器。
根据一个实施例,备份/恢复引擎306负责将来自远程客户端(如,客户端301-302)的数据备份到一个或多个本地存储设备(如,存储设备308-309)。备份/恢复引擎306还负责将来自一个或多个本地存储设备的数据恢复和/或复制到远程客户端。
在一个实施例中,存储系统包括配置成向每个租户提供安全和隔离的SMT引擎315。例如,SMT引擎315被配置以通过管理各种配置元数据而将Tu分配给租户。协议引擎317被配置以使用这些配置元数据来确定租户是否可以执行对存储系统304处的FSMO的数据存取。基于角色的存取控制(RBAC)316被配置成使用配置元数据来确定租户是否可执行对存储系统304处的FSMO和各种其他资源的控制存取。
图4示出了根据一个实施例的存储系统的数据路径的框图。图4中的存储系统与图3中的存储系统相似。然而,在图4中省略了某些细节以避免使本发明模糊不清。进一步的,在图4中增加了某些细节以更好的阐释本发明。图4应当参考图2示出的示例而被描述。即,租户单元A和租户单元B分别被分配给租户A和租户B。租户单元A和租户单元B分别与Tu名TuA和TuB关联。TuA代表FSMO210-211,TuB代表FSMO212-213。TuA和TuB分别与TuIDTu-IDA和Tu-IDB关联,FSMO210-213分别与FSMOIDFSMO-ID10-FSMO-ID14关联。进一步的,FSMO210-213分别与FSMO路径“mtree10”-“mtree13”关联。
现在参考图4。在一个实施例中,DM405被配置成管理DM配置元数据存储器425以将FSMOID关联/映射到FSMO路径。在一个实施例中,DM配置元数据存储器425包括,但不限于,一个或多个元素集合。每个集合包括,但不限于,元素{FSMOID,路径}。在图4中,一个元素集合示为:{FSMOID471,路径472}。FSMOID471包含FSMO的ID。路径472包含FSMO的路径。在一些实施例中,用户指定的FSMO名字(如,作为接入FSMO的请求的一部分)与DM405要求的FSMO路径的格式相同。在一些替代的实施例中,指定的FSMO名字可能需要被转换成FSMO路径。如在此使用的,“指定的FSMO名字”指的是由用户指定的作为接入FSMO的用户请求的一部分的FSMO名字。例如,在协议引擎317(随后进一步描述)支持的一些协议中,指定的FSMO名字与FSMO路径相同。在其他协议中,指定的FSMO名字必须转换成FSMO路径以使DM405知道其作为路径。在这样的示例中,指定的FSMO名字必须结合预定路径(如“/data/col1”)而预先考虑以使其与DM405理解的路径格式保持一致。每个元素集合将FSMOID与FSMO路径相关联。因而,在该示例中,DM405可将FSMOID471配置成包括FSMO-ID10以及将路径472配置成包括路径“/mtree10”(或“/data/col1/mtree10”)。应当理解的是,DM配置元数据存储器425包括用于系统中每个FSMO的至少一个元素集合{FSMOID,路径}。DM配置元数据存储器425也可经由系统配置接口(未示出)而由系统管理员进行管理。
根据一个实施例,系统管理员通过经由系统配置接口配置SMT配置元数据存储器410将Tu关联到租户用户/管理员。在一个实施例中,SMT配置元数据存储器410包括,但不限于,Tu配置元数据存储器422、安全配置元数据存储器423和名-服务配置元数据存储器424。
在一个实施例中,Tu配置元数据存储器422包括将Tu名字与TuID关联/映射的信息。Tu配置元数据存储器422包括,但不限于,一个或多个元素集合。每个集合包括,但不限于,元素{Tu名字,TuID}。在图4中,一个元素集合示为:{Tu名字430,TuID431}。Tu名字430包含Tu的名字。TuID431包含Tu的ID。每个元素集合将命名的Tu与识别的Tu进行关联。因而,在该示例中,系统管理员可将Tu名字430配置成包含名字“TuA”以及将TuID431配置成包含ID“Tu-IDA”。应当理解的是,Tu配置元数据存储器422包含用于系统中每个Tu的至少一个元素集合{Tu名字,TuID}。
虽然Tu配置元数据存储器422已被描述成由系统管理员进行配置,但应当理解的是,Tu配置元数据存储器422可通过使用其他机制而被配置。例如,当新Tu生成时,Tu配置元数据存储器422可自动地由SMT引擎315配置(在随后细节中进行描述)。
在一个实施例中,安全配置元数据存储器423包括,但不限于,一个或多个元素集合。每个集合包括,但不限于,元素{用户名字,用户ID,TuID,操作ID,用户角色}。在图4中,一个元素集合示为:{用户名字436,用户ID437,TuID438,操作ID439,用户角色440}。用户名字436包含用户的名字。用户ID437包含用户的ID。TuID438包含Tu的ID。操作ID439包含标识一个或多个操作的一个或多个ID。用户角色440包含用户的角色(如,系统管理员,租户管理员,租户用户,等)。每个元素集合将命名的/标识的用户与标识的Tu、用户角色和标识的操作集合关联起来。操作ID元素包括标识命名的/标识的用户可执行的一个或多个操作(例如,自服务操作)的一个或多个ID。用户角色元素允许存储系统304在请求用户为系统管理员时旁路控制存取请求期间的一些检查(随后详细描述)。在该示例中,系统管理员可将用户名字436配置成包含TuA管理员的名字,将用户ID437配置成包含TuA管理员的ID,将TuID438配置成包含“Tu-IDA”,以及将操作ID439配置成包含TuA管理员可执行的操作的ID。应当理解的是,安全配置元数据存储器423包括用于系统中每个用户的至少一个元素集合{用户名,用户ID,TuID,操作ID}。
虽然安全配置元数据存储器423已被描述成由系统管理员进行配置,应当理解的是,安全配置元数据存储器423可通过使用其他机制而被配置。例如,当新用户生成并与Tu关联时,配置元数据存储器423可自动地由SMT引擎315配置。
在一个实施例中,SMT引擎315通过配置DM属性存储器411将FSMO关联到Tu。在一个实施例中,DM属性存储器411包括,但不限于,一个或多个元素集合。每个集合包括,但不限于,元素{FSMOID,TuID}。在图4中,一个元素集合示为:{FSMOID455,TuID456}。FSMOID455包含一个或多个FSMO的一个或多个ID。TuID456包含Tu的ID。每个元素集合将标识的FSMO与标识的Tu相关联。在一个实施例中,响应于将FSMO与Tu关联的请求,SMT引擎315请求DM405提供指定的FSMO名字(如之前描述的,其或许需被转换成路径)的FSMOID。如在此使用的,“指定的FSMO名字”指的是由用户提供的作为将FSMO与Tu关联的请求的一部分的名字。作为请求的响应,DM405使用指定的FSMO名字/路径在DM配置元数据存储器425中查询关联的FSMOID。例如,DM405可确定路径472包含指定的FSMO名字/路径,并向SMT引擎315提供包含在关联的FSMOID元素471中的ID。在该示例中,路径472可包含路径“/mtree10”,FSMOID471可包含“FSMO-ID10”。
进一步的,响应于将FSMO关联到Tu的请求,SMT引擎315使用指定的Tu名字在Tu配置元数据存储器422中查询TuID。如在此使用的,“指定的Tu名字”指的是由用户提供的作为将FSMO与Tu关联的请求的一部分的名字。例如,响应于确定Tu名字430包含指定的Tu名字,SMT引擎315获取包含在关联的TuID431中的TuID。在该示例中,Tu名字430可包含“TuA”,TuID431可包含“Tu-IDA”。在一个实施例中,SMT引擎315通过经由DM属性接口(未示出)在DM属性存储器411中自动存储获取的FSMOID和获取的TuID来将指定的FSMO关联到指定的Tu。例如,SMT引擎315在FSMOID455中自动存储从FSMOID471获取的ID(如FSMO-ID10)以及在TuID456中自动存储从TuID431获取的ID(如Tu-IDA)。在该示例中,结果是FSMO210与TuA关联。应当理解的是,DM属性存储器411包括用于系统中每个FSMO的至少一个元素集合{FSMOID,TuID}。然而,元素TuID不包含有效ID,除非FSMO已被分配给(如关联到)Tu。
虽然DM属性存储器411已被描述为由SMT引擎315配置,但应当理解的是,可使用多种其他机制配置DM属性存储器411。例如,DM属性存储器411也可经由系统配置接口(未示出)由系统管理员进行配置。
根据一个实施例,SMT引擎315基于包含在安全配置元数据存储器423和DM属性存储器411中的元数据来更新协议配置元数据存储器412。另一方面,SMT引擎315可以在无需依赖DM属性存储器411和安全配置元数据存储器423的情况下,通过独立地使用与用于更新DM属性存储器411和安全配置元数据存储器423的机制相同的机制来更新协议配置元数据存储器412。进一步的,协议配置元数据存储器412可由系统管理员配置。
根据一个实施例,协议配置元数据存储器412包括,但不限于,一个或多个元素集合。每个集合包括,但不限于,元素{用户名,用户ID,TuID,FSMOID}。在图4中,一个元素集合示为:{用户名466,用户ID467,TuID468,FSMOID469}。用户名466包含用户的名字。用户ID467包含用户的ID。TuID包含Tu的ID。FSMOID469包含一个或多个FSMO的一个或多个ID。每个元素集合将命名的/标识的用户与标识的Tu关联,将标识的Tu与标识的FSMO关联。
根据一个实施例,SMT引擎315通过复制来自DM属性存储器411和安全配置元数据存储器423的信息来更新协议配置元数据存储器412。例如,安全配置元数据存储器423的元素436-438可被复制到协议配置元数据存储器412的元素466-468中。进一步的,SMT引擎315可使用TuID438或复制的TuID468来在DM属性存储器411中查询关联的FSMOID。在该示例中,TuID438或复制的TuID468与DM属性存储器411的TuID456匹配,因而,SMT引擎315确定FSMOID455与TuID438或复制的TuID468关联。响应于该确定,SMT引擎315复制FSMOID455到FSMOID469。因而,继续上述示例,用户名466现在包含TuA管理员的名字,用户ID467包含TuA管理员的用户ID,TuID468包含TuA,FSMOID469包含FSMO-ID10。结果是,TuA管理员与TuA关联并可以接入FSMO210。应理解的是,协议配置元数据存储器412包括用于系统中每个用户的至少一个元素集合{用户名,用户ID,TuID,FSMOID}。
在一个实施例中,存储系统304包括被配置成使用远程程序呼叫(RPC)协议接收来自一个或多个租户的一个或多个数据存取请求的协议接口401。在此,数据存取请求可以是读、写或复制请求。协议接口401处理所述请求的协议特定报头(protocol-specificheader)并在从所述请求中去除至少一些联网堆栈相关的信息之后将所述请求转发到协议引擎317。协议引擎317处理所述请求并将其转发到被实施为协议引擎317的一部分的协议服务器(未示出)。协议服务器可为,例如,网络文件系统(NFS)服务器、服务器消息块(SMB)服务器、通用互联网文件系统(CIFS)服务器、虚拟磁带库接口(VTL)服务器以及保护点服务器、DDBoost或它们的任何组合。协议引擎317的协议服务器通过验证发起请求的用户的凭证,如通过查询协议配置元数据存储器412,来认证数据存取请求。
协议引擎317的协议服务器通过查询协议配置元数据存储器412来确定是否授权用户存取数据,以确定用户被授权接入哪个(或哪些)FSMO。例如,协议服务器使用指定的用户名在协议配置元数据存储器412中查询关联的用户ID。如在此使用的,“指定的用户名”指的是用户提供的名字(如,作为登录过程的一部分或请求自身的一部分)。协议服务器随后使用确定的用户ID从协议配置元数据存储器412获取关联的TuID。协议服务器随后使用获取的TuID确定一个或多个关联的FSMOID。这些关联的ID标识用户被授权接入的FSMO。
举例来说,协议服务器可确定指定的用户名(如TuA数据存取用户的用户名)与用户名466中包含的用户名匹配,用户名466与用户ID467中包含的ID相关联。协议服务器使用包含在用户ID467中的用户ID来获取包含在关联的TuID468中的TuID。协议服务器使用TuID确定用户被授权接入由包含在关联的FSMOID469中的ID标识的FSMO。在示例中,FSMOID469包含FSMO-ID10。因而,TuA数据存取用户被授权接入FSMO210。
根据一个实施例,协议服务器随后确定正被请求接入的FSMO是否是授权FSMO中的一个。例如,协议服务器请求DM405提供与指定的FSMO名关联的FSMOID。例如,DM405可确定路径472包含指定的路径,并将FSMOID471中包含的FSMOID提供给协议服务器,该FSMOID标识正在对其进行请求的FSMO。
在一个实施例中,如果被请求的FSMO的FSMOID与用户被授权接入的FSMOID(如,FSMOID元素469中包含的FSMOID)中的一个匹配的话,协议服务器确定该用户被授权接入被请求的对象。响应于确定FSMOID469包含被请求FSMO的FSMOID,协议服务器同意所述接入请求。否则,协议服务器拒绝所述请求。应当注意到的是,一些实施例中,协议服务器可能不得不将指定的FSMO名字转换成FSMO路径,例如,通过结合预定路径(如,“/data/col1”)来预先考虑指定的FSMO名。在另一个实施例中,指定的FSMO名与DM405支持的FSMO路径相同。如之前所述,FSMOID元素(如,FSMOID元素469)包含标识用户被授权接入的一个或多个FSMO的一个或多个ID。在用户与多个FSMO关联的情况下,将被请求的FSMO和与请求用户关联的所有FSMO进行对比,如果存在任何匹配,数据存取请求被授权。
响应于确定用户被认证和被授权存取数据,协议服务器将请求转发到文件服务接口403。文件服务接口403请求DM405更新(或取回,这依赖于存取是写还是读)正被存取的文件涉及的元数据。DM405为存储在存储系统304中的文件的底层(underlying)重复数据删除后的分段维护文件摘要。DM405维护文件的所有元数据,包含文件名、文件ID和各种其他文件属性。
文件服务接口403随后请求内容存储器404执行被授权的请求。内容存储器404提供针对底层重复数据删除后的数据分段的流摘要。内容存储器404提供的流摘要确保分段局域性(segmentlocality),以提供数据存取的更好的吞吐量。在一个实施例中,内容存储器404被配置成基于多种规则或考虑将文件分成(在写存取的情况下)不同长度的分段。例如,可通过使用基于内容的技术(如,当函数等于某个值或当该值为最小值、最大值或与针对文件而计算的其他函数值相关的其他值时,该函数在文件的各种位置上被计算)、基于非内容的技术(如,基于分段的大小)或任何其他合适的技术来识别分段边界,而将文件分成分段。分段受最小和/或最大长度、每个文件的最小或最大分段数量或任何其他合适的限制的约束。
内容存储器404请求重复数据删除存储器引擎307执行数据存取,例如,在写入的情况下将文件的重复数据删除后的分段写入磁盘,或在读请求的情况下从磁盘中读取重复数据删除后的分段。注意,通过原生地支持多租赁,本发明能对来自于属于相同或不同租户的多个FSMO的数据进行重复数据删除,这会导致更有效的使用物理存储设备。例如,可对来自FSMO210(属于租户A)的数据和来自FSMO212(属于租户B)的数据进行重复数据删除。因而,在FSMO210与212间共有的数据分段的仅一个副本被实际存储在物理存储设备中。应当注意的是,这暗示着在FSMO级别上逻辑地提供了安全和隔离,而非在存储设备级别上物理地提供。
应注意到的是,在图4中被示为存储系统304的一部分的一些或所有组件可以以软件、硬件或其组合的方式实现。例如,一些或所有示出的组件可以可执行指令的方式实现,可执行指令可被存储在机器可读存储介质中,当可执行指令被执行时,将组件装载到存储系统304的操作系统中。图4所示的一些或所有组件也可作为永久性存储设备(如,存储设备308-309)的一部分而被存储。例如,协议配置元数据存储器412、DM属性存储器411和/或SMT配置元数据存储器410可作为永久性存储设备的一部分而被存储,并在运行期间被装载到内存。
图5示出了根据一个实施例的存储系统的控制路径的框图。图5所示的存储系统与图3所示的存储系统相似。然而,在图5中已经省略了某些细节以避免使本发明模糊不清。进一步的,在图5中增加了某些细节以更好的阐释本发明。图5应当参考图2示出的示例而被描述。即,租户单元A和租户单元B分别被分配给租户A和租户B。租户单元A和租户单元B分别与Tu名TuA和TuB关联。TuA代表FSMO210-211,TuB代表FSMO212-213。TuA和TuB分别与TuIDTu-IDA和Tu-IDB关联,FSMO210-213分别与FSMOIDFSMO-ID10-FSMO-ID14关联。进一步的,FSMO210-213分别与FSMO路径“mtree10”-“mtree13”关联。
现在参考图5,系统控制接口501使用远程程序呼叫(RPC)、超文本传输协议安全(HTTPS)、代表性状态转移(REST)协议(representationalstatetransferprotocol)或它们的任意组合接收来自一个或多个用户的一个或多个控制存取请求。在此,控制存取请求指的是对对象执行操作的请求。操作包括,但不限于:1)列出与租户单元关联的FSMO,2)列出与租户单元关联的FSMO的重复数据删除统计,3)列出与和租户单元关联的FSMO关联的文件/目录,4)将FSMO与/从租户单元关联/去关联,5)列出与租户单元关联的用户/组,6)将用户/组与/从租户单元关联/去关联,7)列出与租户单元关联的通告组(notificationgroup),以及8)将通告组与/从租户单元关联/去关联。
对象的定义依赖于正被请求的操作。例如,对象可以是:1)FSMO,2)用户/组(用户可以是本地用户(如,存储在存储系统的操作系统中的用户定义)、或名-服务用户(如现用目录(activedirectory)(AD)、网络信息服务(NIS)等);用户可被分类为管理用户(如,执行控制/管理操作的管理员)、或数据存取用户(如仅存取数据的用户);应注意到,组可在一些名服务,如AD、NIS中被定义,其中相同组可与具有租户管理员/租户用户角色的租户单元关联;如果任何用户登陆到作为该组的一部分的系统中,该用户将具有指定的租户管理员/租户用户角色),3)通告组,其包括但不限于告警分类与严重度列表以及电子邮件地址;查询通告组信息以确定当在系统中生成告警时向何处发送告警通告。
在一个实施例中,为了提供安全和隔离,请求用户可执行的控制操作依赖于她/他的角色。例如,系统管理员可执行所有操作,租户管理员仅可被授权对对象的子集执行操作的子集。租户用户可被允许仅执行租户管理员可用的操作的子集和/或对象的子集。角色可用的操作通过各种配置元数据来定义,随后进行详细描述。
响应于控制存取请求,系统控制接口501请求可插接认证模块(PAM)502对控制存取请求进行认证。PAM502处理认证请求,如果成功则将请求转发到基于角色的存取控制(RBAC)316。RBAC316基于存储系统304上存储的配置元数据确定是否授权请求用户对对象执行被请求的操作。
根据一个实施例,RBAC316通过使用指定的用户名查询安全配置元数据存储器423来确定请求用户的角色。例如,如果用户名元素436包含指定的用户名,RBAC316获取包含在关联的用户ID元素437中的ID。通过使用获取的用户ID,RBAC316确定关联的用户角色,在该示例中,该关联的用户角色包含在例如用户角色元素440中。如果RBAC316确定请求用户是系统管理员,RBAC316同意该请求而不进行进一步处理。否则,RBAC316确定是否授权请求租户管理员/用户执行自服务控制操作。在此,“自服务”控制操作指的是由租户管理员/用户请求的操作,与由系统管理员请求的操作相反。
为了确定自服务操作是否被授权,RBAC316使用用户ID(与指定的用户名关联)查询安全配置元数据存储器423以获取与用户关联的操作。继续上述示例,RBAC316使用获取的用户ID获取包含在关联的操作ID439中的ID。包含在操作ID439中的操作ID标识用户被授权执行的操作。
为了确定自服务操作是否被授权,RBAC316将被请求操作的ID与用户被授权执行的所有操作ID进行比较。被请求操作的ID可作为控制存取请求的一部分而被包含。如果被请求操作的ID与被授权操作ID中的至少一个相匹配,RBAC316确定用户被授权执行请求的操作。在确定用户被授权执行请求的操作之后,RBAC316确定用户是否被授权存取对其执行被请求的操作的对象。
在一个实施例中,为了确定用户是否被授权存取请求的对象,RBAC316使用用户ID(与指定的用户名关联)查询安全配置元数据存储器423以获取与用户关联的TuID。从安全配置元数据存储器423获取的TuID标识能由关联用户存取的Tu。RBAC316使用该获取的TuID来存取对象到Tu配置元数据存储器,该对象到Tu配置元数据存储器对应于与将对其执行所述操作的对象相同的对象类型。每个对象到Tu配置元数据存储器包括对象ID,该对象ID标识被授权存取关联Tu的用户能存取的对象。
存储系统304以分布式的方式存储对象到Tu的关联。举例来说,如果对象类型是FSMO,则对象到Tu关联被包含在DM属性存储器411中。对于其他对象类型,如通告组,对象到Tu关联被包含在各自的配置元数据(图5中未示出)中。
举例来说,假定对象为FSMO。在该情况下,RBAC316可确定用户ID437包含请求用户的ID,并从安全配置元数据存储器423获取包含在关联TuID元素438中的TuID。RBAC316随后使用获取的TuID在DM属性存储器411中查询对象到Tu关联。RBAC316可确定TuID元素456包含与从安全配置元数据存储器423获取的TuID相同的TuID。在该种情况下,RBAC316获取包含在关联FSMOID元素455中的FSMOID。在该示例中,FSMOID元素455包含标识用户可存取的所有FSMO(如,对象)的ID。RBAC316随后将从DM属性存储器411获取的FSMOID与请求的FSMO对象的ID进行比较。如之前所述,请求的FSMO的ID可由DM405提供。另一方面,请求的对象的FSMOID可作为用户请求的一部分而被包含。如果请求的对象的FSMOID与从DM属性存储器411获取的FSMOID中至少一个相匹配,则用户被授权存取请求的对象。响应于确定用户被授权执行请求的操作以及被授权存取将对其执行请求的操作的对象,RBAC316同意控制存取请求,否则,请求被拒绝。
图5已经描述了关于本地用户的情况。需要认识到的是,相同的机制等价地应用于名服务组。对于属于名服务组(如现用目录(AD)组或名信息服务(NIS)组)的用户,由PAM502按照现在的情况来处理认证。PAM商议nsswitch.conf并将认证请求重定向到合适的名服务器。经过认证,名服务配置元数据存储器424被商议确定与用户ID关联的名服务ID是否与租户单元关联。如果关联,PAM502同意该请求。
应注意到的是,在图5中被示为存储系统304的一部分的一些或所有组件可以以软件、硬件或其组合的方式实现。例如,一些或所有示出的组件可以可执行指令的方式实现,可执行指令可被存储在机器可读存储介质中,当可执行指令被执行时,将组件装载到存储系统304的操作系统中。图5所示的一些或所有组件也可作为永久性存储设备(如,存储设备308-309)的一部分而被存储。例如,协议配置元数据存储器512、DM属性存储器511和/或SMT配置元数据存储器510可作为永久性存储设备的一部分而被存储,并在运行期间被装载到内存。
图6示出了根据一个实施例的生成Tu的方法600的流程图。例如,方法600可由存储系统304执行。方法600可以软件、固件、硬件或其任意组合的方式实施。
现在参考图6。在框605处,存储系统接收生成租户单元的请求。例如,存储系统304从系统管理员处接收为租户A生成TuA的请求。在框607处,存储系统确定请求用户是系统管理员并通过转到框610来同意请求。例如,存储系统304确定与请求用户关联的用户角色元素(如,用户角色440)指明用户为系统管理员。在一个实施例中,只有系统管理员被授权生成Tu。因而,如果在框607处存储系统确定用户不是系统管理员,则请求被拒绝,方法600结束。
在框610处,存储系统确定指定的Tu名遵从预定的Tu命名约定。例如,存储系统304确定指定的Tu名“TuA”遵从之前已被配置为存储在存储系统304上的命名策略的一部分的Tu命名约定。
在框615处,存储系统确定具有相同名字的Tu在系统中尚不存在。例如,存储系统304在Tu配置元数据存储器422中进行迭代以确定没有Tu名元素包含名“TuA”。在框620处,存储系统为新Tu生成TuID。例如,存储系统304为新Tu生成UUID。在框625处,存储系统在Tu配置元数据存储器中自动存储生成的TuID和指定的Tu名。例如,存储系统304在Tu配置元数据存储器422的Tu名430中自动存储名“TuA”以及在TuID431中自动存储生成的UUID。
图7示出了根据一个实施例的从存储系统中移除Tu的方法700的流程图。例如,方法700可由存储系统304执行。方法700可以软件、固件、硬件或其任意组合的方式实施。
现在参考图7。在框705处,存储系统接收将Tu从存储系统移除的请求。例如,存储系统304从系统管理员处接收将TuA从系统移除的请求。在框707处,存储系统确定请求用户是系统管理员并通过转到框710来同意请求。例如,存储系统304确定与请求用户关联的用户角色元素(如,用户角色440)指明用户为系统管理员。在一个实施例中,只有系统管理员被授权移除Tu。因而,如果在框707处存储系统确定用户不是系统管理员,则请求被拒绝,方法700结束。
在框710处,存储系统确定指定的Tu名遵从预定的Tu命名约定。例如,存储系统304确定指定的Tu名“TuA”遵从之前已被配置为存储在存储系统304上的命名策略的一部分的Tu命名约定。
在框715处,存储系统确定具有相同名字的Tu在系统中存在。例如,存储系统304在Tu配置元数据存储器422中进行迭代以确定至少一个Tu名元素包含指定的名“TuA”。作为框715的一部分,存储系统从TuID元素获取TuID,该TuID元素与包含指定Tu名的Tu名元素关联。例如,响应于确定Tu名430包含指定名“TuA”,存储系统304从关联的TuID431获取ID。
在框720处,存储系统确定指定的Tu是否与任何保护存储资源或属性关联。例如,存储系统304在名服务配置元数据存储器424、安全配置元数据存储器423和DM属性存储器411中进行迭代以确定在框715处获取的TuID是否存在于TuID元素447、438和/或456中。在框725处,响应于确定在框715处获取的TuID与保护存储资源或属性相关联,存储系统拒绝移除Tu的请求。例如,响应于确定获取的TuID存在于TuID447、438和/或456中,存储系统304拒绝移除Tu的请求。
在框730处,响应于确定在框715获取的TuID不与任何保护存储资源或属性相关联,存储系统自动从Tu配置元数据存储器中移除指定的Tu名和关联的TuID。例如,响应于确定获取的TuID并不存在于TuID447、438或456中,存储系统304自动从Tu名430中移除“TuA”,从TuID431中移除ID。
图8示出了根据一个实施例的在存储系统中重命名Tu的方法800的流程图。例如,方法800可由存储系统304执行。方法800可以软件、固件、硬件或其任意组合的方式实施。
现在参考图8。在框805处,存储系统接收在存储系统中重命名Tu的请求。例如,存储系统304从系统管理员处接收将TuA重命名为TuC的请求。在框807处,存储系统确定请求用户是系统管理员并通过转到框810来同意请求。例如,存储系统304确定与请求用户关联的用户角色元素(如,用户角色440)指明用户为系统管理员。在一个实施例中,只有系统管理员被授权重命名Tu。因而,如果在框807处存储系统确定用户不是系统管理员,则请求被拒绝,方法800结束。
在框810处,存储系统确定指定的新Tu名遵从预定的Tu命名约定。例如,存储系统304确定指定的新名“TuC”遵从之前已被配置为存储在存储系统304上的命名策略的一部分的Tu命名约定。
在框815,存储系统确定指定的当前Tu名存在于系统中。例如,存储系统304在Tu配置元数据存储器422中进行迭代以确定至少一个Tu名元素包含指定的当前名“TuA”。作为框815的一部分,存储系统从与包含指定的当前Tu名的Tu名元素关联的TuID元素中获取TuID。例如,响应于确定Tu名元素430包含“TuA”,存储系统304获取包含在TuID元素431中的TuID。
在框820处,存储系统确定具有相同新Tu名的Tu在系统中尚不存在。例如,存储系统304在Tu配置元数据存储器422中迭代以确定没有Tu名元素包含新名“TuC”。在框825处,存储系统采用针对所获取的TuID的新Tu名来自动更新Tu配置元数据存储器。例如,存储系统304使用新名“TuC”来自动更新Tu名430以及使用其当前ID值来自动更新TuID431。
图9示出了根据一个实施例的在存储系统中将FSMO与/从Tu关联/去关联的方法900的流程图。例如,方法900可由存储系统304执行。方法900可以软件、固件、硬件或其任意组合的方式实施。
现在参考图9。在框905处,存储系统接收将FSMO与/从Tu关联/去关联的请求。例如,存储系统304从系统管理员处接收将FSMO210与/从TuA关联/去关联的请求。在框907处,存储系统确定请求用户是系统管理员并通过转到框910来同意请求。例如,存储系统304确定与请求用户关联的用户角色元素(如,用户角色440)指明用户为系统管理员。在一个实施例中,只有系统管理员被授权将FSMO与/从Tu关联/去关联。因而,如果在框907处存储系统确定用户不是系统管理员,则请求被拒绝,方法900结束。
在框910处,存储系统确定指定的FSMO名和指定的Tu名分别遵从预定的FSMO和Tu命名约定。例如,存储系统304确定指定的FSMO名“/mtree10”遵从FSMO命名约定,指定的Tu名“TuA”遵从之前已被配置为存储在存储系统304上的命名策略的一部分的Tu命名约定。
在一些实施例中,作为关联/去关联FSMO的请求的一部分的由系统管理员指定的FSMO名与存储系统要求的FSMO路径具有相同的格式。在其他实施例中,指定的FSMO名可能需要被转换成FSMO路径。例如,在协议引擎317支持的一些协议中,指定的FSMO名与FSMO路径相同。在其他协议中,指定的FSMO名必须转换成FSMO路径以使DM405理解其是路径。在一个该种示例中,指定的FSMO名必须采用预定路径(如“/data/col1”)进行预先考虑,以与DM405理解的路径格式保持一致。因此,在可选的框915处,存储系统将指定FSMO名转换成针对指定FSMO名的FSMO路径(如,通过预先考虑“/data/col1”)。
在框920处,存储系统确定指定的FSMO和Tu在系统中存在。例如,DM405可使用指定的FSMO路径查询DM配置元数据存储器425以确定指定的FSMO是否存在于系统中。在进一步的示例中,SMT引擎315可使用指定的Tu名查询Tu配置元数据存储器422以确定指定的Tu是否存在于系统中。
在框925处,存储系统从Tu配置元数据存储器中获取用于指定的Tu名的TuID。例如,SMT引擎315可确定Tu名元素430包含指定的Tu名,并获取包含在关联的TuID元素431中的TuID。
在框930处,存储系统使用指定的FSMO路径从DM获取FSMOID。例如,DM405可确定路径元素472包含指定的路径(如,被指定为请求的一部分的路径),并获取包含在关联的FSMOID元素471中的ID。
应注意到,框920是可选的,这是由于系统中指定的FSMO和Tu的存在也由框925和930进行验证。换句话说,FSMOID和TuID可被获取的事实确认了系统中FSMO和Tu的存在。无论如何,在框920处确定存在的优点在于需要更少的资源。例如,为了确定FSMO是否存在,DM405可仅仅查询哈希表并确定FSMO是否存在。然而,为了取回ID,DM405不得不到达B+树的叶级页并取回ID。因而,在FSMO或Tu不存在的情况下,通过无需尝试获取相应的ID,资源可被节省。
在框935处,存储系统确定请求是关联还是去关联FSMO。在框940处,响应于确定请求是将FSMO与Tu进行关联,存储系统通过DM属性接口将获取的TuID自动存储为针对获取的FSMOID的DM属性。例如,DM405将FSMOID(在框930处获取)存储在FSMOID455中并将TuID(在框925处获取)存储在TuID456中。在框945处,存储系统自动更新协议配置元数据存储器以包含针对TuID和FSMOID。例如,DM405将FSMOID(在框930处获取)存储在FSMOID469中并将TuID(在框925处获取)存储在TuID468中。结果是,指定的FSMO被关联到指定的Tu。
在框950,响应于确定请求是将FSMO与Tu去关联,存储系统通过DM属性接口自动移除作为针对获取的FSMOID的DM属性的获取的TuID。例如,DM405将FSMOID(在框930处获取)从FSMOID455中移除并将TuID(在框925处获取)从TuID456中移除。在框955处,存储系统自动更新协议配置元数据存储器以移除针对TuID的FSMOID。例如,DM405将FSMOID从FSMOID469中移除。结果是,指定的FSMO不再与指定的Tu的关联。
图10示出了根据一个实施例的将用户与/从Tu关联/去关联的方法1000的流程图。例如,方法1000可由存储系统304执行。方法1000可以软件、固件、硬件或其任意组合的方式实施。
现在参考图10。在框1005处,存储系统接收将用户与/从Tu关联/去关联的请求。例如,存储系统304从系统管理员处接收将用户与/从TuA关联/去关联的请求。在框1007处,存储系统确定请求用户是系统管理员并通过转到框1010来同意请求。例如,存储系统304确定与请求用户关联的用户角色元素(如,用户角色440)指明用户为系统管理员。在一个实施例中,只有系统管理员被授权将用户与/从Tu关联/去关联。因而,如果在框1007处存储系统确定用户不是系统管理员,则请求被拒绝,方法1000结束。
在框1010处,存储系统确定指定的用户名和指定的Tu名分别遵从预定的用户和Tu命名约定。例如,存储系统304确定指定的用户名遵从用户命名约定,指定的Tu名“TuA”遵从之前已被配置为存储在存储系统304上的命名策略的一部分的Tu命名约定。
在框1020处,存储系统确定指定的用户和Tu在系统中存在。例如,存储系统304可使用指定的用户名查询安全配置元数据存储器423以确定指定的用户是否存在于系统中。在进一步的示例中,存储系统304可使用指定的Tu名查询Tu配置元数据存储器422以确定指定的Tu是否存在于系统中。
在框1025处,存储系统从Tu配置元数据存储器中获取用于指定的Tu名的TuID。例如,存储系统304可确定Tu名元素430包含被指定为请求的一部分的Tu名,并获取包含在关联的TuID元素431中的TuID。
在框1030处,存储系统从安全配置元数据存储器中获取用于指定的用户名的用户ID。例如,存储系统304可确定用户名436包含被指定为请求的一部分的用户名,并获取包含在关联的用户ID437中的用户ID。
应注意到,框1020是可选的,这是由于系统中指定的用户和Tu的存在也由框1025和1030进行验证。换句话说,用户ID和TuID可被获取的事实确认了系统中用户和Tu的存在。无论如何,在框1020处确定存在的优点在于需要更少的资源。例如,为了确定用户是否存在,存储系统304可简答地查询哈希表并确定用户是否存在。然而,为了取回ID,存储系统304不得不到达B+树的叶级页并取回ID。因而,在用户或Tu不存在的情况下,通过无需尝试获取相应的ID,资源可被节省。
在框1035处,存储系统确定请求是关联还是去关联用户。在框1040处,响应于确定请求是将用户与Tu进行关联,存储系统自动更新安全配置元数据存储器以包含用户ID和TuID。例如,存储系统304更新安全配置元数据存储器423,以在用户名436中包含指定的用户名、在用户ID437中包含获取的用户ID以及在TuID438中包含获取的TuID。
在可选框1045处,存储系统自动更新协议配置元数据存储器以包含TuID及用户ID。例如,存储系统304更新协议配置元数据存储器412以在用户名466中包含指定的用户名、在用户ID467中包含获取的用户ID以及在TuID468中包含获取的TuID。在此应注意的是,如果将被关联/去关联的用户是数据存取用户,则框1045处的操作可被执行。
在框1050处,响应于确定请求是从Tu去关联用户,存储系统自动更新安全配置元数据存储器以从用户ID移除TuID。例如,假设用户名436包含指定的用户名,存储系统304更新安全配置元数据存储器423以从TuID438处移除TuID。存储系统304也可以选择性的从用户名436处移除用户名以及从用户ID437处移除用户ID。
在可选框1055处,存储系统自动更新协议配置元数据存储器以从用户ID移除TuID。例如,假设用户名466包含指定的用户名,存储系统304更新协议配置元数据存储器412以从TuID468处移除TuID。存储系统304也可以选择性的从用户名466处移除用户名以及从用户ID467处移除用户ID。在此应注意的是,如果将被关联/去关联的用户是数据存取用户,则框1055处的操作可被执行。
图11示出了根据一个实施例的用于确定租户管理员/用户(在此称为用户)是否被授权在存储系统中执行自服务操作的方法1100的流程图。例如,方法1100可由存储系统304执行。方法1100可以软件、固件、硬件或其任意组合的方式实施。“自服务”操作指的是由租户管理员/用户请求的操作,而不是由系统管理员请求的操作。因而,在一个实施例中,方法1100假设请求用户已经被确定为租户管理员/用户。
现在参考图11。在框1105处,存储系统从用户接收对Tu执行自服务操作的请求。在框1110处,存储系统从安全配置元数据存储器获取用于指定的用户名的用户ID。例如,存储系统304可确定用户名436包含指定的用户名并获取包含在关联的用户ID437中的用户ID。
在框1115处,存储系统从安全配置元数据存储器获取与获取的用户ID关联的TuID。例如,存储系统304可确定用户ID437包含获取的用户ID,并获取包含在关联的TuID438中的TuID。
在框1120处,存储系统使用获取的用户ID从安全配置元数据存储器中获取操作ID,其中,从安全配置元数据存储器中获取的操作ID标识指定的用户被授权执行的操作。例如,存储系统304可确定用户ID437包含获取的用户ID并获取包含在关联的操作ID439中的操作ID。在框1123处,存储系统使用获取的TuID从对应于请求的对象类型的对象到Tu配置元数据存储器获取对象ID,其中,从对应的对象到Tu配置元数据存储器获取的对象ID标识指定的用户被授权存取的对象。例如,假设对象类型为FSMO,存储系统304可确定TuID456包含在框1115处获取的TuID,并获取包含在关联的FSMOID455中的FSMOID。这些FSMOID标识用户被授权存取的所有FSMO(如,对象)。
在框1125处,存储系统确定请求的操作的操作ID是否与任何获取的授权的操作ID相匹配。作为框1125的一部分,存储系统也确定请求的对象的对象ID是否与任何获取的授权的对象ID相匹配。
例如,存储系统304将请求的操作的操作ID与在框1120处获取的操作ID相比较。如果至少有一个匹配,存储系统304确定用户被授权执行请求的操作。否则,存储系统304确定用户不被授权执行请求的操作。进一步举例来说,存储系统304也将请求的对象的ID与从框1125处获取的对象ID进行比较。如果至少有一个匹配,则存储系统304确定用户被授权存取请求的对象。否则,存储系统304确定用户不被授权存取请求的对象。在一个实施例中,请求的操作的ID作为请求的一部分而被提供。请求的操作的ID可使用任何机制获取。在一个实施例中,请求的对象的ID作为请求的一部分而被提供。请求的对象的ID可使用任何机制获取。
响应于确定用户被授权执行请求的操作并也被授权存取将对其执行所述操作的对象,存储系统转移到框1130并同意请求。否则,存储系统转移到框1135并拒绝请求。
图12示出了根据一个实施例的用于确定租户管理员/用户(在此称为用户)是否被授权存取存储系统中Tu的统计的方法1200的流程图。例如,方法1200可由存储系统304执行。方法1200可以软件、固件、硬件或其任意组合的方式实施。
现在参考图12。在框1205处,存储系统接收来自用户的存取Tu的统计的请求。在框1207处,存储系统确定请求用户是否是系统管理员。响应于确定用户不是系统管理员,存储系统转移到框1210。在框1210,存储系统确定租户管理员/用户是否被授权执行请求的操作以及是否也被授权存取将对其执行所述操作的对象。例如,框1210可使用与方法1100中描述的操作相似的操作来实现。
在框1210,响应于确定租户管理员/用户不被授权执行操作或不被授权存将对其执行所述操作的对象,存储系统转移到框1215并拒绝请求。另一方面,响应于确定租户管理员/用户被授权执行操作并被授权存取将对其执行所述操作的对象,存储系统同意请求并转移到框1220。
现在回到框1207。响应于确定用户是系统管理员,存储系统同意请求并转移到1220。在框1220处,存储系统确定指定的Tu名遵从预定Tu命名约定。在框1225处,存储系统确定指定的Tu存在于系统中。在1230处,存储系统从配置元数据存储器获取用于指定的Tu名的TuID。例如,SMT引擎315可确定Tu名元素430包含指定的Tu名,并获取包含在关联的TuID元素431中的TuID。
在框1235,存储系统从DM属性存储器获取与TuID关联的FSMO。例如,存储系统304可确定TuID456包含在框1230处获取的TuID,并获取包含在FSMOID455中的FSMOID。在框1240处,存储系统获取与由在框1235处获取的FSMOID标识的FSMO关联的统计(如,配额、使用、性能等)。在框1245处,存储系统向请求用户提供统计,如,经由图形用户接口(GUI)。
图13示出了根据一个实施例的用于确定用户是否被授权存取存储系统处的Tu的数据的方法1300的流程图。例如,方法1300可由存储系统304执行。方法1300可以软件、固件、硬件或其任意组合的方式实施。
现在参考图13。在框1305,存储系统接收来自用户的存取Tu的数据的请求。在此,数据存取可为写、读或复制操作。在框1310处,存储系统从协议配置元数据存储器获取用于指定的用户名的用户ID。例如,存储系统304可确定用户名466包含指定的用户名,并且获取包含在关联的用户ID467中的用户ID。
在框1315处,存储系统从协议配置元数据存储器获取与获取的用户ID关联的TuID。例如,存储系统304可确定用户ID467包含获取的用户ID,并获取包含在关联的TuID468中的TuID。
在框1320处,存储系统使用指定的FSMO路径从DM获取FSMOID。例如,DM405可确定路径元素472包含指定的路径(如,被指定为请求的一部分的路径)并获取包含在关联的FSMOID元素471中的ID。
在框1325处,存储系统确定协议配置元数据存储器是否指示与和用户ID关联的TuID关联的FSMOID与从DM获取的FSMOID匹配。例如,DM405可确定路径472包含指定的FSMO路径,并获取包含在关联的FSMOID元素471中的ID。假定用户ID元素467包含在框1310处获取的用户ID。在该示例中,存储系统304将包含在FSMOID471中的ID与包含在FSMOID469中的所有ID进行比较。如果有至少一个匹配,存储系统304确定协议配置元数据存储器412指示用户被授权存取来自指定的FSMO的数据,并转移到框1330处以允许存取。否则,存储系统转移到框1335处并拒绝存取来自指定FSMO的数据的请求。
图14示出了根据一个实施例的SMT生态系统的框图。例如,存储系统1401可作为存储系统304的一部分而被实施。在所示示例中,存储系统1401已分配了四个Tu:TuA,TuB,TuC以及TuD。TuA包括可由NetBackup(NBU)系统1410使用数据存取协议(如DDBoost协议)存取的FSMOA。TuB包括可由Networker系统1411使用数据存取协议(如DDBoost协议)存取的FSMOB-1。TuB还包括可由Networker系统1412使用数据存取协议(如CIFS协议)存取的FSMOB-2。TuC包括可由Avamar系统1413使用数据存取协议(如DDBoost协议)存取的FSMOC。TuD包括可由应用引导(AppDirect)系统1414使用数据存取协议(如DDBoost协议)存取的FSMOD。虽然客户端系统1410-1414都正在使用之前描述的机制存取相同的存储系统1401,但是存储系统1401阻止每个客户端存取属于其他客户端的Tu。与传统多租赁存储系统相反的是,本发明的存储系统1401允许为每个Tu生成一个管理员。如图所示,TuA、TuB、TuC以及TuD分别由TuA管理员、TuB管理员、TuC管理员以及TuD管理员进行管理。
之前详细描述的一些部分已经按照对计算机存储器中数据位的操作的算法或符号表示的方式呈现。这些算法性描述和表示都是数据处理领域技术人员用来向本领域技术人员高效的传达他们的工作内容的方式。此处的算法通常被认为是能够导致期望结果的有条理的一系列操作。这些操作是需要物理量的物理操作的操作。
应当意识到的是,所有这些或相似的术语都与适当的物理量相关联,并仅仅是应用到这些量的方便标记。除非特别强调,否则如之前讨论的,应当注意的是,在整个说明书中,利用诸如权利要求书中阐明的术语的讨论指的是计算机系统或相似电子计算设备的动作和过程,这些动作和过程操纵并将被表示为计算机系统的寄存器和存储器中的物理(电子)量的数据转换为被类似地表示为计算机系统存储器或寄存器或其他信息存储设备、传输或显示装置中的物理量的其他数据。
本发明的实施例也涉及执行本申请的操作的装置。此种计算机程序存储于非暂态计算机可读介质中。机器可读介质包括任何用于以机器(如,计算机)可读形式存储信息的机制。例如,机器可读(如,计算机可读)介质包括机器(如计算机)可读存储介质(如,只读存储器(“ROM”),随机存取存储器(“RAM”),磁盘存储介质,光存储介质,闪存设备)。
在之前附图中描述的过程或方法可通过处理逻辑的方式执行,所述处理逻辑包括硬件(如,电路,专用逻辑等)、软件(如,在非暂态计算机可读介质中体现的软件)或二者的组合。虽然这些过程或方法在上文中从某些顺序操作方面进行描述,但是应当注意到的是,所描述的一些操作可以不同的顺序执行。并且,一些操作可并行的执行而不是顺序地执行。
本发明的实施例并不参考任何特定编程语言而被描述。应当注意到的是,可使用各种编程语言来实现这里描述的本发明实施例的教导。
在之前描述的说明书中,本发明的实施例已参考特定示例性实施例而被描述。显然,在不脱离权利要求书中阐明的本发明广泛范围及精神的情况下,可以对其进行各种修改。因此,说明书和附图应被认为是示例性说明而不是限制性的。
Claims (24)
1.一种在专用备份设备中提供安全多租赁的计算机实施的方法,该方法包括:
生成租户单元(TU)集合;
将一个或多个文件系统管理对象(FSMO)与所述TU集合中的一个或多个TU进行关联;
将一个或多个用户与所述TU集合中的一个或多个TU进行关联;
基于一个或多个FSMO与一个或多个TU的关联,以及进一步基于一个或多个用户与一个或多个TU的关联,来维护协议配置元数据存储器;
响应于来自第一用户的存取第一TU的第一FSMO的第一请求,基于所述协议配置元数据存储器的信息确定所述第一用户是否被授权存取所述第一FSMO,其中,所述协议配置元数据存储器包含标识具有一个或多个用户的第一集合的信息,以及对于所述具有一个或多个用户的第一集合的每个用户,所述协议配置元数据存储器包含标识所述用户被授权存取的具有一个或多个FSMO的集合的信息;以及
响应于所述协议配置元数据存储器指示所述第一用户被授权存取所述第一FSMO,允许所述第一用户存取所述第一FSMO。
2.如权利要求1所述方法,其中,确定所述第一用户是否被授权存取所述第一FSMO包括:
从所述协议配置元数据存储器获取与所述第一用户关联的第一TUID,其中,所述第一TUID标识所述第一TU;
从所述协议配置元数据存储器获取与所述第一TUID关联的具有一个或多个FSMOID的第一集合;以及
响应于确定标识被请求的第一FSMO的第一FSMOID与从所述协议配置元数据存储器获取的所述具有一个或多个FSMOID的第一集合的至少一个FSMOID匹配,确定所述第一用户被授权存取所述第一FSMO。
3.如权利要求1所述方法,该方法进一步包括:
响应于来自所述第一用户的对第一对象执行第一操作的第二请求,确定所述第一用户是否是系统管理员;以及
响应于确定所述第一用户不是系统管理员:
确定所述第一用户是否被授权执行所述第一操作;以及
确定所述第一用户是否被授权存取将对其执行所述第一操作的所述第一对象。
4.如权利要求3所述方法,其中,确定所述第一用户是否被授权执行所述第一操作包括:
从安全配置元数据存储器获取与所述第一用户关联的具有一个或多个操作ID的第一集合;
响应于确定标识被请求的第一操作的操作ID与从所述安全配置元数据存储器获取的所述具有一个或多个操作ID的第一集合中的至少一个操作ID匹配,确定所述第一用户被授权执行所述第一操作。
5.如权利要求3所述方法,其中,确定所述第一用户是否被授权存取将对其执行所述第一操作的所述第一对象包括:
从安全配置元数据存储器获取与所述第一用户关联的第二TUID;
从对象到TU配置元数据存储器获取与所述第二TUID关联的具有一个或多个对象ID的第一集合;
响应于确定标识所述第一对象的对象ID与从所述对象到TU配置元数据存储器获取的具有一个或多个对象ID的第一集合中的至少一个对象ID匹配,确定所述第一用户被授权存取将对其执行所述第一操作的所述第一对象。
6.如权利要求1所述方法,其中,生成租户单元集合包括通过以下步骤生成第二TU:
生成第三TUID,其中,所述第三TUID标识所述第二TU;以及
在TU配置元数据存储器中自动存储所述第二TU的TU名和生成的第三TUID。
7.如权利要求6所述方法,其中,将一个或多个TU与一个或多个FSMO关联包括通过以下步骤将第二FSMO与所述第二TU关联:
从所述TU配置元数据存储器获取所述第三TUID;
使用所述第二FSMO的FSMO名从目录管理器(DM)配置元数据存储器获取第二FSMOID;以及
在所述协议配置元数据存储器中自动存储所述第三TUID和所述第二FSMOID。
8.如权利要求6所述方法,其中将一个或多个用户与一个或多个TU进行关联包括通过以下步骤将第二用户与所示第二TU关联:
从所述TU配置元数据存储器获取所述第三TUID;
使用所述第二用户的用户名从安全配置元数据存储器获取第二用户ID;以及
在所述协议配置元数据存储器中自动存储所述第三TUID和所述第二用户ID。
9.一种提供安全多租赁的装置,该装置包括:
用于生成租户单元(TU)集合的模块;
用于将一个或多个文件系统管理对象(FSMO)与所述TU集合中的一个或多个TU进行关联的模块;
用于将一个或多个用户与所述TU集合中的一个或多个TU进行关联的模块;
用于基于一个或多个FSMO与一个或多个TU的关联以及进一步基于一个或多个用户与一个或多个TU的关联维护协议配置元数据存储器的模块;
响应于来自第一用户的存取第一TU的第一FSMO的第一请求,用于基于所述协议配置元数据存储器的信息确定所述第一用户是否被授权存取所述第一FSMO的模块,其中,所述协议配置元数据存储器包含标识具有一个或多个用户的第一集合的信息,以及对于所述具有一个或多个用户的第一集合的每个用户,所述协议配置元数据存储器包含标识所述用户被授权存取的具有一个或多个FSMO的集合的信息;以及
响应于所述协议配置元数据存储器指示所述第一用户被授权存取所述第一FSMO,用于允许所述第一用户存取所述第一FSMO的模块。
10.如权利要求9所述的装置,其中,用于确定所述第一用户是否被授权存取所述第一FSMO的模块包括:
用于从所述协议配置元数据存储器获取与所述第一用户关联的第一TUID的模块,其中,所述第一TUID标识所述第一TU;
从所述协议配置元数据存储器获取与所述第一TUID关联的具有一个或多个FSMOID的第一集合的模块;以及
用于响应于确定标识被请求的第一FSMO的第一FSMOID与从所述协议配置元数据存储器获取的所述具有一个或多个FSMOID的第一集合的至少一个FSMOID匹配而确定所述第一用户被授权存取所述第一FSMO的模块。
11.如权利要求9所述的装置,该装置进一步包括:
响应于来自所述第一用户的对第一对象执行第一操作的第二请求,用于确定所述第一用户是否是系统管理员的模块;以及
响应于确定所述第一用户不是系统管理员:
用于确定所述第一用户是否被授权执行所述第一操作的模块;以及
用于确定所述第一用户是否被授权存取将对其执行所述第一操作的所述第一对象的模块。
12.如权利要求11所述的装置,其中,用于确定所述第一用户是否被授权执行所述第一操作的模块包括:
用于从安全配置元数据存储器获取与所述第一用户关联的具有一个或多个操作ID的第一集合的模块;
用于响应于确定标识被请求的第一操作的操作ID与从所述安全配置元数据存储器获取的所述具有一个或多个操作ID的第一集合中的至少一个操作ID匹配而确定所述第一用户被授权执行所述第一操作的模块。
13.如权利要求11所述的装置,其中,用于确定所述第一用户是否被授权存取将对其执行所述第一操作的所述第一对象的模块包括:
用于从安全配置元数据存储器获取与所述第一用户关联的第二TUID的模块;
用于从对象到TU配置元数据存储器获取与所述第二TUID关联的具有一个或多个对象ID的第一集合的模块;
用于响应于确定标识所述第一对象的对象ID与从所述对象到TU配置元数据存储器获取的所述具有一个或多个对象ID的第一集合中的至少一个对象ID匹配而确定所述第一用户被授权存取将对其执行所述第一操作的所述第一对象的模块。
14.如权利要求9所述的装置,其中,用于生成租户单元集合的模块包括通过以下模块生成第二TU:
用于生成第三TUID的模块,其中,所述第三TUID标识所述第二TU;以及
用于在TU配置元数据存储器中自动存储所述第二TU的TU名和生成的第三TUID的模块。
15.如权利要求14所述的装置,其中,用于将一个或多个TU与一个或多个FSMO关联的模块包括通过以下模块将第二FSMO与所述第二TU关联:
用于从所述TU配置元数据存储器获取所述第三TUID的模块;
用于使用所述第二FSMO的FSMO名从目录管理器(DM)配置元数据存储器获取第二FSMOID的模块;以及
用于在所述协议配置元数据存储器中自动存储所述第三TUID和所述第二FSMOID的模块。
16.如权利要求14所述的装置,其中用于将一个或多个用户与一个或多个TU进行关联的模块包括通过以下模块将第二用户与所述第二TU关联:
用于从所述TU配置元数据存储器获取所述第三TUID的模块;
用于使用所述第二用户的用户名从安全配置元数据存储器获取第二用户ID的模块;以及
用于在所述协议配置元数据存储器中自动存储所述第三TUID和所述第二用户ID的模块。
17.一种提供安全多租赁的专用备份设备(PBBA),该PBBA包括:
具有一个或多个处理器的集合;以及
包含代码的非暂态机器可读存储介质,当由所述具有一个或多个处理器的集合执行所述代码时,促使所述PBBA执行包括以下操作的操作:
生成租户单元(TU)集合;
将一个或多个文件系统管理对象(FSMO)与所述TU集合中的一个或多个TU进行关联;
将一个或多个用户与所述TU集合中的一个或多个TU进行关联;
基于一个或多个FSMO与一个或多个TU的关联以及进一步基于一个或多个用户与一个或多个TU的关联来维护协议配置元数据存储器;
响应于来自第一用户的存取第一TU的第一FSMO的第一请求,基于所述协议配置元数据存储器的信息确定所述第一用户是否被授权存取所述第一FSMO,其中,所述协议配置元数据存储器包含标识具有一个或多个用户的第一集合的信息,以及对于所述具有一个或多个用户的第一集合的每个用户,所述协议配置元数据存储器包含标识所述用户被授权存取的具有一个或多个FSMO的集合的信息;以及
响应于所述协议配置元数据存储器指示所述第一用户被授权存取所述第一FSMO,允许所述第一用户存取所述第一FSMO。
18.如权利要求17所述PBBA,其中,确定所述第一用户是否被授权存取所述第一FSMO包括:
从所述协议配置元数据存储器获取与所述第一用户关联的第一TUID,其中,所述第一TUID标识所述第一TU;
从所述协议配置元数据存储器获取与所述第一TUID关联的具有一个或多个FSMOID的第一集合;以及
响应于确定标识被请求的第一FSMO的第一FSMOID与从所述协议配置元数据存储器获取的所述具有一个或多个FSMOID的第一集合的至少一个FSMOID匹配,确定所述第一用户被授权存取所述第一FSMO。
19.如权利要求17所述PBBA,其中所述操作进一步包括:
响应于来自所述第一用户的对第一对象执行第一操作的第二请求,确定所述第一用户是否是系统管理员;以及
响应于确定所述第一用户不是系统管理员:
确定所述第一用户是否被授权执行所述第一操作;以及
确定所述第一用户是否被授权存取将对其执行所述第一操作的所述第一对象。
20.如权利要求19所述PBBA,其中,确定所述第一用户是否被授权执行所述第一操作包括:
从安全配置元数据存储器获取与所述第一用户关联的具有一个或多个操作ID的第一集合;
响应于确定标识被请求的第一操作的操作ID与从所述安全配置元数据存储器获取的所述具有一个或多个操作ID的第一集合中的至少一个操作ID匹配,确定所述第一用户被授权执行所述第一操作。
21.如权利要求19所述PBBA,其中,确定所述第一用户是否被授权存取将对其执行所述第一操作的所述第一对象包括:
从安全配置元数据存储器获取与所述第一用户关联的第二TUID;
从对象到TU配置元数据存储器获取与所述第二TUID关联的具有一个或多个对象ID的第一集合;
响应于确定标识所述第一对象的对象ID与从所述对象到TU配置元数据存储器获取的所述具有一个或多个对象ID的第一集合中的至少一个对象ID匹配,确定所述第一用户被授权存取将对其执行所述第一操作的所述第一对象。
22.如权利要求17所述PBBA,其中,生成租户单元集合包括通过以下步骤生成第二TU:
生成第三TUID,其中,所述第三TUID标识所述第二TU;以及
在TU配置元数据存储器中自动存储所述第二TU的TU名和生成的第三TUID。
23.如权利要求22所述PBBA,其中,将一个或多个TU与一个或多个FSMO关联包括通过以下步骤将第二FSMO与所示第二TU关联:
从所述TU配置元数据存储器获取所述第三TUID;
使用所述第二FSMO的FSMO名从目录管理器(DM)配置元数据存储器获取第二FSMOID;以及
在所述协议配置元数据存储器中自动存储所述第三TUID和所述第二FSMOID。
24.如权利要求22所述PBBA,其中将一个或多个用户与一个或多个TU进行关联包括通过以下步骤将第二用户与所示第二TU关联:
从所述TU配置元数据存储器获取所述第三TUID;
使用所述第二用户的用户名从安全配置元数据存储器获取第二用户ID;以及
在所述协议配置元数据存储器中自动存储所述第三TUID和所述第二用户ID。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/454,086 | 2014-08-07 | ||
US14/454,086 US9471803B2 (en) | 2014-08-07 | 2014-08-07 | System and method for secure multi-tenancy in an operating system of a storage system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105373340A true CN105373340A (zh) | 2016-03-02 |
CN105373340B CN105373340B (zh) | 2018-11-02 |
Family
ID=53794064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510477813.4A Active CN105373340B (zh) | 2014-08-07 | 2015-08-06 | 用于提供安全多租赁的系统、装置和方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US9471803B2 (zh) |
EP (1) | EP2983104A1 (zh) |
CN (1) | CN105373340B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108667867A (zh) * | 2017-03-29 | 2018-10-16 | 华为技术有限公司 | 数据存储方法及装置 |
CN108984110A (zh) * | 2018-05-24 | 2018-12-11 | 太仓鸿策腾达网络科技有限公司 | 一种远程数据拷贝系统 |
WO2023077970A1 (zh) * | 2021-11-04 | 2023-05-11 | 腾讯科技(深圳)有限公司 | 一种元数据的管理方法、相关装置、设备以及存储介质 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10003592B2 (en) * | 2014-05-05 | 2018-06-19 | Schneider Electric Software, Llc | Active directory for user authentication in a historization system |
US10038694B1 (en) * | 2016-03-30 | 2018-07-31 | EMC IP Holding Company LLC | System and method for security mode-based authorization for data management operations in a multi-tenant protection storage system |
US10404702B1 (en) * | 2016-03-30 | 2019-09-03 | EMC IP Holding Company LLC | System and method for tenant network identity-based authentication and authorization for administrative access in a protection storage system |
CN107819729B (zh) * | 2016-09-13 | 2021-06-25 | 腾讯科技(深圳)有限公司 | 一种数据请求方法及其系统、接入设备、存储设备和存储介质 |
US11658982B2 (en) * | 2017-10-06 | 2023-05-23 | Red Hat, Inc. | Efficient authentication in a file system with multiple security groups |
US10652206B1 (en) * | 2017-10-27 | 2020-05-12 | EMC IP Holding Company LLC | Storage system with network-wide configurable device names |
US12001688B2 (en) * | 2019-04-29 | 2024-06-04 | Pure Storage, Inc. | Utilizing data views to optimize secure data access in a storage system |
US11132230B2 (en) * | 2019-07-15 | 2021-09-28 | International Business Machines Corporation | Managing quality of service in a network file share environment |
US11695559B2 (en) * | 2019-09-30 | 2023-07-04 | Salesforce, Inc. | Nested tenancy that permits a hierarchy having a plurality of levels |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110106757A1 (en) * | 2009-10-30 | 2011-05-05 | Pickney David B | Fixed content storage within a partitioned content platform, with replication |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6766397B2 (en) | 2000-02-07 | 2004-07-20 | Emc Corporation | Controlling access to a storage device |
US6928526B1 (en) | 2002-12-20 | 2005-08-09 | Datadomain, Inc. | Efficient data storage system |
US20080059253A1 (en) * | 2004-03-08 | 2008-03-06 | Agilquest Corporation | System and method for managing workplace real estate and other resources |
US8762552B2 (en) | 2005-04-13 | 2014-06-24 | Brocade Communications Systems, Inc. | Fine granularity access control for a storage area network |
US20060277594A1 (en) * | 2005-06-02 | 2006-12-07 | International Business Machines Corporation | Policy implementation delegation |
US7676831B2 (en) * | 2005-09-08 | 2010-03-09 | International Business Machines Corporation | Role-based access control management for multiple heterogeneous application components |
US7504969B2 (en) | 2006-07-11 | 2009-03-17 | Data Domain, Inc. | Locality-based stream segmentation for data deduplication |
US20080120302A1 (en) | 2006-11-17 | 2008-05-22 | Thompson Timothy J | Resource level role based access control for storage management |
US8782047B2 (en) * | 2009-10-30 | 2014-07-15 | Hitachi Data Systems Corporation | Fixed content storage within a partitioned content platform using namespaces |
US8635184B2 (en) | 2009-06-25 | 2014-01-21 | Emc Corporation | System and method for providing long-term storage for data |
US8352941B1 (en) * | 2009-06-29 | 2013-01-08 | Emc Corporation | Scalable and secure high-level storage access for cloud computing platforms |
US8799322B2 (en) * | 2009-07-24 | 2014-08-05 | Cisco Technology, Inc. | Policy driven cloud storage management and cloud storage policy router |
CN102200977B (zh) * | 2010-03-23 | 2014-10-29 | 国际商业机器公司 | 多租户环境下扩展数据库表的方法和系统 |
US8473515B2 (en) * | 2010-05-10 | 2013-06-25 | International Business Machines Corporation | Multi-tenancy in database namespace |
US8429191B2 (en) | 2011-01-14 | 2013-04-23 | International Business Machines Corporation | Domain based isolation of objects |
US8751449B2 (en) * | 2011-04-04 | 2014-06-10 | Symantec Corporation | Managing performance within an enterprise object store file system |
US9244951B2 (en) * | 2012-03-08 | 2016-01-26 | International Business Machines Corporation | Managing tenant-specific data sets in a multi-tenant environment |
US20130304697A1 (en) * | 2012-05-09 | 2013-11-14 | Salesforce.Com, Inc. | System and method for cross-platform synchronization of data objects in a multi-tenant environment |
US9959423B2 (en) | 2012-07-30 | 2018-05-01 | Microsoft Technology Licensing, Llc | Security and data isolation for tenants in a business data system |
US9460474B2 (en) * | 2013-05-03 | 2016-10-04 | Salesforce.Com, Inc. | Providing access to a private resource in an enterprise social networking system |
US20150319103A1 (en) * | 2014-05-02 | 2015-11-05 | Ensim Corporation | User Access in a Multi-Tenant Cloud Environment |
-
2014
- 2014-08-07 US US14/454,086 patent/US9471803B2/en active Active
-
2015
- 2015-07-31 EP EP15179359.3A patent/EP2983104A1/en not_active Ceased
- 2015-08-06 CN CN201510477813.4A patent/CN105373340B/zh active Active
-
2016
- 2016-09-16 US US15/267,659 patent/US10289859B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110106757A1 (en) * | 2009-10-30 | 2011-05-05 | Pickney David B | Fixed content storage within a partitioned content platform, with replication |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108667867A (zh) * | 2017-03-29 | 2018-10-16 | 华为技术有限公司 | 数据存储方法及装置 |
US10972542B2 (en) | 2017-03-29 | 2021-04-06 | Huawei Technologies Co., Ltd. | Data storage method and apparatus |
CN108667867B (zh) * | 2017-03-29 | 2021-05-18 | 华为技术有限公司 | 数据存储方法及装置 |
US11575748B2 (en) | 2017-03-29 | 2023-02-07 | Huawei Technologies Co., Ltd. | Data storage method and apparatus for combining different data distribution policies |
CN108984110A (zh) * | 2018-05-24 | 2018-12-11 | 太仓鸿策腾达网络科技有限公司 | 一种远程数据拷贝系统 |
WO2023077970A1 (zh) * | 2021-11-04 | 2023-05-11 | 腾讯科技(深圳)有限公司 | 一种元数据的管理方法、相关装置、设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US9471803B2 (en) | 2016-10-18 |
US10289859B2 (en) | 2019-05-14 |
EP2983104A1 (en) | 2016-02-10 |
US20160042194A1 (en) | 2016-02-11 |
CN105373340B (zh) | 2018-11-02 |
US20170004322A1 (en) | 2017-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105373340A (zh) | 用于提供安全多租赁的系统、装置和方法 | |
US11829256B2 (en) | Data storage management system for holistic protection of cloud-based serverless applications in single cloud and across multi-cloud computing environments | |
US11294786B2 (en) | Management of internet of things devices | |
US10425480B2 (en) | Service plan tiering, protection, and rehydration strategies | |
JP5254611B2 (ja) | 固定内容分散データ記憶のためのメタデータ管理 | |
US20210019063A1 (en) | Utilizing data views to optimize secure data access in a storage system | |
US10922303B1 (en) | Early detection of corrupt data partition exports | |
US10521401B2 (en) | Data object lockdown | |
US11397749B2 (en) | Asynchronous replication of in-scope table data | |
CN103109292A (zh) | 在容错数据库管理系统中聚集查询结果的系统和方法 | |
US9600376B1 (en) | Backup and replication configuration using replication topology | |
CN109690494B (zh) | 系统存储装置中的分层容错 | |
US20210055885A1 (en) | Enhanced data access using composite data views | |
US20120159100A1 (en) | Storage device migration and redirection | |
US9398016B1 (en) | Cache-free and lock-free handling of security information for multiple distributed objects in protection storage systems | |
US20220214814A1 (en) | Cross-platform replication of logical units | |
US8117493B1 (en) | Fast recovery in data mirroring techniques | |
US10223545B1 (en) | System and method for creating security slices with storage system resources and related operations relevant in software defined/as-a-service models, on a purpose built backup appliance (PBBA)/protection storage appliance natively | |
US10587685B2 (en) | Cross-platform replication of logical units | |
US11531642B2 (en) | Synchronous object placement for information lifecycle management | |
US9971532B2 (en) | GUID partition table based hidden data store system | |
CN111381774B (zh) | 用于在分散式数据保护系统中归档数据的系统和方法 | |
Ratner | Better Object Storage With Hitachi Content Platform | |
US11520664B2 (en) | Metadata based data replication | |
US11687416B2 (en) | Data backup optimization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |