CN115544489A - 一种认证方法、装置和存储系统 - Google Patents
一种认证方法、装置和存储系统 Download PDFInfo
- Publication number
- CN115544489A CN115544489A CN202110743679.3A CN202110743679A CN115544489A CN 115544489 A CN115544489 A CN 115544489A CN 202110743679 A CN202110743679 A CN 202110743679A CN 115544489 A CN115544489 A CN 115544489A
- Authority
- CN
- China
- Prior art keywords
- account
- information
- data
- authorized
- protocol
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 71
- 230000015654 memory Effects 0.000 claims description 56
- 238000013475 authorization Methods 0.000 claims description 22
- 238000012545 processing Methods 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 16
- 238000013507 mapping Methods 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 8
- 230000008569 process Effects 0.000 description 18
- 230000006870 function Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 238000003491 array Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- 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/604—Tools and structures for managing or administering access control systems
-
- 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
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
- G06F21/46—Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
-
- 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)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Automation & Control Theory (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本申请实施例提供一种认证方法、装置和存储系统,所述方法包括:接收主机发送的业务请求,所述业务请求中包括第一账户,所述第一账户为第一协议下的账户;确定与所述第一账户对应的第二账户,所述第二账户为目标协议下的账户;对所述第二账户进行认证。通过将非目标协议的账户映射为目标协议的账户进行统一的用户权限认证,简化了存储系统中的账户认证模块,节省了存储资源。
Description
技术领域
本申请涉及存储技术领域,具体涉及一种认证方法、装置和存储系统。
背景技术
在存储系统中,可以向用户提供不同的协议以实现多种业务处理。所述协议例如包括对象协议、文件协议、大数据协议等协议。在不同的协议下,通常需要创建不同类型的账户以用于进行不同协议下的业务处理。例如,在对象协议下,需要创建对象账户,在文件协议下需要创建Unix账户等等。在相关技术中,在进行业务处理时,各个协议各自独立地对该协议下的账户进行认证,即验证该账户是否具有访问权限。在该情况中,存储系统中用于对账户进行认证的模块较为复杂,占用系统资源较多。
发明内容
本申请实施例旨在提供一种认证方案,通过将非目标协议的账户映射为目标协议的账户进行统一的权限认证,简化了存储系统中的账户认证模块,节省了存储资源。
为实现上述目的,本申请第一方面提供一种认证方法,所述方法包括:接收主机发送的业务请求,所述业务请求中包括第一账户,所述第一账户为第一协议下的账户;确定与所述第一账户对应的第二账户,所述第二账户为目标协议下的账户;对所述第二账户进行认证。
通过将非目标协议下的账户映射为目标协议下的账户,可使用目标协议下的认证模块统一进行认证,简化了存储系统中的账户认证模块,节省了存储资源。
在第一方面一种可能的实现方式中,所述对所述第二账户进行认证包括:获取所述业务请求的访问对象的授权账户信息,所述授权账户信息指示有权限访问所述访问对象的授权账户,所述授权账户为目标协议下的账户;根据所述访问对象的授权账户信息对所述第二账户进行认证。
在本申请实施例中,当业务请求为读请求时,访问对象为待读的数据;当业务请求为写请求时,访问对象为用于写入数据的存储空间(例如文件夹)。其中,当访问对象为文件夹时,访问对象的授权账户信息可以为能够向该文件夹写入数据的账户及该账户的权限的信息。又例如,当访问对象为数据时,访问对象的授权账户信息可以为能够读取该数据的账户即该账户的权限的信息。
通过将非目标协议下的账户映射为目标协议下的账户,访问对象的授权账户信息只需要包括目标协议下的授权账户信息,该授权账户信息只需要包括目标协议下的授权账户,从而进一步节省了存储资源。
在第一方面一种可能的实现方式中,所述方法还包括:响应于主机发送的创建请求创建所述第一账户;创建或确定与所述第一账户具有相同访问权限的第二账户;记录所述第一账户和所述第二账户之间的映射关系。
通过在创建非目标协议下的账户时记录该账户所映射的目标协议账户,从而在对该账户进行认证时可方便地获取该账户对应的目标协议账户。
在第一方面一种可能的实现方式中,所述创建请求包括所述第一账户的权限信息,在创建所述第二账户的情况中,所述方法还包括:根据所述第一账户的权限信息设置所述第二账户的权限信息,所述第二账户的权限信息用于指示对通过所述第二账户写入的数据的访问权限。例如,在创建账户A时,创建请求携带了一个权限信息指示由账户A写入的数据只能由账户A进行读写。
通过根据第一账户的信息设置第二账户的权限信息,在通过第一账户写入数据时,在通过第二账户认证通过之后,可直接使用第二账户的权限信息设置数据的授权账户信息,使得该授权账户信息中仅包括目标协议下的账户,提高了写入数据的效率。
在第一方面一种可能的实现方式中,在所述确定与所述第一账户对应的所述第二账户之前,所述方法还包括:根据所述第一账户的格式确定所述第一账户为所述第一协议下的账户。
在第一方面一种可能的实现方式中,在所述确定与所述第一账户对应的所述第二账户之前,所述方法还包括:根据所述业务请求调用的接口的格式确定所述第一账户为所述第一协议下的账户。
在第一方面一种可能的实现方式中,所述业务请求为写请求,所述访问对象为存储空间,所述根据所述授权账户信息对所述第二账户进行认证具体包括:在所述存储空间的第一授权账户信息包括所述第二账户的情况下,所述第二账户认证通过,将所述写请求中包括的数据写入所述存储空间。
在第一方面一种可能的实现方式中,所述方法还包括:根据所述第二账户的权限信息对所述数据设置第二授权账户信息。
在第一方面一种可能的实现方式中,所述业务请求为读请求,所述访问对象为所述数据,所述根据所述授权账户信息对所述第二账户进行认证具体包括,在所述第二授权账户信息包括所述第二账户的情况下,所述第二账户认证通过,读取所述数据并发送给所述主机。
本申请第二方面提供一种认证装置,所述装置包括:接收单元,用于接收主机发送的业务请求,所述业务请求中包括第一账户,所述第一账户为第一协议下的账户;确定单元,用于确定与所述第一账户对应的第二账户,所述第二账户为目标协议下的账户;认证单元,用于对所述第二账户进行认证。
在第二方面一种可能的实现方式中,所述认证单元具有用于:获取所述业务请求的访问对象的授权账户信息,所述授权账户信息指示有权限访问所述访问对象的授权账户,所述授权账户为目标协议下的账户;根据所述访问对象的授权账户信息对所述第二账户进行认证。
在第二方面一种可能的实现方式中,所述装置还包括:第一账户创建单元,用于响应于主机发送的创建请求创建所述第一账户;第二账户创建或确定单元,用于创建或确定与所述第一账户具有相同访问权限的第二账户;记录单元,用于记录所述第一账户和所述第二账户之间的映射关系。
在第二方面一种可能的实现方式中,所述创建请求包括所述第一账户的权限信息,所述装置还包括:设置单元,用于在创建所述第二账户的情况中,根据所述第一账户的权限信息设置所述第二账户的权限信息,所述第二账户的权限信息用于指示对通过所述第二账户写入的数据的访问权限。
在第二方面一种可能的实现方式中,所述确定单元还用于,在确定与所述第一账户对应的所述第二账户之前,根据所述第一账户的格式确定所述第一账户为所述第一协议下的账户。
在第二方面一种可能的实现方式中,所述确定单元还用于,在确定与所述第一账户对应的所述第二账户之前,根据所述业务请求调用的接口的格式确定所述第一账户为所述第一协议下的账户。
在第二方面一种可能的实现方式中,所述业务请求为写请求,所述访问对象为存储空间,所述认证单元具体用于:在所述存储空间的第一授权账户信息包括所述第二账户情况下,所述第二账户认证通过,将所述写请求中包括的数据写入所述存储空间。
在第二方面一种可能的实现方式中,所述设置单元还用于:根据所述第二账户的权限信息对所述数据设置第二授权账户信息。
在第二方面一种可能的实现方式中,所述业务请求为读请求,所述访问对象为所述数据,所述认证单元具体用于:在所述第二授权账户信息包括所述第二账户的情况下,所述第二账户认证通过,读取所述数据并发送给所述主机。
本申请第三方面提供一种存储设备,其特征在于,包括处理器和存储器,所述存储器中存储有可执行计算机程序指令,所述处理器执行所述可执行计算机程序指令以实现第一方面或第一方面可能的实现方式所述的方法。
本申请第四方面提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序指令,当所述计算机程序指令在计算机或处理器中执行时,使得所述计算机或处理器执行第一方面或第一方面可能的实现方式所述的方法。
本申请第五方面提供一种计算机程序产品,包括计算机程序指令,当所述计算机程序指令在计算机或处理器中运行时,使得所述计算机或处理器执行第一方面或第一方面可能的实现方式所述的方法。
附图说明
通过结合附图描述本申请实施例,可以使得本申请实施例更加清楚:
图1A为本申请实施例所应用的盘控分离结构的集中式存储系统的架构图;
图1B为本申请实施例所应用的盘控一体结构的集中式存储系统的架构图;
图1C为本申请实施例所应用的分布式存储系统的架构图;
图2为本申请实施例提供的一种创建账户的方法流程图;
图3为本申请实施例提供的一种数据写入方法的流程图;
图4为本申请实施例提供的对非目标协议下的账户进行认证的过程示意图;
图5为本申请实施例提供的一种数据读取方法的流程图;
图6为本申请实施例提供的一种认证装置的架构图。
具体实施方式
下面将结合附图,对本申请实施例中的技术方案进行描述。
本申请实施例提供的账户认证方案可应用于存储系统中。存储系统包括集中式存储系统和分布式存储系统。所述集中式存储系统是指由一台或多台主设备组成中心节点,数据集中存储于这个中心节点中,并且整个系统的所有数据处理业务都集中部署在这个中心节点上。所述分布式存储系统是指将数据分散存储在多台独立的存储节点上的系统。用户可通过应用程序来向存储节点存取数据。运行这些应用程序的计算机被称为“应用服务器”。应用服务器可以是物理机,也可以是虚拟机。物理应用服务器包括但不限于桌面电脑、服务器、笔记本电脑以及移动设备。应用服务器可通过光纤交换机访问存储节点以存取数据。其中,交换机只是一个可选设备,应用服务器也可以直接通过网络与存储节点通信。
图1A为本申请实施例所应用的盘控分离结构的集中式存储系统120的架构图。该存储系统120与多个主机200连接,所述多个主机200例如为应用服务器,其都与存储系统120连接,以向存储系统120存取数据,可以理解,所述主机200不限于为应用服务器,例如,也可以为用户终端。图1A所示的集中式存储系统的特点是具有统一的入口,从主机200来的数据都要经过这个入口,这个入口例如为存储系统120中的引擎121。
如图1A所示,引擎121中有一个或多个控制器,图1A以引擎包含两个控制器为例予以说明。控制器0与控制器1之间具有镜像通道,那么当控制器0将一份数据写入其内存124后,可以通过所述镜像通道将所述数据的副本发送给控制器1,控制器1将所述副本存储在自己本地的内存124中。由此,控制器0和控制器1互为备份,当控制器0发生故障时,控制器1可以接管控制器0的业务,当控制器1发生故障时,控制器0可以接管控制器1的业务,从而避免硬件故障导致整个存储系统120的不可用。当引擎121中部署有4个控制器时,任意两个控制器之间都具有镜像通道,因此任意两个控制器互为备份。
引擎121还包含前端接口125和后端接口126,其中前端接口125用于与应用服务器通信,从而为应用服务器提供存储服务。而后端接口126用于与硬盘134通信,以扩充存储系统的容量。通过后端接口126,引擎121可以连接更多的硬盘134,从而形成一个非常大的存储资源池。
在硬件上,如图1A所示,控制器0至少包括处理器123、内存124。处理器123是一个中央处理器(central processing unit,CPU),用于处理来自存储系统外部(服务器或者其他存储系统)的数据访问请求,也用于处理存储系统内部生成的请求。示例性的,处理器123通过前端端口接收服务器发送的写数据请求时,会将这些写数据请求中的数据暂时保存在内存124中。当内存124中的数据总量达到一定阈值时,处理器123通过后端端口126将内存124中存储的数据发送给硬盘134进行持久化存储。
内存124是指与处理器123直接交换数据的内部存储器,它可以随时读写数据,而且速度很快,作为操作系统或其他正在运行中的程序的临时数据存储器。内存124包括至少两种存储器,例如内存既可以是随机存取存储器,也可以是只读存储器(Read OnlyMemory,ROM)。举例来说,随机存取存储器是动态随机存取存储器(Dynamic Random AccessMemory,DRAM),或者存储级存储器(Storage Class Memory,SCM)。DRAM是一种半导体存储器,与大部分随机存取存储器(Random Access Memory,RAM)一样,属于一种易失性存储器(volatile memory)设备。SCM是一种同时结合传统储存装置与存储器特性的复合型储存技术,存储级存储器能够提供比硬盘更快速的读写速度,但运算速度上比DRAM慢,在成本上也比DRAM更为便宜。然而,DRAM和SCM在本实施例中只是示例性的说明,内存还可以包括其他随机存取存储器,例如静态随机存取存储器(Static Random Access Memory,SRAM)等。而对于只读存储器,举例来说,可以是可编程只读存储器(Programmable Read Only Memory,PROM)、可抹除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)等。另外,内存124还可以是双列直插式存储器模块或双线存储器模块(DualIn-lineMemoryModule,简称DIMM),即由动态随机存取存储器(DRAM)组成的模块,还可以是固态硬盘(Solid State Disk,SSD)。实际应用中,控制器0中可配置多个内存124,以及不同类型的内存124。本实施例不对内存124的数量和类型进行限定。此外,可对内存124进行配置使其具有保电功能。保电功能是指系统发生掉电又重新上电时,内存124中存储的数据也不会丢失。具有保电功能的内存被称为非易失性存储器。
内存124中存储有软件程序,处理器123运行内存124中的软件程序可实现对硬盘的管理。所述对硬盘的管理例如将硬盘抽象化为存储资源池,然后划分为LUN提供给服务器使用等。这里的LUN其实就是在服务器上看到的硬盘。当然,一些集中式存储系统本身也是文件服务器,可以为服务器提供共享文件服务。
控制器1(以及其他图1A中未示出的控制器)的硬件组件和软件结构与控制器0类似,这里不再赘述。
在图1A所示的盘控分离的存储式系统中,引擎121可以不具有硬盘槽位,硬盘134需要放置在硬盘阵列130中,后端接口126与硬盘阵列130通信。后端接口126以适配卡的形态存在于引擎121中,一个引擎121上可以同时使用两个或两个以上后端接口126来连接多个硬盘阵列。或者,适配卡也可以集成在主板上,此时适配卡可通过PCIE总线与处理器123通信。
需要说明的是,图1A中只示出了一个引擎121,然而在实际应用中,存储系统中可包含两个或两个以上引擎121,多个引擎121之间做冗余或者负载均衡。
硬盘阵列130包括控制单元131和若干个硬盘134。控制单元131可具有多种形态。一种情况下,硬盘阵列130属于智能盘框,如图1A所示,控制单元131包括CPU和内存。CPU用于执行地址转换以及读写数据等操作。内存用于临时存储将要写入硬盘134的数据,或者从硬盘134读取出来将要发送给控制器的数据。另一种情况下,控制单元131是一个可编程的电子部件,例如数据处理单元(data processing unit,DPU)。DPU具有CPU的通用性和可编程性,但更具有专用性,可以在网络数据包,存储请求或分析请求上高效运行。DPU通过较大程度的并行性(需要处理大量请求)与CPU区别开来。可选的,这里的DPU也可以替换成图形处理单元(graphics processing unit,GPU)、嵌入式神经网络处理器(neural-networkprocessing units,NPU)等处理芯片。通常情况下,控制单元131的数量可以是一个,也可以是两个或两个以上。当硬盘阵列130包含至少两个控制单元131时,硬盘134与控制单元131之间具有归属关系,每个控制单元只能访问归属于它的硬盘,因此这往往涉及到在控制单元131之间转发读/写数据请求,导致数据访问的路径较长。另外,如果存储空间不足,在硬盘阵列130中增加新的硬盘134时需要重新绑定硬盘134与控制单元131之间的归属关系,操作复杂,导致存储空间的扩展性较差。因此在另一种实施方式中,控制单元131的功能可以卸载到网卡104上。换言之,在该种实施方式中,硬盘阵列130内部不具有控制单元131,而是由网卡104来完成数据读写、地址转换以及其他计算功能。此时,网卡104是一个智能网卡。它可以包含CPU和内存。CPU用于执行地址转换以及读写数据等操作。内存用于临时存储将要写入硬盘134的数据,或者从硬盘134读取出来将要发送给控制器的数据。也可以是一个可编程的电子部件,例如数据处理单元(data processing unit,DPU)。DPU具有CPU的通用性和可编程性,但更具有专用性,可以在网络数据包,存储请求或分析请求上高效运行。DPU通过较大程度的并行性(需要处理大量请求)与CPU区别开来。可选的,这里的DPU也可以替换成图形处理单元(graphics processing unit,GPU)、嵌入式神经网络处理器(neural-network processing units,NPU)等处理芯片。硬盘阵列130中的网卡104和硬盘134之间没有归属关系,网卡104可访问该硬盘阵列130中任意一个硬盘134,因此在存储空间不足时扩展硬盘会较为便捷。
按照引擎121与硬盘阵列130之间通信协议的类型,硬盘阵列130可能是SAS硬盘阵列,也可能是NVMe硬盘阵列以及其他类型的硬盘阵列。SAS硬盘阵列,采用SAS3.0协议,每个框支持25块SAS硬盘。引擎121通过板载SAS接口或者SAS接口模块与硬盘阵列130连接。NVMe硬盘阵列,更像一个完整的计算机系统,NVMe硬盘插在NVMe硬盘阵列内。NVMe硬盘阵列再通过RDMA端口与引擎121连接。
可以理解,图1A中虽然示出了具有盘控分离结构的集中式存储系统,但并不用于限制本申请实施例的应用范围,例如,本申请实施例还可以应用于图1B所示的盘控一体结构的集中式存储系统。在盘控一体结构的集中式存储系统中,与盘控分离结构不同在于,引擎121具有硬盘槽位,硬盘134可直接部署在引擎121中,后端接口126属于可选配置,当系统的存储空间不足时,可通过后端接口126连接更多的硬盘或硬盘阵列。
本申请实施例还可以应用于图1C所示的分布式的存储系统120。所述分布式的存储系统120包括存储节点集群。其中,存储节点集群包括一个或多个存储节点20(图1C中示出了三个存储节点20a、20b及20C,但不限于三个存储节点),各个存储节点20之间可以互联。每个存储节点20与多个主机200连接。每个主机200连接多个存储节点20,并且与多个存储节点20交互,以将数据分布存储在多个存储节点中20,从而实现数据的可靠存储。每个存储节点20至少包括处理器201、内存202、及硬盘203。其中,处理器201、内存202级硬盘203与图1A中的处理器123、内存124及硬盘134的结构及功能相同,具体请参看图1A中的相关描述,在此不再赘述。
在存储系统中,可为用户提供多个协议以用于不同场景下的业务处理。所述多个协议例如包括对象协议、文件协议、大数据协议、服务器消息块(Server Message Block,SMB)协议等协议,其中,对象协议适用于在互联网场景中对数据进行备份、归档等处理,文件协议适用于高性能计算的场景,大数据协议适用于统计分析的场景。在不同场景中可根据业务处理的需要构建不同协议下的业务模型,该业务模型可具有代码模块的形式。业务模型中为用户提供用于实现不同的业务操作的多个接口,例如写接口、读接口等。该业务模型可使用与处理场景对应的协议,从而,该模型的多个接口为基于对应的协议的接口。
不同的协议通常使用不同的账户类型来请求业务处理。例如,在对象协议中需要创建对象账户,在文件协议中需要创建Unix账户,在SMB协议中需要创建Windows账户等等。在相关技术中,多种协议融合互通,不同协议下的账户可访问同一份数据,但是不同的协议使用各自独立的认证模块(或模型)对不同协议下的账户进行认证,该认证模块可以为用于实现认证功能的一段代码,使用不同协议的业务模型可在其中引用认证模块的代码以实现模型的认证功能。例如,假设对象账户User1和Unix账户nfs1都具有对存储数据(例如对象obj1)的读写权限,而当用户使用账户User1对对象obj1的写操作时,存储系统中使用对象协议下的认证模块对账户User1进行认证,即,根据对象obj1的对象协议下的授权账户信息,确定对象obj1的授权写的对象协议的账户中是否包括账户User1;当用户使用账户nfs1对对象obj1的写操作时,存储系统中使用Unix协议下的认证模块对账户nfs1进行认证,即,根据对象obj1的Unix协议下的授权账户信息,确定对象obj1的授权写的文件协议的账户中是否包括账户nfs1。
另外,对象协议和文件协议中可以采用不同的形式记录存储数据的授权账户信息。具体是,在一种形式中,存储的数据的授权账户信息中包括该数据的写入账户的标识、该写入账户所属组的标识、以及权限信息,该权限信息例如具有预定数目的字段,每个字段的多个值与预定范围的账户的权限相对应,例如,权限信息可包括三个字段,其中,第1个字段表示写入该数据的账户的权限,第2个字段表示写入该账户所属的组中的账户的权限,第3个字段表示其他账户的权限,另外,每个字段的不同值表示不同的权限,例如,3表示读权限,4表示写权限,5表示读写权限,等等。在另一种形式中,可记录存储数据的访问控制列表(Access Control List,ACL),在ACL中记录了该数据的各种权限对应的授权账户的标识。
在上述相关技术中,由于对不同协议下的账户使用不同的认证模块进行账户认证,不同协议下的认证模块都需要包括对账户进行认证的代码,这些代码例如用于读取业务请求的访问对象的授权账户信息,根据授权账户信息确定待认证的账户是否为授权账户。其中,在业务请求为写请求的情况中,该写请求的访问对象为写请求对应的将写入数据的存储空间,该存储空间例如为与将写入数据的文件夹对应的存储空间。在业务请求为读请求的情况中,该读请求的访问对象为读请求对应的待读取的数据。因此,不同协议下的不同认证模块实际上用于实现相同的功能,存在较多的重复代码,占用了较多的存储资源。
同时,为了配合不同的认证模块的认证操作,需要对同一份数据记录各个协议的授权账户信息。例如,对于对象obj1,尤其在对象协议与文件协议采用不同的形式记录授权账户信息的情况下,需要单独地记录与对象协议对应授权账户信息和与文件协议对应的授权账户信息。从而对象协议下的认证模块可基于对象协议下的授权账户信息确定对象协议下的账户(例如User1)是否具有对对象obj1的访问权限,文件协议下的认证模块可基于文件协议下的授权账户信息确定文件协议下的账户(例如nfs1)是否具有对对象obj1的访问权限。同一个数据的与多个协议分别对应的授权账户信息造成了较多的数据重复,占用了存储系统的存储资源。
另外,不同协议下的账户经常对应于同一个用户,具有相同的存储访问权限,例如账户User1与账户nfs1可具有相同的存储访问权限,但是相对于对象obj1,需要同时记录用户User1和账户nfs1,这也造成了较多的数据冗余,占用了存储系统的存储资源。
本申请实施例提供了一种用户认证方法,通过将非目标协议的账户映射为目标协议的账户,从而可以使用目标协议下的认证模块对非目标协议的账户进行统一的用户认证,简化了存储系统中的账户认证模块,对于一份数据只需要记录一份授权账户信息,并且对于具有相同存储访问权限的不同协议的账户只需要在授权账户信息中记录一个账户,节省了存储系统的存储资源。其中,在存储系统中可预先确定目标协议,并设置与目标协议对应的账户认证模块,以对目标协议的账户以及其他非目标协议的账户统一进行账户认证。该方法可由图1A所示的存储系统120、图1B所示的存储系统120或者图1C所示的存储系统120执行,下文中以图1A中存储系统120为例进行描述。
在介绍具体的流程方法之前,首先对一些名词进行阐述。
访问对象:在本申请实施例中,当业务请求为读请求时,访问对象为数据;当业务请求为写请求时,访问对象为存储空间(例如文件夹)。
权限信息:指示的是账户所拥有的权限,例如,在创建账户A时,创建请求携带了一个权限信息指示由账户A写入的数据只能由账户A进行读写。又例如,账户B被设置了一个权限信息,指示账户B写入的数据只能由账户B进行读写。
授权账户信息:指示的是允许对访问对象进行访问操作的账户信息。例如,当访问对象为文件夹时,访问对象的授权账户信息可以为能够向该文件夹写入数据的账户及该账户的权限的信息。又例如,当访问对象为数据时,访问对象的授权账户信息可以为能够读取该数据的账户即该账户的权限的信息。
图2为本申请实施例提供的创建账户的方法流程图。该方法可由主机和存储系统执行。
如图2所示,在步骤S201,主机向存储系统发送创建协议A的账户A1的请求。
如上文所述,存储系统120可以为用户提供多个基于不同协议的业务模型。该多个业务模型可以存储在存储系统120的硬盘134中。以存储系统120中的控制器0运行业务模型为例,控制器0中的CPU123在运行任一业务模型之前,可从硬盘134读取该业务模型对应的代码模块,并将该代码模块存储到控制器0的内存124中,从而CPU123可运行内存124中存储的业务模型。
用户在将要使用存储系统中某个协议(例如协议A)的业务模型时,首先需要创建协议A下的账户,其中协议A例如可以为上述几种协议中的任一种协议。从而,用户可通过主机向存储系统发送创建协议A的账户A1的请求,其中,该请求中指定了待创建的账户A1的标识。
在该创建请求中还可以包括账户A1所属的组的信息,其中,账户A1所属的组为协议A下的账户组,该账户组中的账户具有特定的共同属性,例如该账户组中的多个账户对应的用户为相同实体组织的成员。另外,在该创建账户的请求中还可以包括权限信息,该权限信息例如用于指示对通过账户A1写入的数据的授权账户信息。例如,根据上文中记录授权账户信息的形式,该权限信息例如可以为“550”,其中,第1个字段(即最左侧)的“5”表示账户A1对账户A1写入的数据具有读写权限,第2个字段的“5”表示账户A1所属的组中的全部账户对账户A1写入的数据具有读写权限,第3个字段的“0”表示除所述组中的账户之外的其他账户对账户A1写入的数据没有读写权限。可以理解,在用户不指定权限信息的情况中,在存储系统120中可对账户设置默认权限信息。在一些协议中,该创建账户的请求中还可以包括待创建的账户A1的密码信息,等等。
在该创建账户的请求中可包括由基于协议A的业务模型MA提供的用于创建协议A下的账户的接口(即可调用函数)以调用该接口。其中,该接口具有协议A所规定的预定格式,在该接口中可包括上述账户标识、权限信息、密码信息、所属组信息等信息作为传入参数。
在步骤S202,存储系统根据创建请求创建账户A1。
存储系统在接收到创建账户A1的请求之后,CPU123可执行(即调用)该请求中包括的创建账户的接口,从而可根据该接口的具体代码创建协议A下的账户A1。具体是,CPU123可在协议A下的账户集合中添加账户A1,并根据该请求设置账户A1的其他信息,如密码信息、所属组信息等等。
在步骤S203,存储系统确定账户A1是否为非目标协议的账户。
具体是,在一种实施方式中,CPU123可根据上述创建请求调用的接口类型,确认该账户A1为协议A下的账户。在另一种实施方式中,不同的协议A下的账户具有不同的账户格式,CPU123可根据账户A1的格式来确定账户A1为协议A下的账户。在本申请实施例中,可在存储系统中的多个协议中指定一个协议(例如协议B)作为目标协议,可基于存储系统中的业务场景、操作环境、待处理的数据格式等因素确定目标协议。例如,在存储系统中处理大量文件数据的情况中,可将文件协议设置为目标协议。假设存储系统120中将协议B设置为目标协议,从而CPU123在确定账户A1为协议A下的账户的情况中,可确定账户A1为非目标协议的账户。
其中,在确定账户A1为非目标协议的账户之后,由于本申请实施例中通过使用与非目标协议的账户映射的目标协议的账户进行认证,因此,在确定账户A1为非目标协议账户的情况中,可以省略对账户A1设置权限信息。
如果CPU123通过上述过程确定账户A1为协议B下的账户,则可确定账户A1为目标协议下的账户。在该情况下,需要对该账户A1设置权限信息。具体是,在创建请求中包括权限信息的情况中,根据创建请求中包括的权限信息设置账户A1的权限信息,在创建请求中未包括权限信息的情况中,可根据默认的权限信息设置账户A1的权限信息。
在步骤S204,在确定账户A1是非目标协议的账户的情况中,存储系统创建或确定与账户A1具有相同访问权限的账户B1,账户B1为协议B下的账户。
在存储系统中,可根据存储系统中各个数据对应的授权账户信息获取账户的访问权限。在多协议融合互通的场景中,不同的协议下的账户可以对同一份数据具有相同的访问权限,如读写权限等。基于该多协议融合互通的场景,可确定与账户A1具有相同访问权限的协议B下的账户B1,作为与账户A1映射的目标协议账户。具体是,假设账户A1和账户B1对于存储系统中的相同的一个或多个数据具有相同的访问权限,则可确定账户A1与账户B1具有相同的存储访问权限。或者,假设账户A1和账户B1为存储系统中相同的一个或多个数据的相同访问权限的授权账户,则可确定账户A1与账户B1具有相同的存储访问权限。
在一种实施方式中,在存储系统120中当前不存在与账户A1具有相同存储访问权限的协议B下的账户。例如,假设账户A1的创建请求中包括的权限信息指示账户A1写入的数据仅允许账户A1进行读写,在该情况中,存储系统中由账户A1写入的数据的授权账户只有账户A1,因此,当前不存在与账户A1具有相同访问权限的账户。在该情况中,可以新创建一个与账户A1对应的协议B下的账户B1,使得该账户B1与账户A1具有相同存储访问权限。
具体是,可由CPU123生成账户A1对应的账户B1。之后,CPU123在协议B下的账户集合中添加账户B1,并在账户B1的数据中设置账户B1的权限信息。存储系统可根据上述创建请求中的账户A1的权限信息,按照协议B下的权限设置规则设置账户B1的权限信息,使得账户B1的权限信息与账户A1的权限信息指示相同的访问权限,同时使得账户B1的权限信息指示协议B下的账户的访问权限。例如,假设创建请求中包含的权限信息为由账户A1写入的数据仅允许账户A1读写,则可将账户B1的权限信息相应地设置为500,如上文所述,该数值中的每位表示一个字段,其中,第1个字段与账户B1对应,数值5表示账户B1对于账户B1写入的数据具有读写权限,第2个字段与账户B1所属的组对应,数值0表示账户B1所属组中的其他账户对于账户B1写入的数据没有读写权限,第3个字段与其他账户对应,数值0表示其他账户对于账户B1写入的数据没有读写权限。通过如上所述设置账户B1的权限信息,表示由账户B1写入的数据仅允许账户B1读写,而账户B1与账户A1相对应,因此也即表示由账户A1写入的数据仅允许账户A1读写。
在另一种实施方式中,在存储系统中的协议B下的账户集合中已经包括与账户A1具有相同存储访问权限的账户B1。例如,账户A1属于A协议下的账户组M,组M中的每个账户在创建时都将权限信息设置为550,即该组M中的每个账户的写入数据允许该组M中的每个账户读写,因此,该组M中的每个账户具有相同的存储访问权限。在该情况中,假设组M中还包括账户A2,CPU123在创建A2时已经预先创建了与账户A2映射的协议B下的账户B1,即,账户A2与账户B1具有相同的存储访问权限,从而,可以容易地确定,账户B1与账户A1具有相同的存储访问权限。
在另一种实施方式中,用户可通过主机200向存储系统120发送创建或指定与账户A1具有相同访问权限的协议B的账户B1的请求(图2中未示出)。在该情况下,由主机200触发存储系统120执行步骤S204,存储系统120不需要执行步骤S203以触发对步骤S204的执行,即,步骤S203为可选的步骤。
在步骤S205,存储系统记录账户A1与账户B1的映射关系。
具体是,CPU123可在协议A下的账户A1的数据中记录账户A1映射的目标协议下的账户为账户B1。
在步骤S206,存储系统向主机返回响应信息。
该响应信息用于指示对账户A1的创建成功。其中,在图2中所示的用户未通过主机发送创建或指定与账户A1对应的账户B1的请求的情况中,存储系统120还可以将账户B1的标识返回该用户,从而用户可使用该账户B1进行协议B下的业务处理。
在进行上述对账户A1的创建过程之后,创建了账户A1,并确定了与账户A1对应的目标协议下的账户B1。用户可通过账户A1进行业务模型MA中的任何业务处理,而在进行业务处理的过程中需要对账户A1进行认证时,则可以使用协议B下的统一的认证过程对账户B1进行认证,该认证的结果可作为对账户A1的认证结果。下文中以数据写入/读取过程为例描述本申请实施例提供的在业务处理过程中的认证过程。
图3为本申请实施例提供的数据写入方法的流程图,该方法由主机和存储系统执行。
如图3所示,首先,在步骤S301,主机向存储系统发送包括账户A1的写请求,该写请求中包括待写的数据,以及用于写入所述数据的存储空间,该存储空间例如为文件夹对应的存储空间。
具体是,有主机200发送的该写请求可以包括协议A下的写接口以调用该写接口,上述在写请求中包括的待写数据、用于写入的存储空间等可以为该写接口的传入参数,该写请求中的账户A1表示该写请求由与该账户A1对应的用户发送。存储系统120在接收到该写请求之后,与上文类似地,CPU123可根据该写请求中包括的接口的格式或者账户A1的格式确定账户A1为协议A下的账户,即不是目标协议下的账户。当确定账户A1为非目标协议下的账户时,执行步骤S302。
在步骤S302,存储系统确定与账户A1对应的账户B1。
具体是,存储系统可基于预先记录的账户A1与账户B1的映射关系,确定账户A1与账户B1对应。
在步骤S303,存储系统获取用于写入的存储空间的授权账户的信息。
所述用于写入的存储空间通常由用户进行申请,或者由存储系统默认分配。该用于写入的存储空间例如为与文件夹对应的存储空间。以文件夹为例,用户在创建文件夹时,会指定允许对该文件夹进行写入和/或读取的账户,即指定该文件夹的授权账户信息,其中包括被授权写的账户的信息。存储系统120中可在硬盘134中记录该文件夹对应的授权账户信息,从而CPU123可从硬盘134中读取该文件夹的授权账户信息。CPU123也可以在之前对该文件夹的访问中在内存中缓存了该文件夹的授权账户信息,从而CPU123也可以从内存中读取该文件夹的授权账户信息。
可以理解,该获取的被授权写的账户的信息用于与账户B1进行比对,以确定账户B1是否具有写权限。而在本申请实施例中,在进行用户认证时,对于目标协议的账户可以直接认证,对于非目标协议下的账户,使用该账户对应的目标协议的账户进行认证。
在步骤S304,存储系统根据存储空间的授权账户信息对账户B1进行认证。
存储系统120可根据授权账户信息和账户B1的信息,验证账户B1是否为被授权写的账户,如果是,则对账户B1的认证通过,可以将由主机200发送的写请求中的数据写入存储空间中。由于账户B1与账户A1具有相同的访问权限,因此,可确定账户A1具有对所述存储空间的写权限,对账户A1的认证通过。
图4为本申请实施例提供的对非目标协议下的账户进行认证的过程示意图。如图4所示,在存储系统120中,对于多个协议,只需要设置目标协议(例如协议B)下的认证模块,而不需要对每种协议都设置对应的认证模块,不同协议的业务模型都可以引用该协议B下的认证模块进行账户认证。并且对于存储系统中的访问对象(例如将要写入的存储空间、待读取的数据等),只需要设置目标协议下的授权账户信息,另外,以将要写入的存储空间为例,只需要在存储空间的授权账户信息中记录目标协议下的授权账户的标识(例如授权写的账户标识、授权读的账户标识,等等),从而大大节省了存储资源。当协议B下的认证模块对账户A1进行认证时,根据访问对象的授权账户信息确定账户A1对应的账户B1是否为授权账户,从而可确定账户A1是否被授权。
在步骤S305,存储系统在认证通过之后写入数据,根据账户B1的权限信息设置数据的授权账户信息。
在确定账户A1具有写权限的情况中,存储系统可根据该写请求在所述存储空间中写入数据。具体是,CPU123可将写入数据的请求发送给硬盘134,从而硬盘134在指定的存储空间中写入数据,以对该数据进行持久性存储。硬盘134在完成该写入之后,向CPU123返回完成信息。
在写入数据之后,CPU123可根据账户B1的权限信息来设置写入的数据的授权账户信息。例如,账户B1的权限信息为550,该权限信息指示由账户B1写入的数据允许账户B1读写,并允许账户B1所属的组M中的账户读写。从而,CPU123对该写入的数据可设置如下授权账户信息:“账户B1”、“组M”、“550”。其中,“账户B1”表示写入该数据的账户的标识,“组M”表示账户B1所属的组的标识,“550”表示该数据允许写入该数据的账户及该账户所属组中的其他账户进行读写,也即允许组M中的全部账户进行读写。CPU123可将上述授权账户信息发送给硬盘134,以在硬盘134中与写入的数据关联地存储。在一种实施方式中,CPU123可向硬盘134发送写入待写的数据及其授权账户信息的请求,以将待写数据及其授权账户信息写入到连续的地址中。
在步骤S306,存储系统在写入数据并设置数据的授权账户信息之后,向主机返回响应信息,以指示成功写入数据。
从上面写入过程可以看出,本申请实施例中,对于非目标协议的账户的写请求,通过基于该账户对应的目标协议的账户进行认证,使得可使用统一的目标协议下的认证模块、以及目标协议下的授权账户信息对各个协议的账户进行认证,节省了系统资源。
图5为本申请实施例提供的数据读取方法的流程图,该方法可由主机和存储系统执行。
如图5所示,在步骤S501,主机向存储系统发送包括账户A1的读请求,该读请求可包括待读的数据的地址信息。
具体是,该读请求中包括协议A下的读接口以调用该读接口,所述账户A1和所述地址信息可以为该读接口的传入参数,该读请求中的账户A1表示该读请求由与该账户A1对应的用户发送。存储系统120在接收到该读请求之后,CPU123可根据该读请求包括的读接口的格式或者账户A1的格式确定账户A1为协议A下的账户,即不是目标协议下的账户。
在步骤S502,存储系统确定与账户A1对应的账户B1。
该步骤可参考上文对步骤S302的描述,在此不再赘述。
在步骤S503,存储系统获取待读的数据的授权账户信息。
假设待读的数据为上文中通过图3所示的方法写入的数据,根据上文写入数据的方法过程,CPU123在写入数据之后记录该数据的授权账户信息,即“账户B1”、“组M”、“550”,从而,CPU123可从硬盘134中记录的该数据的授权账户信息中读取该数据的被授权读的账户的信息。在一些情况中,CPU123在之前读取该数据之后已经将该数据及对应的授权账户信息缓存在内存中,从而CPU123可从内存中读取该数据的授权账户信息。与上文类似地,该授权账户信息中包括目标协议下的账户的信息。具体是,从所述授权账户信息“账户B1”、“组M”、“550”中可以确定,该数据的被授权读的账户包括组M中的全部账户,其中包括账户B1。
在步骤S504,存储系统根据授权账户信息对账户B1进行认证。
具体是,CPU123可根据所述数据的授权账户信息,确定账户B1是否在该数据的被授权读的账户中,在确定结果为是的情况中,对账户B1的认证通过。由于账户B1与账户A1具有相同的访问权限,因此,可确定账户A1具有对所述数据的读权限,对账户A1的认证通过。
在步骤S505,存储系统在认证通过之后读取数据。
在确定账户A1具有读权限的情况中,存储系统可根据该读请求读取数据。具体是,CPU123可向硬盘134发送读取数据的请求,从而硬盘134可从预定地址读取数据并返回给CPU123。在该数据缓存在内存中的情况中,CPU123可从内存中读取该数据。
在步骤S506,存储系统在读取数据之后,向主机返回读取的数据。
从上面读取过程可以看出,本申请实施例中,对于非目标协议的账户的读请求,通过基于该账户对应的目标协议的账户进行认证,使得可使用统一的目标协议下的认证模块、和数据的目标协议下的授权账户信息对各个协议的账户进行认证,节省了系统资源。
图6为本申请实施例提供的一种认证装置的架构图,所述认证装置用于执行图2、图3或图5所示的方法,所述认证装置包括:
接收单元61,用于接收主机发送的业务请求,所述业务请求中包括第一账户,所述第一账户为第一协议下的账户;
确定单元62,用于确定与所述第一账户对应的第二账户,所述第二账户为目标协议下的账户;
认证单元63,用于对所述第二账户进行认证。
在一种可能的实现方式中,所述认证单元63具有用于:获取所述业务请求的访问对象的授权账户信息,所述授权账户信息指示有权限访问所述访问对象的授权账户,所述授权账户为目标协议下的账户;根据所述访问对象的授权账户信息对所述第二账户进行认证。
在一种可能的实现方式中,所述认证装置还包括:
第一账户创建单元,用于响应于主机发送的创建请求创建所述第一账户;
第二账户创建或确定单元,用于创建或确定与所述第一账户具有相同访问权限的第二账户;
记录单元,用于记录所述第一账户和所述第二账户之间的映射关系。
在一种可能的实现方式中,所述创建请求包括所述第一账户的权限信息,所述认证装置还包括:设置单元,用于在创建所述第二账户的情况中,根据所述第一账户的权限信息设置所述第二账户的权限信息,所述第二账户的权限信息用于指示对通过所述第二账户写入的数据的访问权限。
在一种可能的实现方式中,所述确定单元62还用于,在确定与所述第一账户对应的所述第二账户之前,根据所述第一账户的格式确定所述第一账户为所述第一协议下的账户。
在一种可能的实现方式中,所述确定单元62还用于,在确定与所述第一账户对应的所述第二账户之前,根据所述业务请求调用的接口的格式确定所述第一账户为所述第一协议下的账户。
在一种可能的实现方式中,所述业务请求为写请求,所述访问对象为存储空间,所述认证单元63具体用于:在所述存储空间的第一授权账户信息包括所述第二账户的情况下,所述第二账户认证通过,将所述写请求中包括的数据写入所述存储空间。
在一种可能的实现方式中,所述设置单元还用于:根据所述第二账户的权限信息对所述数据设置第二授权账户信息。
在一种可能的实现方式中,所述业务请求为读请求,所述访问对象为所述数据,所述认证单元63具体用于:在所述第二授权账户信息包括所述第二账户的情况下,所述第二账户认证通过,读取所述数据并发送给所述主机。
本申请实施例还提供一种存储设备,包括处理器和存储器,所述存储器中存储有可执行计算机程序指令,所述处理器执行所述可执行计算机程序指令以实现如图2、图3或图5所示的方法。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序指令,当所述计算机程序指令在计算机或处理器中执行时,使得所述计算机或处理器执行如图2、图3或图5所示的方法。
本申请实施例还提供一种计算机程序产品,包括计算机程序指令,当所述计算机程序指令在计算机或处理器中运行时,使得所述计算机或处理器执行如图2、图3或图5所示方法。
需要理解,本文中的“第一”,“第二”等描述,仅仅为了描述的简单而对相似概念进行区分,并不具有其他限定作用。
本领域的技术人员可以清楚地了解到,本申请提供的各实施例的描述可以相互参照,为描述的方便和简洁,例如关于本申请实施例提供的各装置、设备的功能以及执行的步骤可以参照本申请方法实施例的相关描述,各方法实施例之间、各装置实施例之间也可以互相参照。
本领域技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的全部或部分步骤;而前述的存储介质包括:只读存储器(read-only memory,ROM)、随机存取存储器(random-access memory,RAM)、磁盘或者光盘等各种可以存储程序代码的介质。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质、或者半导体介质(例如固态硬盘(Solid StateDisk,SSD)等。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,在没有超过本申请的范围内,可以通过其他的方式实现。例如,以上所描述的实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
另外,所描述装置和方法以及不同实施例的示意图,在不超出本申请的范围内,可以与其它系统,模块,技术或方法结合或集成。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电子、机械或其它的形式。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
Claims (20)
1.一种认证方法,其特征在于,所述方法包括:
接收主机发送的业务请求,所述业务请求中包括第一账户,所述第一账户为第一协议下的账户;
确定与所述第一账户对应的第二账户,所述第二账户为目标协议下的账户;
对所述第二账户进行认证。
2.根据权利要求1所述的方法,其特征在于,所述对所述第二账户进行认证包括:
获取所述业务请求的访问对象的授权账户信息,所述授权账户信息指示有权限访问所述访问对象的授权账户,所述授权账户为目标协议下的账户;
根据所述访问对象的授权账户信息对所述第二账户进行认证。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
响应于主机发送的创建请求创建所述第一账户;
创建或确定与所述第一账户具有相同访问权限的第二账户;
记录所述第一账户和所述第二账户之间的映射关系。
4.根据权利要求3所述的方法,其特征在于,所述创建请求包括所述第一账户的权限信息,在创建所述第二账户的情况中,所述方法还包括:根据所述第一账户的权限信息设置所述第二账户的权限信息,所述第二账户的权限信息用于指示对通过所述第二账户写入的数据的访问权限。
5.根据权利要求1-4任一所述的方法,其特征在于,在所述确定与所述第一账户对应的所述第二账户之前,所述方法还包括:
根据所述第一账户的格式确定所述第一账户为所述第一协议下的账户。
6.根据权利要求1-4任一所述的方法,其特征在于,在所述确定与所述第一账户对应的所述第二账户之前,所述方法还包括:
根据所述业务请求调用的接口的格式确定所述第一账户为所述第一协议下的账户。
7.根据权利要求4所述的方法,其特征在于,所述业务请求为写请求,所述访问对象为存储空间,所述根据所述访问对象的授权账户信息对所述第二账户进行认证具体包括:在所述存储空间的第一授权账户信息包括所述第二账户的情况下,所述第二账户认证通过;将所述写请求中包括的数据写入所述存储空间。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:根据所述第二账户的权限信息对所述数据设置第二授权账户信息。
9.根据权利要求8所述的方法,其特征在于,所述业务请求为读请求,所述访问对象为所述数据,所述根据所述访问对象的授权账户信息对所述第二账户进行认证具体包括,在所述第二授权账户信息包括所述第二账户的情况下,所述第二账户认证通过,读取所述数据并发送给所述主机。
10.一种认证装置,其特征在于,所述装置包括:
接收单元,用于接收主机发送的业务请求,所述业务请求中包括第一账户,所述第一账户为第一协议下的账户;
确定单元,用于确定与所述第一账户对应的第二账户,所述第二账户为目标协议下的账户;
认证单元,用于对所述第二账户进行认证。
11.根据权利要求10所述的装置,其特征在于,所述认证单元具有用于:
获取所述业务请求的访问对象的授权账户信息,所述授权账户信息指示有权限访问所述访问对象的授权账户,所述授权账户为目标协议下的账户;
根据所述访问对象的授权账户信息对所述第二账户进行认证。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:
第一账户创建单元,用于响应于主机发送的创建请求创建所述第一账户;
第二账户创建或确定单元,用于创建或确定与所述第一账户具有相同访问权限的第二账户;
记录单元,用于记录所述第一账户和所述第二账户之间的映射关系。
13.根据权利要求12所述的装置,其特征在于,所述创建请求包括所述第一账户的权限信息,所述装置还包括:设置单元,用于在创建所述第二账户的情况中,根据所述第一账户的权限信息设置所述第二账户的权限信息,所述第二账户的权限信息用于指示对通过所述第二账户写入的数据的访问权限。
14.根据权利要求10-13任一所述的装置,其特征在于,所述确定单元还用于,在确定与所述第一账户对应的所述第二账户之前,根据所述第一账户的格式确定所述第一账户为所述第一协议下的账户。
15.根据权利要求10-13任一所述的装置,其特征在于,所述确定单元还用于,在确定与所述第一账户对应的所述第二账户之前,根据所述业务请求调用的接口的格式确定所述第一账户为所述第一协议下的账户。
16.根据权利要求13所述的装置,其特征在于,所述业务请求为写请求,所述访问对象为存储空间,所述认证单元具体用于:在所述存储空间的第一授权账户信息包括所述第二账户的情况下,所述第二账户认证通过,将所述写请求中包括的数据写入所述存储空间。
17.根据权利要求16所述的装置,其特征在于,所述设置单元还用于:根据所述第二账户的权限信息对所述数据设置第二授权账户信息。
18.根据权利要求17所述的装置,其特征在于,所述业务请求为读请求,所述访问对象为所述数据,所述认证单元具体用于:在所述第二授权账户信息包括所述第二账户的情况下,所述第二账户认证通过,读取所述数据并发送给所述主机。
19.一种存储设备,其特征在于,包括处理器和存储器,所述存储器中存储有可执行计算机程序指令,所述处理器执行所述可执行计算机程序指令以实现权利要求1-9任意一项所述的方法。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序指令,当所述计算机程序指令在计算机或处理器中执行时,使得所述计算机或处理器执行权利要求1-9中任一项的所述的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110743679.3A CN115544489A (zh) | 2021-06-30 | 2021-06-30 | 一种认证方法、装置和存储系统 |
PCT/CN2022/097153 WO2023273803A1 (zh) | 2021-06-30 | 2022-06-06 | 一种认证方法、装置和存储系统 |
EP22831624.6A EP4357949A1 (en) | 2021-06-30 | 2022-06-06 | Authentication method and apparatus, and storage system |
US18/397,208 US20240126847A1 (en) | 2021-06-30 | 2023-12-27 | Authentication method and apparatus, and storage system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110743679.3A CN115544489A (zh) | 2021-06-30 | 2021-06-30 | 一种认证方法、装置和存储系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115544489A true CN115544489A (zh) | 2022-12-30 |
Family
ID=84690002
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110743679.3A Pending CN115544489A (zh) | 2021-06-30 | 2021-06-30 | 一种认证方法、装置和存储系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20240126847A1 (zh) |
EP (1) | EP4357949A1 (zh) |
CN (1) | CN115544489A (zh) |
WO (1) | WO2023273803A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116070294B (zh) * | 2023-03-07 | 2023-07-14 | 浪潮电子信息产业股份有限公司 | 一种权限管理方法、系统、装置、服务器及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8117254B2 (en) * | 2000-12-15 | 2012-02-14 | Microsoft Corporation | User name mapping in a heterogeneous network |
CN103905454A (zh) * | 2014-04-04 | 2014-07-02 | 浪潮电子信息产业股份有限公司 | 一种跨平台统一认证管理架构 |
CN106357609B (zh) * | 2016-08-22 | 2019-09-20 | 深圳市先河系统技术有限公司 | 一种创建用户的方法和系统、公网服务器及私有云设备 |
-
2021
- 2021-06-30 CN CN202110743679.3A patent/CN115544489A/zh active Pending
-
2022
- 2022-06-06 WO PCT/CN2022/097153 patent/WO2023273803A1/zh active Application Filing
- 2022-06-06 EP EP22831624.6A patent/EP4357949A1/en active Pending
-
2023
- 2023-12-27 US US18/397,208 patent/US20240126847A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20240126847A1 (en) | 2024-04-18 |
EP4357949A1 (en) | 2024-04-24 |
WO2023273803A1 (zh) | 2023-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20080022120A1 (en) | System, Method and Computer Program Product for Secure Access Control to a Storage Device | |
US6816948B2 (en) | Storage system certifying a host computer | |
EP2830284A1 (en) | Caching method for distributed storage system, node and computer readable medium | |
US20090276774A1 (en) | Access control for virtual machines in an information system | |
WO2018068626A1 (zh) | 一种磁盘锁的管理方法、装置和系统 | |
US20180267906A1 (en) | Shared memory controller, shared memory module, and memory sharing system | |
US20240126847A1 (en) | Authentication method and apparatus, and storage system | |
WO2023000770A1 (zh) | 一种处理访问请求的方法、装置、存储设备及存储介质 | |
KR20220060909A (ko) | 스토리지 시스템 및 스토리지 시스템의 동작 방법 | |
CN104133723A (zh) | 一种管理存储系统的方法 | |
CN111600755B (zh) | 上网行为管理系统和方法 | |
CN115442083B (zh) | 设备接入方法、数据交换方法、装置、设备及存储介质 | |
US20220156146A1 (en) | Memory controller performing selective and parallel error correction, system including the same and operating method of memory device | |
US11805114B2 (en) | Enhanced N-layer SSO controlled authentication for enterprise devices | |
CN111666579B (zh) | 计算机设备及其访问控制方法和计算机可读介质 | |
US11991208B2 (en) | Secure fibre channel/NVMe fabric communication system | |
US11301557B2 (en) | System and method for data processing device management | |
US10268418B1 (en) | Accessing multiple data snapshots via one access point | |
CN113254415B (zh) | 一种分布式文件系统读请求处理方法及装置 | |
US11475171B2 (en) | Authentication using pairwise secrets constructed from partial secrets | |
US11914879B2 (en) | Storage controller and storage system comprising the same | |
US12032849B2 (en) | Distributed storage system and computer program product | |
US20210311654A1 (en) | Distributed Storage System and Computer Program Product | |
US10877685B2 (en) | Methods, devices and computer program products for copying data between storage arrays | |
WO2024051252A1 (zh) | 数据处理方法及装置 |
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 |