CN108696496B - 多协议访问控制方法及存储系统 - Google Patents
多协议访问控制方法及存储系统 Download PDFInfo
- Publication number
- CN108696496B CN108696496B CN201810054527.0A CN201810054527A CN108696496B CN 108696496 B CN108696496 B CN 108696496B CN 201810054527 A CN201810054527 A CN 201810054527A CN 108696496 B CN108696496 B CN 108696496B
- Authority
- CN
- China
- Prior art keywords
- acl
- protocol
- primary
- identity
- file
- 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.)
- Active
Links
Images
Classifications
-
- 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/101—Access control lists [ACL]
-
- 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
-
- 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/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/08—Access security
-
- 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/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
示例实现涉及多协议访问控制列表。在一个示例中,多协议访问控制列表(ACL)被维持在存储在文件存储中的对象的扩展属性中。多协议ACL包括与文件存储的主要协议相关联的格式的主要ACL和与次要协议相关联的格式的次要ACL。
Description
技术领域
本公开总体涉及多协议访问控制。
背景技术
数据中心可以包括储存系统。客户端设备可以通过网络连接来访问储存系统。客户端设备可以尝试访问存储在储存系统上的文件系统对象。储存系统可以使用访问控制列表来强制实施对由客户端设备尝试的访问的许可。
发明内容
根据本公开的一个方面,本公开涉及一种多协议访问控制方法,包括:由储存系统在存储在所述储存系统的文件存储中的对象的扩展属性中维持多协议访问控制列表ACL,所述多协议ACL包括呈与所述文件存储的主要协议相关联的格式的主要ACL和呈与次要协议相关联的格式的次要ACL;由所述储存系统将对所述多协议ACL的修改限制为经由所述主要协议对所述主要ACL的修改;和由所述储存系统将对所述主要ACL的修改同步到所述次要ACL。
根据本公开的另一方面,本公开涉及一种存储系统,包括:用于将文件对象存储在文件存储中的储存设备;文件存储管理引擎,用于:在存储在所述文件存储中的对象的扩展属性中维持持久多协议访问控制列表ACL,所述多协议ACL被格式化以保持呈与所述文件存储的主要协议相关联的格式的主要ACL以及呈与次要协议相关联的格式的次要ACL;将对所述多协议ACL的修改限制为经由所述主要协议对所述主要ACL的修改;以及将对所述主要ACL的修改同步到所述次要ACL。
根据本公开的还另一方面,本公开涉及一种存储能够由储存系统的处理资源执行的指令的非暂时性计算机可读介质,所述非暂时性机器可读介质包括:用于接收用于在所述储存系统的文件存储中创建对象的请求的指令,所述文件存储在主要协议下进行操作;以及响应于所述请求是次要协议而执行以下过程的指令:基于由所述请求所识别的父对象以所述主要协议原生的格式创建主要访问控制列表ACL,以及执行原子写入操作,所述原子写入操作将包含所述主要ACL并且无次要ACL的多协议ACL存储到所述对象的扩展属性。
附图说明
下面将参考以下附图来描述各种示例。
图1是描绘维持持久多协议访问控制列表(ACL)的示例系统的框图。
图2是描绘维持持久多协议ACL的另一示例系统的框图。
图3描绘了具有中间ACL的示例多协议ACL。
图4是描绘维持多协议ACL的示例方法的流程图。
图5是描绘响应于经由次要协议来创建对象的请求来创建主要ACL的示例方法的流程图。
图6是描绘对包括在主要ACL中的身份进行变换的示例方法的流程图。
图7是包括非暂时性机器可读介质的示例储存系统的框图,该非暂时性机器可读介质利用用于响应于次要协议的创建对象的请求来创建主要ACL的示例指令编码。
遍及整个附图,相同的附图标号可以表明相似但不一定相同的元件。
具体实施方式
储存系统形成数据中心基础设施的一部分。储存系统可以存储数据并允许诸如服务器、工作站、台式计算机之类的客户端设备访问数据。例如,储存系统可以具有储存资源,诸如硬盘驱动器、固态驱动器等。储存系统的管理和控制特征可以实现将数据存储在储存资源上的逻辑布置。例如,逻辑布置可以包括诸如文件系统、虚拟文件服务器、文件存储和文件共享之类的组件,并且这些组件可以被组织在目录分层结构中。文件存储可以包含诸如文件共享或子目录之类的文件对象。
文件存储可以被配置为以特定的安全模式进行操作。在一些情况下,安全模式可以与作为访问协议的主要协议相关联。例如,文件存储可以被配置为以与NTFS文件系统相关的安全模式(为了方便,在本文中也被称为“NTFS安全模式”)进行操作,所述安全模式与作为主要协议的SMB(服务器消息块)相关联。作为另一个示例,文件存储可以被配置为以与相关的安全模式(为了方便,在本文中也被称为“POSIX安全模式”)进行操作,所述安全模式可以与作为主要协议的NFS(网络文件系统)、FTP(文件传送协议)或HTTP(超文本传送协议)相关联。
诸如台式或膝上型计算机等之类的客户端设备可以尝试经由各种访问协议并通过任何有线和/或无线网络(例如以太网、光纤、等)来访问文件存储的对象。例如,运行的客户端设备经由SMB(服务器消息块)协议来访问文件存储。客户端设备经由NFS(网络文件系统)协议、FTP(文件传送协议)或HTTP(超文本传送协议)来访问文件存储。对文件对象的访问由附到该文件对象的访问控制列表(ACL)强制实施,其中ACL可以指定安全信息,诸如用户以及授予这些用户对文件对象执行操作的许可。
然而,不同的访问协议和安全模式可以各自具有不同的原生ACL格式(即,存储用户和许可信息的不同方式)。例如,与SMB访问协议相关联的NTFS ACL可以利用安全标识符(SID)来识别用户或群组,而与NFS访问协议相关联的POSIX ACL可以利用用户标识符(UID)或群组标识符(GID)来识别用户或群组。此外,许可可以被不同地标注:NTFS ACL中的访问控制项(ACE)可以包括14个许可,而POSIX ACL中的ACE可以包括三个许可。另外的协议和ACL格式也可以存在并展现差异。例如,一些POSIX客户端设备可以使用NFSv4 ACL,这可以将用户身份标注为用户主体名称(UPN)。
一些储存系统可以尝试通过分别存储和强制实施每个访问协议的ACL来管理经由不同协议的文件对象访问。因此,这样的储存系统可能难以向经由不同的访问协议访问相同文件对象的客户端设备提供相同或相似的许可强制实施体验。此外,对于使用和与文件存储的安全模式相关联的主要协议不同的访问协议来访问文件存储的客户端设备,可能出现次优强制实施体验。
其他储存系统可以尝试在每当一个ACL改变时通过多个格式变换来协调不同的访问协议的ACL。但是,这种协调可能容易出现ACL之间的不一致,特别是在格式变换在进程中的同时发生系统故障的情况从而还导致不一致强制实施体验。
因此,无论客户端设备的访问协议如何,对于储存系统而言对针对文件对象的ACL进行同步以向访问文件归档对象的每个客户端设备提供相同或相似的许可强制实施体验可能是有用的。本文所公开的示例可以尤其涉及在存储在储存系统的文件存储中的对象的扩展属性中维持的多协议ACL。多协议ACL包括与文件存储的安全模式的主要协议相关联的格式的主要ACL和与次要协议相关联的格式的次要ACL。多协议ACL的修改限制为经由主要协议的主要ACL的修改。主要ACL的修改被同步到次要ACL。
凭借如本文描述实现多协议ACL,储存系统可以为使用与文件存储的安全模式相关的主要协议的客户端设备提供纯粹的、不妥协的许可强制实施体验,同时还为使用次要协议的客户端设备提供相似的强制实施体验。在一个示例中,储存系统将不提供比关联的主要ACL所预期的更多许可访问对象。下面将在此进一步描述本公开的系统和方法的其他有用的方面。
现在参考附图,图1是描绘维持持久多协议ACL的示例系统100的框图。在一些示例中,系统100可以用作或者形成可以在数据中心中采用的储存系统的一部分。系统100包括文件存储管理引擎110和储存资源130。
文件存储管理引擎110可以是用于实现本文描述的功能性的硬件和编程的任何组合。在一些实现中,编程可以是存储在非暂时性机器可读储存介质上的处理器可执行指令,并且硬件可以包括至少一个处理资源以检索和/或执行那些指令。示例处理资源包括微控制器、微处理器、(一个或多个)中央处理单元核心、专用集成电路(ASIC)、现场可编程门阵列(FPGA)等。示例非暂时性机器可读介质包括随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪速存储器、硬盘驱动器等。术语“非暂时性”不涵盖暂时性传播信号。另外地或替代地,文件存储管理引擎110可以包括用于实现本文所描述的功能性的电子电路或逻辑。在一些示例中,可以使用硬件和编程的组合来将文件存储管理引擎110实现为在系统100的硬件资源(例如,处理器和存储器)上运行的虚拟机。
文件存储管理引擎110可以控制如何将数据存储在储存资源130上并且从储存资源130检索数据,储存资源130可以包括诸如硬盘驱动器、固态驱动器等的储存设备,或者多个这样的储存设备(例如,磁盘阵列)。例如,文件存储管理引擎110可以在储存资源130上实现诸如目录层次之类的逻辑布置,并且文件存储131可以用作或者形成目录层次的一部分。文件存储131可以被配置为以诸如NTFS、POSIX等的特定安全模式进行操作。
储存资源130可以将文件对象存储在诸如文件共享或目录的文件存储131中。对象132可以是一个这样的文件对象。诸如对象132之类的文件对象可以包括被称为扩展属性134的元数据。扩展属性134与对象132一起被存储在盘上。也就是说,扩展属性134可以与对象132一起被存储在储存资源130上的文件存储131中。
文件存储131可以由使用诸如SMB、NFS、FTP、HTTP等等不同的访问协议的客户端设备访问。如上所述,一些不同的访问协议可以定义不同的对应ACL格式,特别是关于一个或多个用户身份的格式和许可的格式。
文件存储管理引擎110可以在存储在文件存储131中的对象132的扩展属性134中维持112持久多协议ACL 136。多协议ACL 136是持久的,因为即使当切断到储存资源130的电源时它也被存储并且存留在储存资源130上的磁盘上。
对多协议ACL 136进行格式化以保持与文件存储131的主要协议相关联的格式的主要ACL 138和与次要协议相关联的格式的次要ACL 140。例如,多协议ACL 136可以作为打包形式的连续缓冲器被存储在扩展属性134中。在一些实现中,多协议ACL 136可以被格式化为报头(其可以是固定尺寸,例如以字节为单位)以及一个或多个ACL块(取决于对应ACL的格式,每个ACL块可以是可变尺寸,例如以字节为单位)。在一个示例中,报头可以包括由文件存储管理引擎110支持的针对每个协议的尺寸字段,其中针对每个协议的尺寸字段指示针对相应协议的ACL块的尺寸。任何为零的尺寸字段指示在作为多协议ACL 136的缓冲器中没有对应的ACL块。主要ACL 138和次要ACL 140可以各自占据单独的ACL块。
主要协议是与文件存储131的安全模式相关联的访问协议。与安全模式不相关联的访问协议被视为次要协议。主要ACL 138包括与主要协议相关联的格式的许可和身份(用户身份、群组身份和/或其他身份信息),并且次要ACL 140包括与次要协议相关联的格式的许可以及身份(用户身份、群组身份和/或其他身份信息)。而且,次要ACL对于主要协议来说是非原生的。
因此,如果安全模式是NTFS,则主要协议是SMB,并且主要ACL 138是NTFS ACL。同时,POSIX协议(例如,NFS、FTP、HTTP)可以是次要协议,并且对应的次要ACL 140可以是POSIX ACL。
当被写入到多协议ACL 136时,主要ACL 138和次要ACL 140可以包括与它们各自的协议相关联的任何安全信息。例如,NTFS ACL可以包括完整的安全描述符(例如,包括系统访问控制列表、SACL和/或任意访问控制列表DACL的安全描述符)。
多协议ACL 136包括从多协议ACL 136被创建的时间开始的主要ACL 138。当被创建时,多协议ACL 136可以在报头中具有针对至少一个次要ACL 140的尺寸字段,但是可以没有保持次要ACL直到诸如被客户端设备经由次要协议首次访问多协议ACL 136之类的稍后的时间。多协议ACL 136的创建将在下面关于图2进一步描述。
文件存储管理引擎110还可以将多协议ACL 136的修改限制114为经由主要协议的主要ACL 138的修改。引擎110防止通过次要协议——即通过主要协议以外的任何协议对多协议ACL 136进行修改。例如,在一些实现中,文件存储管理引擎110可以忽略或拒绝来自客户端设备的修改多协议ACL 136的任何部分的次要协议请求。另一方面,由客户端设备经由主要协议做出的修改主要协议ACL 138的请求可以由文件存储管理引擎110处理。示例ACL修改可以包括将访问控制项(ACE)添加到主要ACL 138、改变所有权信息、改变许可等。
文件存储管理引擎110还将主要ACL 138的修改同步116到次要ACL 140。例如,对通过主要协议所请求的主要ACL 138的改变和修改也被应用于次要ACL 140。在一些实现中,文件存储管理引擎110可以访问主要ACL 138和次要ACL 140的许可格式之间的静态转换映射,以将主要ACL 138的许可修改同步到次要ACL 140。包括涉及用户身份的修改(例如,添加ACE、改变所有权等)的同步的附加方面将在此在下面关于图2进一步描述。
图2是描绘维持持久多协议ACL的示例系统200的框图。类似于系统100,系统200可以用作或者形成可以在数据中心中采用的储存系统的一部分。客户端设备260和262可以经由有线和/或无线网络来与系统200进行通信。客户端设备260和262例如可以是台式计算机、膝上型计算机、工作站、服务器、移动设备等。虽然描绘了两个客户端设备,但是在其他情况下,更多或更少的客户端设备可以与系统200进行通信。
系统200可以经由有线和/或无线网络来与外部源256进行通信。外部源256可以是托管名称和/或认证服务的计算系统或系统(例如,服务器)。系统200可以访问外部源256以认证和授权客户端设备260和262的任何连接尝试。外部源256可以包括活动目录服务器或轻量级目录访问协议(LDAP)服务器。
系统200包括文件存储管理引擎210(在本文中也被称为引擎210)和储存资源230。与文件存储管理引擎110类似,文件存储管理引擎210可以是硬件和编程的任何组合和/或可以包括电子电路或逻辑以实现本文所描述的功能性。在一些示例中,可以使用硬件和编程的组合来将文件存储管理引擎210实现为在系统200的硬件资源(例如,处理器和存储器)上运行的虚拟机。储存资源230,与储存资源130类似,可以包括诸如硬盘驱动器、固态驱动器等的储存设备,或者多个这样的储存设备(例如,磁盘阵列)。
文件存储管理引擎210可以维持储存资源230上的文件存储231,其在许多方面类似于文件存储131。例如,文件存储231可以被配置为以诸如NTFS、POSIX等的特定安全模式进行操作,并且文件存储231可以包含诸如对象232之类的文件对象。文件存储管理引擎210可以在储存资源230上维持多个文件存储。对象232可以包括被称为扩展属性234的元数据,其与对象232一起被存储在盘上。
在一些实现中,系统200还可以包括身份转换高速缓存250、名称解析服务252以及活动会话所有者信息254的高速缓存。活动会话所有者信息254的高速缓存可以存储与客户端设备的认证相关的信息(例如,来自活动目录服务器的包含SID的访问令牌),并且因此可以包括关于用户身份的信息。身份转换高速缓存250可以以多种格式——具体来说是以分别与主要协议和次要协议相关联的格式——存储用户身份,从而允许用户身份被转换(例如,UID到SID、GID到SID,反之亦然)。例如,活动会话所有者信息254的高速缓存和身份转换高速缓存250可以各自在系统200的存储器或储存器中独立地实现。
名称解析服务252可以从身份转换高速缓存250或外部源256执行对用户身份的查找,并且还可以通过添加新条目、清除条目和报告高速缓存效率来管理身份转换高速缓存250。在一些实现中,名称解析服务252可以是用于执行所描述的功能的硬件和编程的任何组合,并且可以被实现为系统200的守护进程。例如,引擎210可以是驻留在系统200的硬件上运行的虚拟机的内核空间中的内核模块,并且名称解析服务252可以是虚拟机的用户空间中的守护进程(在硬件上执行的编程)。在这样的示例中,引擎210可以经由基于netlink套接字的接口来访问或者调用名称解析服务252来执行查找。
为了说明由系统200进行的多协议ACL管理,所描绘的示例客户端设备260和262在与系统200通信时利用不同的文件访问协议。客户端设备260利用与文件存储230的安全模式相关联的主要协议。客户端设备262利用不与安全模式相关联的次要协议。例如,如果文件存储231的安全模式是NTFS,则客户端设备260使用作为主要协议的SMB,并且客户端设备262使用作为次要协议的POSIX协议(例如,NFS、FTP、HTTP)。在下面的示例中,假定客户端设备260和262已经针对其相应的协议(例如,经由活动目录或LDAP认证)被适当地向系统200进行了认证。
现在将描述多协议ACL 236的各个方面,诸如创建、强制实施和同步。图1的多协议ACL 136、主要ACL 138和次要ACL 140的许多方面也可以分别应用于多协议ACL 236、主要ACL 238和次要ACL 240。例如,多协议ACL 236可以以与上述的多协议ACL 126类似的方式被格式化(例如,被打包在连续的缓冲器中的具有ACL尺寸字段的报头和ACL块)。
多协议ACL 236至少包括主要ACL 238并且还可以包括次要ACL 240。多协议ACL236被原子地写入到与对象232相关联的扩展属性234中。原子写入可以指的是没有写入数据(例如,在电源故障或系统崩溃的情况下)或者写入所有数据的事务。为了说明,如果将主要ACL 238和次要ACL 240作为多协议ACL 236一起写入到扩展属性234,那么主要ACL238和次要ACL 240二者被写入或者扩展属性234保持不变(即,就好像写入未被尝试一样),但在主要ACL 238或次要ACL 240都不会在没有另一个的情况下被写入。
在用户的控制下或者通过自动化,客户端设备260和262可以传送来自它们各自的协议的请求以在文件存储231中创建对象(例如,232)。例如,对象可以是文件共享或目录或文件。请求可以指示要被创建的对象的名称和父对象的名称(例如,在其中要创建对象的目录)。多协议ACL 236与对象232一起被创建。
例如,客户端设备262可以经由次要协议发送对象创建请求270。作为响应,文件存储管理引擎210如下地处理212经由次要协议从客户端系统262接收到的请求以创建对象232。文件存储管理引擎210基于由请求所标识的父对象和主要协议的对象创建规则来创建主要ACL 232。然后,引擎210执行原子写入操作,所述原子写入操作将无次要ACL 240的单独包含已创建的主要ACL 238的多协议ACL 236存储到对象232的扩展属性234。在多协议ACL 236包括具有尺寸字段的报头的实现中,对应于次要ACL 240(以及任何其他次要ACL)的尺寸字段可以为零。
客户端设备260还可以经由主要协议发送对象创建请求。文件存储管理引擎210以类似于对请求270的响应的方式进行响应。通过基于父对象和主要协议的对象创建规则来创建主要ACL 232并且通过将主要ACL 232原子地写入到多协议236中而没有任何次要ACL,文件存储管理引擎210处理该请求。
对象创建规则可以包括继承规则。继承规则可以指定(由创建请求所标识的)父对象的ACL如何被主要ACL 232继承。例如,继承规则可以描述什么可以被继承,什么不能被继承,以及在继承期间的任何特殊处理。主要ACL 232可以从父对象ACL继承安全信息,诸如(一个或多个)用户身份和许可。因此,当创建主要ACL 232并由此创建多协议ACL 236时,系统200可以利用父对象ACL的现有用户身份,而不经由外部源256查找身份转换。取决于协议,诸如创建掩码之类的其他协议特定的对象创建规则语义可以确定新对象的ACL。
此外,凭借以上述方式处理对象创建请求,由系统200维持的每个多协议ACL(例如,针对文件存储231中的多个对象)具有对于文件存储231的安全模式而言都是原生的主要ACL——无论创建请求是来自主要协议还是次要协议。在创建多协议ACL 236之后,它被维持214并且存留在对象232的扩展属性234中,直到对象232被删除或以其他方式被移除。
在用户的控制下或者通过自动化,客户端设备260和262可以传送访问文件存储231中的现有对象的请求。所请求的访问可以涉及尝试对被该请求所标识的对象执行动作,诸如读取、写入或执行动作,但是具体动作可以取决于请求的协议而变化。如下将所描述,文件存储管理引擎210接收并评估访问请求,并且在可能时,针对访问请求强制实施对应的ACL。
如本文所提到的,ACL强制实施可以一般性地包括检查访问请求的用户身份是否与ACL中的用户身份相匹配,并且如果是,则检查访问请求的被请求动作是否被针对ACL中匹配的用户身份的许可所允许。如果两个条件都满足,那么在对象上执行访问请求。如果未找到用户身份或者不允许该动作,则拒绝访问。
为了说明访问请求的处理,考虑客户端设备260可以经由主要协议传送访问请求以访问对象232。凭借用主要ACL 238(例如,通过过程212)创建多协议ACL 236,文件存储管理引擎210可以针对访问请求强制实施主要ACL 238。
在其他示例中,客户端设备262可以经由次要协议传送访问对象232的请求272。文件存储管理引擎210接收经由次要协议的访问请求272,并确定针对对象232的扩展属性234中的多协议ACL 236是否具有针对访问请求272的次要协议的次要ACL 240。
在一些实例中,针对对象232的多协议ACL 236不包括与访问请求272的次要协议相关联的格式的ACL。因此,在这样的情况下该次要协议可以被认为是新的次要协议。例如,在创建之后,多协议ACL 236可能没有包括任何次要ACL。作为另一个示例,多协议ACL 236可以包含次要ACL,但是访问请求272来自和与已经包含在多协议ACL 236中的次要ACL相关联的次要协议不同的新的次要协议。在关于访问请求272的以下说明中,考虑了相对于多协议ACL 236,客户端设备262的次要协议是新的。
当多协议ACL 236不以如下方式包括与新的次要协议相关联的格式的ACL时,文件存储管理引擎210可以处理216来自客户端设备(例如,262)的经由新的次要协议来访问对象232的请求272。文件存储管理引擎210将主要ACL 238变换为新的次要ACL 240,该新的次要ACL 240包括将主要ACL 238中包括的用户身份和许可变换为与新的次要协议相关联的格式的用户身份和许可。在一些实现中,文件存储管理引擎210可以调用名称解析服务252以尝试身份变换。在其他实现中,文件存储管理引擎210本身可以执行下面描述的名称解析服务252的功能。
名称解析服务252可以首先尝试从身份转换高速缓存250中检索与新的次要协议相关联的格式的用户身份。例如,针对身份的变换信息可能先前已被存储以用于当为文件存储231上的不同对象创建用于新的次要协议的次要ACL时在主要协议和新的次要协议之间进行变换。
如果不能从身份转换高速缓存250检索到新的次要协议格式的用户身份,则名称解析服务252可以从外部源256查找与新的次要协议相关联的格式的用户身份。名称解析服务252可以将来自查找的变换信息添加到身份转换高速缓存250以供将来变换。
如果不能从身份转换高速缓存250或从外部源256检索到新的次要协议格式的用户身份,则名称解析服务252可以尝试从活动会话所有者信息254(例如,如果新的次要协议是SMB)确定用户身份。如果不能从任何前述源中检索到新的次要协议格式的用户身份,则名称解析服务252可以将所尝试的查找添加到否定高速缓存以避免一段时间的进一步查找,这对于避免重复尝试可能是有用的——例如在与外部源256连接失败的情况下。
因此,名称解析服务252可以执行来自身份转换高速缓存250、外部源256或活动会话所有者信息254的查找以转换用户标识符(UID)到用户主体名称(UPN)、群组标识符(GID)到UPN、安全标识符(SID)到UPN、UPN到SID、UPN到UID、UPN到GID、UID到SID、GID到SID、SID到UID和SID到GID。转换的方向取决于什么协议是主要协议以及什么协议是次要协议。
主要ACL 238到新的次要ACL 240的变换还可以包括主要ACL的许可到符合次要协议的格式的变换。文件存储管理引擎210可以使用主要ACL 238和新的次要ACL 240的许可格式之间的静态转换映射来执行变换(例如,POSIX到NTFS的变换、NTFS到POSIX的变换等)。可以将静态转换映射实现为一组ACL变换服务220中的内核模块的一部分。例如,可以将ACL变换服务220实现为内核模块。
一旦如上所述从来自主要ACL 238的许可和用户身份的变换构造了新的次要ACL240,则新的次要ACL 240与多协议ACL 236(例如,至少主要ACL 238)的任何预先存在的ACL一起被原子地写入到对象232的扩展属性234中。以这种方式,可以在通过对应的次要协议首次访问对象232时创建次要ACL 240。
一旦已经创建了次要ACL 240,或者如果次要ACL 240已经存在于多协议ACL 236中(由于先前的访问),则因为次要ACL 240位于文件存储231中的盘上并且用户身份和许可信息可用,所以文件存储管理引擎210可以在无需变换主要ACL 238的情况下通过针对访问请求272强制实施次要ACL 240来响应来自次要协议的访问请求(如272)。凭借将次要ACL240存储在扩展属性234中,与在通过次要协议进行访问时依赖于将原生ACL即时变换为次要协议的格式的储存系统对照而言,系统200可以提供通过次要协议进行访问的改进的性能。
文件存储管理引擎210也可以管理修改ACL的请求。ACL修改请求可以力图添加安全信息(例如,包括新用户身份和许可的ACE)、改变许可、改变所有权等。文件存储管理引擎210可以将多协议ACL 236的修改限制为经由主要协议的主要ACL 238的修改。例如,文件存储管理引擎210可以处理来自客户端设备260的经由主要协议的ACL修改请求274,并且可以忽略或拒绝来自客户端设备262的经由次要协议的ACL修改请求276。
由请求274对主要ACL 238做出的任何改变可由文件存储管理引擎210同步218到次要ACL 240。例如,为了处理对主要ACL的基于身份的修改,诸如添加新的用户身份和许可,引擎210可以将新的用户身份和许可变换为次要ACL格式,这可以包括调遣名称解析服务252来变换新的用户身份(最初其继而又可以参考独立于外部源256的身份转换高速缓存250),并经由静态变换映射变换许可。
在一些实现中,文件存储管理引擎210通过首先使次要ACL 240无效并且根据请求274更新主要ACL 238来将主要ACL 238的修改同步到次要ACL 240。然后在失效之后的稍后时间,引擎210通过将修改的主要ACL变换为修改的次要ACL并且用修改的主要和次要ACL来原子地重写多协议ACL来响应经由次要协议的随后访问请求。
在一些实现中,文件存储管理引擎210还可以在每个多协议ACL中包括中间ACL。例如,在创建时可以将中间ACL包括在多协议ACL中。在其他示例中,可以在通过次要协议的第一访问请求时创建中间ACL。图3描绘了示例多协议ACL 236,所述示例多协议ACL 236包括主要ACL 238、次要ACL 240以及中间ACL 242。在如省略号所描绘的其他示例中,也可以将附加的次要ACL包括在多协议ACL 236中。图3的多协议236可以存储在对象232的扩展属性234中。
中间ACL 242可以是协议不可知的。在一些实现中,中间ACL 242可以与NFSv4格式类似,其中将用户身份存储为UID/GID。中间ACL 242可以用作用于从主要ACL 238到次要ACL 240的变换的中介(例如,当创建次要ACL 240时或者当将主要ACL 238的修改同步到次要ACL 240时)。
例如,同步(例如,218)可以包括:对主要ACL 238的修改的实现(执行)以生成修改的主要ACL;修改的主要ACL到修改的中间ACL的变换;修改的中间ACL到修改的次要ACL的变换;以及包含修改的主要ACL、修改的中间ACL和修改的次要ACL的已更新的多协议ACL的对象232的扩展属性234的原子写入。在同步218的其他实现中,对主要ACL 238的修改可以使得引擎210使次要ACL 240和中间ACL 244无效,并且引擎210响应于在失效之后来自次要协议的后续访问请求而将修改的主要ACL变换为修改的中间ACL,并且将修改的中间ACL变换为修改的次要ACL。
中间ACL 242可以促进文件存储管理引擎210的可扩展性,并且因此促进系统200支持新的访问协议、安全模式和ACL格式。例如,文件存储管理引擎210可以通过如下处理来添加对新的ACL格式的支持:对多协议ACL 236报头进行重新格式化以包括针对新的ACL格式的信息(例如,新的尺寸字段)、添加从将新的ACL格式变换为中间ACL格式的例程、并添加将中间ACL格式变换为新的ACL格式的例程。
在一些实现中,可以将所添加的例程存储到ACL变换服务220的库。所添加的例程可以包括例如新的内核模块来执行用于许可变换的转换映射。在一些实现中,名称解析服务252也可以用例程来更新以变换新的ACL格式的用户身份。
凭借通过中间ACL对ACL进行变换,与没有中间ACL的情况下在每个协议ACL之间直接进行变换时所涉及的服务数量相比,可以减少变换服务的数量。例如,如果文件存储管理引擎210可以处理N个协议,则经由中间ACL格式添加对新协议的支持将添加两个变换服务来将新的协议ACL变换为中间ACL以及将中间ACL变换为新的协议ACL。另一方面,使用没有中间ACL格式的直接变换将增加2N个变换服务来从N个现有协议ACL中的每一个变换为新的协议ACL并且从新的协议ACL变换为N个现有协议ACL的每一个。
图4-图6是描绘各种示例方法的流程图。在一些实现中,方法的一个或多个块可以基本上同时地执行或者以与所示不同的顺序执行。在一些实现中,方法可以包括比所示更多或更少的块。在一些实现中,方法的一个或多个块可以在某个次数正在进行和/或可以重复。这些方法可以以存储在机器可读介质上并由处理资源执行的可执行指令的形式和/或以电子电路的形式来实现。
下面描述的方法被描述为由储存系统执行。在一些示例中,上面描述的储存系统100或200或下面描述的储存系统700可以执行这些方法。然而,在其他示例中,方法可以由另一储存系统执行。
图4是描绘维持多协议ACL的示例方法400的流程图。方法400在块402处开始并且继续到块404,其中储存系统将多协议ACL(例如,138)维持在存储在储存系统(例如,100)的文件存储(例如131)中的对象(例如,132)的扩展属性(例如,134)中。多协议ACL包括与文件存储的主要协议(或者具体地,文件存储的安全模式)相关联的格式的主要ACL(例如,138)和与次要协议相关联的格式的次要ACL(例如,140)。在一个示例中,可以针对文件存储管理引擎110的维持功能112执行块402。
在块406处,储存系统将多协议ACL的修改限制为经由主要协议的主要ACL的修改。在一个示例中,可以针对文件存储管理引擎110的限制功能114执行块406。在块408处,储存系统将主要ACL的修改同步到次要ACL。在一些实现中,在块406处的同步可以包括根据修改来更新主要ACL并使次要ACL无效,并且然后响应于经由次要协议来访问对象的请求,通过将已更新和修改的主要ACL进行变换来更新次要ACL。在一个示例中,可以针对文件存储管理引擎110的同步功能116执行块408。在块410处,方法400结束。
图5是描绘示例方法500的流程图。方法500从块502开始并且行进到块504,其中储存系统(例如200)接收经由次要协议的请求(例如,270)以在文件存储(例如,231)中创建对象(例如,232)。
响应于该请求,储存系统创建多协议ACL(例如,236)如下。在块506处,储存系统基于由请求所识别的父对象和主要协议的对象创建规则来创建主要ACL(例如,238)。在块508处,储存系统将包含在块506处创建的主要ACL且无次要ACL的多协议ACL原子地写入到对象的扩展属性(例如,234)。在一些实现中,块504-508可以在方法400的块404之前执行。在一个示例中,通过引擎210可以执行块504-508来执行功能212。
在块510处,在经由块504-508创建多协议ACL之后,储存系统接收经由次要协议的针对对象的第一访问请求(例如,272)。响应于第一访问请求,在块512处,储存系统通过从主要ACL进行变换来创建次要ACL(例如,240)。在块514处,储存系统将包含在块512处创建的次要ACL和主要ACL的多协议ACL原子地写入到对象的扩展属性。在一个示例中,引擎210可以执行块510-514以执行功能216。
在块516处,储存系统接收经由次要协议的针对该对象的访问请求。在块518处,储存系统针对访问请求强制实施次要ACL,并且不变换主要ACL。在块520处,方法500结束。
图6是描绘示例方法600的流程图。在一些实现中,方法600可以对实现方法500的块512的至少一部分是有用的。
方法600在块602处开始并且继续到块604,其中,通过从本地高速缓存(例如,身份转换高速缓存250)中检索与次要协议相关联的格式的身份,储存系统(例如200)将包括在主要ACL(例如238)中的身份变换为与次要协议相关联的格式的身份。
如果不能从本地高速缓存中检索到与次要协议相关联的格式的身份(块606处的“否”),则储存系统执行块608以从储存系统外部的源(例如,256)中查找与次要协议相关联的格式的身份,并将针对身份的变换信息添加到本地高速缓存。如果可以从本地高速缓存中检索到身份(块606处的“是”),则储存系统直接行进以执行块610而不执行块608。
在块610处,储存系统将主要ACL的许可转换为与次要协议相关联的格式的许可。在块612处,方法600结束。
图7是包括耦合到用示例指令编码的非暂时性机器可读介质704的处理资源702的示例储存系统700的框图。储存系统700还包括可以被托管在储存设备上的文件存储705,所述储存设备诸如是硬盘驱动器、固态驱动器等或者多个这样的储存设备(例如,磁盘阵列)。处理资源702可以包括适合于从机器可读介质704检索和/或执行指令以执行与各个示例相关的功能的微控制器、微处理器、(一个或多个)中央处理单元核、ASIC、FPGA和/或其他硬件设备。另外地或替代地,处理资源702可以包括用于执行本文所描述的指令的功能性的电子电路。
机器可读介质704可以是适合于存储可执行指令的任何介质,诸如RAM、ROM、EEPROM、闪速存储器、硬盘驱动器、光盘等。可以将机器可读介质704设置在系统700内,如图7中所示,在这种情况下,可执行指令可以被视为“被安装”或“被嵌入”在系统700上。替代地,机器可读介质704可以是便携式(例如外部)储存介质,并且可以是“安装包”的一部分。存储在机器可读介质704上的指令对于实现本文所描述的文件存储管理引擎和方法的至少一部分可能是有用的。
如下文进一步描述的,机器可读介质704可以用一组可执行指令706、708进行编码。应当理解,在替代实现中,包括在一个框内的可执行指令和/或电子电路的一部分或全部可以被包括在图中所示的不同框中或未被示出的不同框中。
指令706在执行时使得处理资源702接收在储存系统的文件存储705中创建对象的请求。文件存储在与主要协议相关联的安全模式下进行操作。
指令708在执行时使得处理资源702以如下方式对作为次要协议的请求进行响应。指令708使得处理资源702基于由请求所标识的父对象以对主要协议是原生的格式创建主要ACL。指令708然后使得处理资源702执行原子写入操作,所述原子写入操作将包含主要ACL且无次要ACL的多协议ACL存储到对象的扩展属性以及存储在文件存储中。次要ACL是以对主要协议而言不是原生的且与次要协议相关联的格式的ACL。
在一些实现中,机器可读介质704可以包括附加的指令。例如,机器可读介质704还可以包括用于处理经由次要协议的针对对象的第一访问请求的指令,其中处理第一访问请求包括通过将主要ACL变换为与次要协议相关联的格式并且将包含主要ACL和从主要ACL的变换中所创建的次要ACL的多协议ACL原子地写入到扩展属性来创建次要ACL。
为了变换主要ACL,指令可以将包括在主要ACL中的身份变换为与次要协议相关联的格式的身份。身份变换可以包括从储存系统的身份转换高速缓存检索与次要协议相关联的格式的身份。如果不能从身份转换高速缓存中检索到身份,则身份变换可以包括从储存系统外部的源中查找与次要协议相关联的格式的身份,以及将来自查找的变换信息添加到身份转换高速缓存。
机器可读介质704还可以包括用于生成中间ACL以促进主要ACL和次要ACL之间的变换的指令,以及将中间ACL、主要ACL和次要ACL一起作为多协议ACL原子地写入到扩展属性中的指令。中间ACL对于附加协议和ACL格式的可扩展支持可能是有用的。
在前面的描述中,阐述了许多细节以提供对本文所公开的主题的理解。但是,实现可以在没有部分或全部这些细节的情况下被实践。其他实现可以包括来自上面讨论的细节的修改和变化。以下权利要求旨在覆盖这样的修改和变化。
Claims (20)
1.一种多协议访问控制方法,包括:
由储存系统在存储在所述储存系统的文件存储中的对象的扩展属性中维持多协议访问控制列表ACL,所述多协议ACL包括呈与所述文件存储的主要协议相关联的格式的主要ACL和呈与次要协议相关联的格式的次要ACL;
由所述储存系统将对所述多协议ACL的修改限制为经由所述主要协议对所述主要ACL的修改;和
由所述储存系统将对所述主要ACL的修改同步到所述次要ACL。
2.根据权利要求1所述的方法,其中,所述主要ACL包括呈与所述主要协议相关联的格式的身份和许可,并且所述次要ACL包括呈与所述次要协议相关联的格式的身份和许可。
3.根据权利要求1所述的方法,还包括:
由所述储存系统接收经由所述次要协议的请求以创建所述对象;和
响应于所述请求并且在所述维持之前,由所述储存系统通过以下方式来创建所述多协议ACL;
基于由所述请求所识别的父对象和所述主要协议的对象创建规则来创建所述主要ACL;以及
将包含所述主要ACL且无次要ACL的所述多协议ACL原子地写入到所述对象的所述扩展属性。
4.根据权利要求3所述的方法,还包括:
在所述创建所述多协议ACL后,由所述储存系统接收经由所述次要协议的针对所述对象的第一访问请求;和
响应于所述第一访问请求:
通过从所述主要ACL进行变换来创建所述次要ACL,以及
将包含所述主要ACL和所述次要ACL的所述多协议ACL原子地写入到所述对象的所述扩展属性。
5.根据权利要求4所述的方法,其中,通过从所述主要ACL进行变换来创建所述次要ACL包括:
通过从本地高速缓存中检索呈与所述次要协议相关联的格式的身份,将包括在所述主要ACL中的所述身份变换为呈与所述次要协议相关联的格式的所述身份;以及
将所述主要ACL的许可转换为呈与所述次要协议相关联的格式的许可。
6.根据权利要求5所述的方法,其中,如果不能从所述本地高速缓存中检索到呈与所述次要协议相关联的格式的所述身份,则变换包括在所述主要ACL中的所述身份包括从所述储存系统外部的源中查找呈与所述次要协议相关联的格式的所述身份并将针对所述身份的变换信息添加到所述本地高速缓存。
7.根据权利要求1所述的方法,还包括:
由所述储存系统接收经由所述次要协议的针对所述对象的访问请求;和
响应于所述接收,由所述储存系统针对所述访问请求强制实施所述次要ACL而不变换所述主要ACL。
8.一种存储系统,包括:
用于将文件对象存储在文件存储中的储存设备;
文件存储管理引擎,用于:
在存储在所述文件存储中的对象的扩展属性中维持持久多协议访问控制列表ACL,所述多协议ACL被格式化以保持呈与所述文件存储的主要协议相关联的格式的主要ACL以及呈与次要协议相关联的格式的次要ACL,
将对所述多协议ACL的修改限制为经由所述主要协议对所述主要ACL的修改,以及
将对所述主要ACL的修改同步到所述次要ACL。
9.根据权利要求8所述的系统,其中,所述文件存储管理引擎用于通过以下操作来处理从客户端设备接收的经由所述次要协议的请求以创建所述对象:
基于由所述请求所识别的父对象和所述主要协议的对象创建规则来创建所述主要ACL,和
原子写入操作,所述原子写入操作将无次要ACL的单独包含所创建的所述主要ACL的所述多协议ACL存储到所述对象的所述扩展属性。
10.根据权利要求8所述的系统,还包括:
身份转换高速缓存,用于存储分别呈与所述主要协议和所述次要协议相关联的格式的身份;和
其中,当所述多协议ACL不包括呈与新的次要协议相关联的格式的ACL时,所述文件存储管理引擎用于通过以下来处理来自客户端设备的经由所述新的次要协议的访问所述对象的请求:
将所述主要ACL变换至所述新的次要ACL,该变换包括:通过从所述身份转换高速缓存中检索呈与所述新的次要协议相关联的格式的身份将包括在所述主要ACL中的身份变换为呈与所述新的次要协议相关联的格式的身份,并且如果从所述身份转换高速缓存中无法检索到所述身份,则通过从外部源中查找呈与所述新的次要协议相关联的格式的身份以及将来自所述查找的变换信息添加到所述身份转换高速缓存,以及
将所述新的次要ACL与所述多协议ACL的预先存在的ACL一起原子写入所述对象的所述扩展属性。
11.根据权利要求10所述的系统,还包括用于执行所述查找的名称解析服务,所述名称解析服务能够从支持所述文件存储管理引擎的内核访问。
12.根据权利要求11所述的系统,其中,所述名称解析服务执行查找以转换用户标识符UID到用户主体名称UPN、群组标识符GID到UPN、安全标识符SID到UPN、UPN到SID、UPN到UID、UPN到GID、UID到SID、GID到SID、SID到UID和SID到GID。
13.根据权利要求8所述的系统,其中,所述多协议ACL包括所述主要ACL、所述次要ACL和中间ACL,以及
将对所述主要ACL的修改同步到所述次要ACL包括:
实施修改以生成修改的主要ACL,
将所述修改的主要ACL变换为修改的中间ACL,
将所述修改的中间ACL变换为修改的次要ACL,以及
将包含所述修改的主要ACL、所述修改的中间ACL和所述修改的次要ACL的已更新的多协议ACL原子写入到所述对象的所述扩展属性。
14.根据权利要求13所述的系统,其中,所述文件存储管理引擎通过以下操作添加对新的ACL格式的支持:
利用所述扩展属性中的附加空间来对所述多协议ACL重新格式化以保持所述新的ACL格式的ACL,
添加用于从所述新的ACL格式变换为所述中间ACL的格式的例程,和
添加用于从所述中间ACL的格式变换为所述新的ACL格式的例程。
15.根据权利要求8所述的系统,其中,所述文件存储管理引擎用于:
从客户端设备接收经由所述次要协议的针对所述对象的访问请求;和
响应于所述访问请求,针对所述访问请求在所述扩展属性中强制实施所述次要ACL而不变换所述主要ACL。
16.根据权利要求8所述的系统,还包括用于存储呈与所述主要协议和所述次要协议相关联的格式的身份的身份转换高速缓存,
其中,为了将对所述主要ACL的修改同步到所述次要ACL,所述文件存储管理引擎参考独立于外部源的所述身份转换高速缓存来处理基于身份的修改。
17.一种存储能够由储存系统的处理资源执行的指令的非暂时性计算机可读介质,所述非暂时性机器可读介质包括:
用于接收用于在所述储存系统的文件存储中创建对象的请求的指令,所述文件存储在主要协议下进行操作;以及
响应于所述请求是次要协议而执行以下操作的指令:
基于由所述请求所识别的父对象以所述主要协议原生的格式创建主要访问控制列表ACL,以及
执行原子写入操作,所述原子写入操作将包含所述主要ACL并且无次要ACL的多协议ACL存储到所述对象的扩展属性。
18.根据权利要求17所述的非暂时性计算机可读介质,还包括用于通过如下方式来处理经由所述次要协议的针对所述对象的第一访问请求的指令:
通过从主要ACL进行变换创建呈与所述次要协议相关联的格式的所述次要ACL,以及
将包含所述主要ACL和从所述主要ACL的变换而创建的所述次要ACL的所述多协议ACL原子地写入到所述扩展属性。
19.根据权利要求18所述的非暂时性计算机可读介质,其中,所述主要ACL的变换包括通过以下方式将包括在所述主要ACL中的身份变换为呈与所述次要协议相关联的格式的身份:
从所述储存系统的身份转换高速缓存中检索呈与所述次要协议相关联的格式的所述身份,以及
如果不能从所述身份转换高速缓存检索到所述身份,则从所述储存系统外部的源中查找呈与所述次要协议相关联的格式的身份,以及将来自所述查找的变换信息添加到所述身份转换高速缓存。
20.根据权利要求17所述的非暂时性计算机可读介质,还包括:
用于生成中间ACL以促进在所述主要ACL和所述次要ACL之间的变换的指令;和
用于将所述中间ACL、所述主要ACL和所述次要ACL一起作为所述多协议ACL原子地写入所述扩展属性的指令。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN201741011629 | 2017-03-31 | ||
IN201741011629 | 2017-03-31 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108696496A CN108696496A (zh) | 2018-10-23 |
CN108696496B true CN108696496B (zh) | 2020-12-01 |
Family
ID=63672686
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810054527.0A Active CN108696496B (zh) | 2017-03-31 | 2018-01-19 | 多协议访问控制方法及存储系统 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10469501B2 (zh) |
CN (1) | CN108696496B (zh) |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10459892B2 (en) | 2014-04-23 | 2019-10-29 | Qumulo, Inc. | Filesystem hierarchical aggregate metrics |
US11132336B2 (en) | 2015-01-12 | 2021-09-28 | Qumulo, Inc. | Filesystem hierarchical capacity quantity and aggregate metrics |
US9836480B2 (en) | 2015-01-12 | 2017-12-05 | Qumulo, Inc. | Filesystem capacity and performance metrics and visualizations |
US10095729B2 (en) | 2016-12-09 | 2018-10-09 | Qumulo, Inc. | Managing storage quotas in a shared storage system |
US10897462B2 (en) * | 2017-05-16 | 2021-01-19 | Citrix Systems, Inc. | Systems and methods for encoding additional authentication data into an active directory security identifier |
US10534758B1 (en) | 2018-12-20 | 2020-01-14 | Qumulo, Inc. | File system cache tiers |
US10460122B1 (en) * | 2018-12-27 | 2019-10-29 | Qumulo, Inc. | Dynamic permission modes |
US10614241B1 (en) | 2018-12-27 | 2020-04-07 | Qumulo, Inc. | Access verification for distributed file systems |
US10614033B1 (en) | 2019-01-30 | 2020-04-07 | Qumulo, Inc. | Client aware pre-fetch policy scoring system |
US11151092B2 (en) | 2019-01-30 | 2021-10-19 | Qumulo, Inc. | Data replication in distributed file systems |
US10725977B1 (en) | 2019-10-21 | 2020-07-28 | Qumulo, Inc. | Managing file system state during replication jobs |
US10860372B1 (en) | 2020-01-24 | 2020-12-08 | Qumulo, Inc. | Managing throughput fairness and quality of service in file systems |
US10795796B1 (en) | 2020-01-24 | 2020-10-06 | Qumulo, Inc. | Predictive performance analysis for file systems |
US11151001B2 (en) | 2020-01-28 | 2021-10-19 | Qumulo, Inc. | Recovery checkpoints for distributed file systems |
US10860414B1 (en) | 2020-01-31 | 2020-12-08 | Qumulo, Inc. | Change notification in distributed file systems |
US10936538B1 (en) | 2020-03-30 | 2021-03-02 | Qumulo, Inc. | Fair sampling of alternate data stream metrics for file systems |
US10936551B1 (en) | 2020-03-30 | 2021-03-02 | Qumulo, Inc. | Aggregating alternate data stream metrics for file systems |
US11775481B2 (en) | 2020-09-30 | 2023-10-03 | Qumulo, Inc. | User interfaces for managing distributed file systems |
US11921872B2 (en) * | 2020-12-16 | 2024-03-05 | International Business Machines Corporation | Access control for a data object including data with different access requirements |
US11157458B1 (en) | 2021-01-28 | 2021-10-26 | Qumulo, Inc. | Replicating files in distributed file systems using object-based data storage |
US11461241B2 (en) | 2021-03-03 | 2022-10-04 | Qumulo, Inc. | Storage tier management for file systems |
US11567660B2 (en) | 2021-03-16 | 2023-01-31 | Qumulo, Inc. | Managing cloud storage for distributed file systems |
US11132126B1 (en) | 2021-03-16 | 2021-09-28 | Qumulo, Inc. | Backup services for distributed file systems in cloud computing environments |
US11196728B1 (en) * | 2021-03-29 | 2021-12-07 | Fmr Llc | Caching login sessions to access a software testing environment |
US11669255B2 (en) | 2021-06-30 | 2023-06-06 | Qumulo, Inc. | Distributed resource caching by reallocation of storage caching using tokens and agents with non-depleted cache allocations |
US11294604B1 (en) | 2021-10-22 | 2022-04-05 | Qumulo, Inc. | Serverless disk drives based on cloud storage |
US11354273B1 (en) | 2021-11-18 | 2022-06-07 | Qumulo, Inc. | Managing usable storage space in distributed file systems |
US11599508B1 (en) | 2022-01-31 | 2023-03-07 | Qumulo, Inc. | Integrating distributed file systems with object stores |
CN115174707B (zh) * | 2022-09-09 | 2022-11-15 | 井芯微电子技术(天津)有限公司 | 一种支持多协议dma引擎的方法、系统及电子设备 |
US11722150B1 (en) | 2022-09-28 | 2023-08-08 | Qumulo, Inc. | Error resistant write-ahead log |
US11729269B1 (en) | 2022-10-26 | 2023-08-15 | Qumulo, Inc. | Bandwidth management in distributed file systems |
CN116070294B (zh) * | 2023-03-07 | 2023-07-14 | 浪潮电子信息产业股份有限公司 | 一种权限管理方法、系统、装置、服务器及存储介质 |
US11934660B1 (en) | 2023-11-07 | 2024-03-19 | Qumulo, Inc. | Tiered data storage with ephemeral and persistent tiers |
US11921677B1 (en) | 2023-11-07 | 2024-03-05 | Qumulo, Inc. | Sharing namespaces across file system clusters |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1299477A (zh) * | 1998-03-03 | 2001-06-13 | 网络装置公司 | 多协议文件服务器中的文件访问控制 |
CN102612694A (zh) * | 2009-11-25 | 2012-07-25 | 国际商业机器公司 | 可扩展的访问控制列表框架 |
CN103379118A (zh) * | 2012-04-25 | 2013-10-30 | 株式会社日立制作所 | 用于在元数据服务器和数据服务器之间保持acl一致性的方法和装置 |
CN105404640A (zh) * | 2015-10-21 | 2016-03-16 | 上海爱数信息技术股份有限公司 | 一种基于权限统一管理的zfs文件系统共享方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5761669A (en) * | 1995-06-06 | 1998-06-02 | Microsoft Corporation | Controlling access to objects on multiple operating systems |
US6651096B1 (en) | 1999-04-20 | 2003-11-18 | Cisco Technology, Inc. | Method and apparatus for organizing, storing and evaluating access control lists |
US20050015674A1 (en) * | 2003-07-01 | 2005-01-20 | International Business Machines Corporation | Method, apparatus, and program for converting, administering, and maintaining access control lists between differing filesystem types |
US7512990B2 (en) | 2003-10-16 | 2009-03-31 | International Business Machines Corporation | Multiple simultaneous ACL formats on a filesystem |
US8429192B2 (en) * | 2004-12-02 | 2013-04-23 | International Business Machines Corporation | System and method for supporting a plurality of access control list types for a file system in an operating system |
US8245280B2 (en) | 2005-02-11 | 2012-08-14 | Samsung Electronics Co., Ltd. | System and method for user access control to content in a network |
US20090055397A1 (en) | 2007-08-21 | 2009-02-26 | International Business Machines Corporation | Multi-Dimensional Access Control List |
JP4977565B2 (ja) * | 2007-09-18 | 2012-07-18 | 株式会社日立製作所 | アクセス制御リストを用いてファイルへのアクセスを制御するアクセスコントローラ |
CN101626338B (zh) * | 2009-08-03 | 2011-11-23 | 杭州华三通信技术有限公司 | 一种实现多虚拟专用网实例的方法和设备 |
JP5439337B2 (ja) | 2010-10-27 | 2014-03-12 | 株式会社日立ソリューションズ | 情報処理システム、情報処理システムの制御方法、検索制御装置 |
US9336406B2 (en) * | 2013-11-14 | 2016-05-10 | Futurewei Technologies, Inc. | Multiprotocol access control list with guaranteed protocol compliance |
CN106330759B (zh) * | 2016-09-29 | 2019-09-17 | 杭州迪普科技股份有限公司 | 一种调整acl表项的方法及装置 |
-
2017
- 2017-05-24 US US15/603,731 patent/US10469501B2/en active Active
-
2018
- 2018-01-19 CN CN201810054527.0A patent/CN108696496B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1299477A (zh) * | 1998-03-03 | 2001-06-13 | 网络装置公司 | 多协议文件服务器中的文件访问控制 |
CN102612694A (zh) * | 2009-11-25 | 2012-07-25 | 国际商业机器公司 | 可扩展的访问控制列表框架 |
CN103379118A (zh) * | 2012-04-25 | 2013-10-30 | 株式会社日立制作所 | 用于在元数据服务器和数据服务器之间保持acl一致性的方法和装置 |
CN105404640A (zh) * | 2015-10-21 | 2016-03-16 | 上海爱数信息技术股份有限公司 | 一种基于权限统一管理的zfs文件系统共享方法 |
Also Published As
Publication number | Publication date |
---|---|
US10469501B2 (en) | 2019-11-05 |
US20180288057A1 (en) | 2018-10-04 |
CN108696496A (zh) | 2018-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108696496B (zh) | 多协议访问控制方法及存储系统 | |
US11768810B2 (en) | Flexible permission management framework for cloud attached file systems | |
US9660858B2 (en) | Maintaining consistent globally unique identifiers via an asynchronous interface | |
US6381602B1 (en) | Enforcing access control on resources at a location other than the source location | |
US9069879B2 (en) | Globally unique identifiers in an online content management system | |
US10061852B1 (en) | Transparent proxy tunnel caching for database access | |
US20160259947A1 (en) | Method and apparatus for managing access to electronic content | |
US20220035937A1 (en) | Blockchain system with severable data and cryptographic proof | |
EP3866041B1 (en) | Secure group file sharing | |
US20130275973A1 (en) | Virtualisation system | |
US9442850B1 (en) | Efficient directory refresh operations in wide area file systems | |
US9071654B2 (en) | Maintaining concurrency and consistency of globally unique identifiers | |
US8930698B2 (en) | Encrypting globally unique identifiers at communication boundaries | |
KR20210075845A (ko) | 네이티브 키-밸류 분산 스토리지 시스템 | |
US20140245025A1 (en) | System and method for storing data securely | |
US10009399B2 (en) | Asset streaming and delivery | |
EP3533181B1 (en) | Path-based access control for message-based operating systems | |
US11468175B2 (en) | Caching for high-performance web applications | |
WO2013040189A1 (en) | Hosted storage locking | |
CN107077576B (zh) | 网络上的操作限制实施 | |
US9977912B1 (en) | Processing backup data based on file system authentication | |
US10242174B2 (en) | Secure information flow | |
JP2017538998A (ja) | 要求元位置に基づくアクセス制御 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |