CN115982778B - Obs文件访问方法、系统、装置、电子设备及存储介质 - Google Patents
Obs文件访问方法、系统、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115982778B CN115982778B CN202310240657.4A CN202310240657A CN115982778B CN 115982778 B CN115982778 B CN 115982778B CN 202310240657 A CN202310240657 A CN 202310240657A CN 115982778 B CN115982778 B CN 115982778B
- Authority
- CN
- China
- Prior art keywords
- file
- information
- obs
- target
- authentication
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Storage Device Security (AREA)
Abstract
本发明提供一种OBS文件访问方法、系统、装置、电子设备及存储介质,涉及云端数据处理技术领域,其中OBS文件访问方法,包括:接收客户端身份鉴权通过后传输的加密文件ID信息,加密文件ID信息携带目标用户有权限请求查看的目标文件的文件ID信息;基于加密文件ID信息,生成访问OBS存储桶的ACL权限信息;基于ACL权限信息,接收OBS存储桶鉴权通过后返回的文件下载地址,并将目标文件下载完成后反馈至客户端。使用本发明不仅减少了重复鉴权的工作量,也满足了对OBS存储桶的安全访问,从而大幅提高了访问OBS存储桶内文件的安全性和高效性。
Description
技术领域
本发明涉及云端数据处理技术领域,尤其涉及一种OBS文件访问方法、系统、装置、电子设备及存储介质。
背景技术
随着互联网的飞速发展,对象存储服务(Object Storage Service,OBS)存储桶的文件存储能力逐渐从最初的几十千字节(Kilobyte,KB)增长到现在的几百太字节(Terabyte,TB),OBS存储桶对于文件的读写、传输等能力也得到了极大提升。因此,当企业使用OBS存储桶存储大量文件时,所存储文件的安全性也随之面临极大挑战。
相关技术中,针对OBS存储桶的文件存储问题,可以将OBS存储桶内的所有文件都设置为公共权限;也可以设置OBS存储桶和对象都有与之关联的访问控制列表(AccessControl Lists,ACL),并使用ACL对大量文件进行分级分类,使得每级每类文件都对应具备查看权限的用户。
然而,当OBS存储桶所有文件均设置为公共权限时,极易造成信息泄露等安全问题;使用ACL对文件进行分级分类的工作量巨大,而且ACL也很难满足权限控制的细粒度要求,从而导致用户直接访问OBS存储桶内文件时文件安全性不高。
发明内容
本发明提供一种OBS文件访问方法、系统、装置、电子设备及存储介质,用以解决现有技术中OBS存储桶内所有文件均设置为公共权限以及使用ACL对文件分级分类设置查看权限的用户所导致的用户直接访问OBS存储桶内文件时文件安全性不高的缺陷,通过用户访问文件时先由客户端进行身份权限校验、身份鉴权通过后再由后端访问OBS存储桶、后由后端将下载的文件返回至用户的方式,无需用户直接访问OBS存储桶,而是使用后端统一进行上传下载,不仅减少了重复鉴权的工作量,也满足了对OBS存储桶的安全访问,从而大幅提高了访问OBS存储桶内文件的安全性和高效性。
第一方面,本发明提供一种OBS文件访问方法,应用于文件服务器,包括:
接收客户端身份鉴权通过后传输的加密文件ID信息,所述加密文件ID信息携带目标用户有权限请求查看的目标文件的文件ID信息;
基于所述加密文件ID信息,生成访问OBS存储桶的ACL权限信息;
基于所述ACL权限信息,接收所述OBS存储桶鉴权通过后返回的文件下载地址,并将所述目标文件下载完成后反馈至所述客户端。
根据本发明提供的一种OBS文件访问方法,所述基于所述加密文件ID信息,生成访问OBS存储桶的ACL权限信息,包括:
对所述加密文件ID信息进行解密,确定所述文件ID信息;
在基于所述文件ID信息识别所述目标文件为非公共文件类型的情况下,生成所述访问OBS存储桶的ACL权限信息。
根据本发明提供的一种OBS文件访问方法,所述在基于所述文件ID信息识别所述目标文件为非公共文件类型的情况下,生成所述访问OBS存储桶的ACL权限信息,包括:
在基于所述文件ID信息识别所述目标文件为非公共文件类型的情况下,基于文件ID信息-存储桶内文件地址之间的映射关系,获取与所述文件ID信息对应的OBS存储桶内文件地址;
基于所述OBS存储桶内文件地址,调用文件上传接口提供的软件开发工具包,生成访问OBS存储桶的ACL权限信息;
其中,所述OBS存储桶内文件地址为所述OBS存储桶内存储所述目标文件的地址。
根据本发明提供的一种OBS文件访问方法,所述基于所述ACL权限信息,接收所述OBS存储桶鉴权通过后返回的文件下载地址,并将所述目标文件下载完成后反馈至所述客户端,包括:
在所述ACL权限信息携带待鉴权密码信息和所述OBS存储桶内文件地址的情况下,基于所述待鉴权密码信息,生成访问所述OBS存储桶的鉴权请求;
接收针对所述鉴权请求反馈的鉴权通过结果;
基于所述鉴权通过结果,接收所述OBS存储桶针对所述OBS存储桶内文件地址返回的文件下载地址;
基于所述下载地址下载所述目标文件,并将下载完成的所述目标文件通过文件流形式反馈至所述客户端。
第二方便,本发明还提供一种OBS文件访问方法,应用于客户端,包括:
获取文件访问请求,所述文件访问请求包括目标用户的用户基本信息和请求查看的目标文件的文件ID信息;
基于所述文件访问请求进行身份鉴权;
基于鉴权通过结果,对所述文件ID信息进行加密,并将加密后确定的加密文件ID信息传输至文件服务器。
第三方面,本发明还提供一种OBS文件访问方法,应用于OBS存储桶,包括:
接收文件服务器传输的ACL权限信息,所述ACL权限信息是所述文件服务器基于加密文件ID信息生成的,所述加密文件ID信息携带目标用户有权限请求查看的目标文件的文件ID信息;
确定与所述ACL权限信息对应的签名信息;
在所述签名信息处于有效期的情况下,确定鉴权通过,并向所述文件服务器返回所述目标文件的文件下载地址。
第四方面,本发明还提供一种OBS文件访问系统,包括文件服务器、客户端和OBS存储桶,所述文件服务器分别与所述客户端和所述OBS存储桶连接,所述文件服务器用于执行前述第一方面所述的方法,所述客户端用于执行前述第二方面所述的方法,所述OBS存储桶用于执行前述第三方面所述的方法。
第五方面,本发明还提供一种OBS文件访问装置,包括:
加密信息接收模块,用于接收客户端身份鉴权通过后传输的加密文件ID信息,所述加密文件ID信息携带目标用户有权限请求查看的目标文件的文件ID信息;
ACL权限生成模块,用于基于所述加密文件ID信息,生成访问OBS存储桶的ACL权限信息;
文件下载反馈模块,用于基于所述ACL权限信息,接收所述OBS存储桶鉴权通过后返回的文件下载地址,并将所述目标文件下载完成后反馈至所述客户端。
第六方面,本发明还提供一种OBS文件访问装置,包括:
访问请求获取模块,用于获取文件访问请求,所述文件访问请求包括目标用户的用户基本信息和请求查看的目标文件的文件ID信息;
访问请求鉴权模块,用于基于所述文件访问请求进行身份鉴权;
信息加密传输模块,用于基于鉴权通过结果,对所述文件ID信息进行加密,并将加密后确定的加密文件ID信息传输至文件服务器。
第七方面,本发明还提供一种OBS文件访问装置,包括:
ACL权限接收模块,用于接收文件服务器传输的ACL权限信息,所述ACL权限信息是所述文件服务器基于加密文件ID信息生成的,所述加密文件ID信息携带目标用户有权限请求查看的目标文件的文件ID信息;
签名信息确定模块,用于确定与所述ACL权限信息对应的签名信息;
下载地址传输模块,用于在所述签名信息处于有效期的情况下,确定鉴权通过,并向所述文件服务器返回所述目标文件的文件下载地址。
第八方面,本发明还提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如前述任一所述OBS文件访问方法。
第九方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现前述任一所述OBS文件访问方法。
本发明提供的OBS文件访问方法、系统、装置、电子设备及存储介质,其中OBS文件访问方法,文件服务器通过先接收客户端身份鉴权通过后传输的加密文件ID信息、再生成访问OBS存储桶的ACL权限信息、后基于接收的OBS存储桶鉴权通过后返回的文件下载地址将目标文件下载完成后反馈至客户端的方式,实现对OBS存储桶内文件的安全访问目的。由于加密文件ID信息携带目标用户有权限请求查看的目标文件的文件ID信息,因此结合用户访问文件时先由客户端进行身份权限校验、身份鉴权通过后再由后端访问OBS存储桶、后由后端将下载的文件返回至用户的方式,无需用户直接访问OBS存储桶,而是使用后端统一进行上传下载,不仅减少了重复鉴权的工作量,也满足了对OBS存储桶的安全访问,从而大幅提高了访问OBS存储桶内文件的安全性和高效性。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的OBS文件访问方法的流程示意图之一;
图2是本发明提供的OBS文件访问方法的流程示意图之二;
图3是本发明提供的OBS文件访问方法的流程示意图之三;
图4是本发明提供的OBS文件访问系统的信息交互流程示意图;
图5是本发明实施例提供的OBS文件访问装置的结构示意图之一;
图6是本发明实施例提供的OBS文件访问装置的结构示意图之二;
图7是本发明实施例提供的OBS文件访问装置的结构示意图之三;
图8是本发明实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
众所周知,OBS是一种存储海量文件的分布式存储服务,用户可以通过网络随时存储和查看数据。对象存储使所有用户都能使用具备高扩展性、低成本、可靠和安全的数据存储服务。进一步的,对象存储可以通过控制台、应用程序编程接口(ApplicationProgramming Interface,API)、软件开发工具包(Software Development Kit,SDK)和工具等多样化方式简单、快速地接入,实现了海量数据存储和管理。通过对象存储可以进行任一格式文件的上传、下载和管理。
目前的云服务商对象存储,如阿里云运营支撑系统(Operation SupportSystems,OSS)、腾讯云对象存储(Cloud Object Storage,COS)等均提供了一套文件访问控制权的方法,但是需要对文件进行分级分类建立新的一套权限体系进行保存,特别是在一些软件运营服务(Software as a Service,SaaS)相关的产品中,权限控制细粒度要求很高,某些场景无法满足权限控制,而且当一些文件服务进行旧文件的迁移存在一些历史原因,导致无法判断旧文件的访问权限等级即无法对权限进行控制。
随着互联网的飞速发展,OBS存储桶的文件存储能力逐渐从最初的几十KB增长到现在的几百TB,OBS存储桶对于文件的读写、传输等能力也得到极大提升的同时,文件安全性也面临极大挑战。因此,当企业使用OBS存储桶存储大量文件时,所存储文件的安全性也随之面临极大挑战。
针对OBS存储桶的文件存储问题,用户直接访问OBS存储桶时目前最常用如下两种方案:
第一种方案:将所有文件都设置为公共权限,这样可以快速迁移旧文件上云,不需要考虑进文件的权限配置问题,虽提升了文件存储的扩展性、降低了成本,但也降低了可靠性和安全性(如文件上传攻击等);此外,由于是公共权限也能导致产生其它安全问题。
第二种方案:考虑到OBS自带ACL,ACL使用可扩展标记语言(Extensible MarkupLanguage,XML)描述,是与资源关联的一个指定被授权者和授予权限的列表,因此设置每个存储桶和对象都与之关联的ACL支持向匿名用户或其它主账号授予基本的读写权限时,使用ACL对大量文件进行分级分类,使得每级每类文件都对应具备查看权限的用户。
上述第一种方案的缺点在于,所有文件均为公共权限,极易造成信息泄露等安全问题。
上述第二种方案的缺点在于,第一:互联网发展已经有近30年的历程,但是云存储技术是最近5年才慢慢趋于成熟,各个企业本身已经积累了大量的历史文件,如果按照ACL对文件进行分级分类处理将是一个巨大的工作量,难以完成;第二:ACL也很难满足需要权限控制的细粒度要求,如同一个部门经理A可以访问所有文件,该部门中的员工B和员工C只能访问部分文件,此部门的权限控制本身就是一个巨大且复杂的功能,内部逻辑也复杂,所以企业很难很难分布人力去适配一套ACL权限控制表;从而导致用户直接访问OBS存储桶内文件时文件安全性不高。
为解决上述问题,本发明提供一种OBS文件访问方法、系统、装置、电子设备及存储介质,下面结合图1-图8描述本发明的OBS文件访问方法、系统、装置、电子设备及存储介质,其中OBS文件访问方法的执行主体可以为客户端,可以为文件服务器,也可以为OBS存储桶;客户端具体可以为安卓、windos、超文本标记语言的第5个版本(Hyper Text MarkupLanguage 5,H5)、应用程序(Application,APP)、企微、API、个人计算机(PersonalComputer,PC)和全球广域网(World Wide Web,Web)页面等;文件服务器可以为至少具备上传下载功能和生成ACL权限功能的服务器。本发明对客户端和文件服务器的具体形式均不作具体限定。
参照图1,为本发明实施例提供的OBS文件访问方法的流程示意图,并且图1所示的OBS文件访问方法的执行主体为文件服务器;如图1所示,该OBS文件访问方法,包括以下步骤:
步骤110、接收客户端身份鉴权通过后传输的加密文件ID信息,加密文件ID信息携带目标用户有权限请求查看的目标文件的文件ID信息。
其中,文件身份标识号(Identity document,ID)信息可以为指代目标文件身份特征的ID信息,目标文件身份特征可以包括但不限定目标文件的文件名、目标文件的存储空间类型和目标文件在OBS存储桶中的下载地址中至少一个;比如,文件ID信息可以为一串随机数,也可以为文件名中的部分数据;此处不作具体限定。并且,目标文件的数量可以为1个,也可以为多个;目标用户可以为有权限请求查看目标文件的用户,当文件服务器应用于某一企业内时,目标用户可以为该企业内某一部门的员工,也可以为某一部门的部门经理。此处也不作具体限定。
具体的,文件服务器接收客户端身份鉴权通过后传输的加密文件ID信息,可以确定目标用户有权限下载、查看和管理OBS存储桶中存储的目标文件,也即目标用户通过客户端请求查看OBS存储桶内的目标文件时,可由客户端先权限校验目标用户是否具备查看权限,并在客户端权限校验通过的情况下,可以将生成的加密文件ID信息传输至文件服务器,以便于告知文件服务器为目标用户提供文件服务。
需要说明的是,考虑到OBS存储桶内文件的下载地址通常均公开或者简单到可以直接猜出,本发明为了确保文件安全性,在将文件存储于OBS存储桶内之前,可以先为每个文件分别设置一个文件ID信息,再将每个文件对应的文件ID信息存储于OBS存储桶中,并且用户可以经由客户端直接从OBS存储桶中调用所需访问文件的文件ID信息,然后在客户端身份鉴权通过的情况下,由客户端将文件ID信息加密后确定的加密文件ID信息传输至文件服务器。以此确保文件访问和传输的安全性。
步骤120、基于加密文件ID信息,生成访问OBS存储桶的ACL权限信息。
其中,ACL权限信息可以包括临时云安全产品通信密钥(TmpSecretId)和临时密钥(TmpSecretKey)。并且,ACL权限信息可以为一次性的ACL权限凭证,也可以为短时效的ACL权限凭证(比如几分钟内有效)。此处不作具体限定。
具体的,本发明为了解决用户直接访问OBS存储桶时带来的安全性低的问题,可以设置文件服务器作为中间件具备访问OBS存储桶的功能以及具备生成ACL权限信息的功能,以便于基于ACL权限信息从OBS存储桶内调用目标文件。
需要说明的是,ACL支持腾讯云的账户赋予权限,也支持读对象、写对象、读ACL、写ACL和全部权限这5个操作,不支持赋予生效条件以及不支持显式拒绝效力。此外,ACL权限信息也即暂时密钥,其安全优势为:Web页面、苹果公司开发的移动操作系统(iOS)、安卓(Android)操作系统使用COS时,通过固定密钥计算签名方式不能有效地控制权限,同时把永久密钥放到客户端代码中有极大的泄露风险。如若通过暂时密方式,则可以方便、有效地解决权限控制问题。比如,在申请暂时密钥过程中,可以通过设置权限策略policy字段,限制操作和资源,将权限限制在指定的范围内。进一步的,ACL权限信息(临时访问凭证)是通过计算机辅助制造(Computer Aided Manufacturing,CAM)云API提供的接口获取到的权限受限的密钥。
在实际的生产场景中,该ACL权限信息可设置为一次性用后失效,或者设计为短时效密钥。
步骤130、基于ACL权限信息,接收OBS存储桶鉴权通过后返回的文件下载地址,并将目标文件下载完成后反馈至客户端。
其中,文件下载地址可以以统一资源定位器(Uniform Resource Locator,url)格式返回至文件服务器。
具体的,文件服务器基于生成的ACL权限信息访问OBS存储桶,并在OBS存储桶基于ACL权限信息进行鉴权且鉴权通过的情况下,向文件服务器返回目标文件的文件下载地址,此时服务器可以通过文件下载地址执行针对目标文件的下载操作,并在目标文件下载完成后反馈至客户端。
需要说明的是,当目标用户直接访问OBS存储桶时由于存在ACL权限信息,目标用户将无法访问到非公共文件,且从OBS存储桶返回的文件下载地址进行了加密处理,杜绝目标用户直接接触到OBS存储桶,极大的提高了存储桶的安全性。
此外需要说明的是,当加密文件ID信息携带目标用户有权限请求下载的目标文件的文件ID信息时,文件服务器也可以通过访问OBS存储桶完成针对此目标文件的下载操作。
本发明提供的OBS文件访问方法,文件服务器通过先接收客户端身份鉴权通过后传输的加密文件ID信息、再生成访问OBS存储桶的ACL权限信息、后基于接收的OBS存储桶鉴权通过后返回的文件下载地址将目标文件下载完成后反馈至客户端的方式,实现对OBS存储桶内文件的安全访问目的。由于加密文件ID信息携带目标用户有权限请求查看的目标文件的文件ID信息,因此结合用户访问文件时先由客户端进行身份权限校验、身份鉴权通过后再由后端访问OBS存储桶、后由后端将下载的文件返回至用户的方式,无需用户直接访问OBS存储桶,而是使用后端统一进行上传下载,不仅减少了重复鉴权的工作量,也满足了对OBS存储桶的安全访问,从而大幅提高了访问OBS存储桶内文件的安全性和高效性。
可选的,步骤120的具体实现过程可以包括:
首先,对加密文件ID信息进行解密,确定目标文件的文件ID信息;进一步的,在基于文件ID信息识别目标文件为非公共文件类型的情况下,生成访问OBS存储桶的ACL权限信息。
具体的,文件服务器针对接收到的加密文件ID信息,首先进行解密,其解密方式可以与客户端加密方式匹配;以此确定目标文件的文件ID信息;然后对文件ID信息进行识别,以判断所需调用的目标文件是公共文件类型还是非公共文件类型,并在识别目标文件为非公共文件类型的情况下,可以生成访问OBS存储桶的ACL权限信息,也即文件服务器配置的用于访问OBS存储桶内目标文件的ACL权限信息;反之,在识别目标文件为公共文件类型的情况下,无需生成ACL权限信息,即可访问OBS存储桶内的目标文件。
需要说明的是,当识别出目标文件为非公共文件类型时,可以确定目标文件是以加密文件的方式存储于OBS存储桶内的,此时必须生成ACL权限信息,才能调用OBS存储桶内的目标文件;否则,OBS存储桶则拒绝访问,也即无ACL权限信息时,OBS存储桶拒绝客户端访问非公共文件类型的目标文件。
本发明提供的OBS文件访问方法,文件服务器通过解密加密文件ID信息确定的文件ID信息,识别目标文件为非公共文件类型时生成访问OBS存储桶的ACL权限信息,以此确保目标用户无法访问OBS存储桶内的非公共文件,并且OBS存储桶也只需将文件划分为公共文件和非公共文件,大幅提高了访问OBS存储桶的安全可靠性和准确高效性。
可选的,在基于文件ID信息识别目标文件为非公共文件类型的情况下,生成访问OBS存储桶的ACL权限信息,其实现过程包括:
首先,在基于文件ID信息识别目标文件为非公共文件类型的情况下,基于文件ID信息-存储桶内文件地址之间的映射关系,获取与文件ID信息对应的OBS存储桶内文件地址;再进一步基于OBS存储桶内文件地址,调用文件上传接口提供的软件开发工具包,生成访问OBS存储桶的ACL权限信息。
其中,OBS存储桶内文件地址为OBS存储桶内存储目标文件的地址;此外,文件服务器可以为文件上传接口(fileupload)预先配置SDK。
具体的,在文件服务器识别目标文件为非公共文件类型的情况下,可以调用预先建立的文件ID信息-存储桶内文件地址之间的映射关系,该映射关系可以反映每个文件ID信息对应的文件在OBS存储桶内的真实存储地址,因此通过该映射关系,文件服务器能够快速准确的确定目标文件的文件ID信息对应的OBS存储桶内文件地址,也即目标文件在OBS存储桶内的真实存储地址,此时文件服务器可以调用fileupload提供的SDK,生成访问OBS存储桶的ACL权限信息。
本发明提供的OBS文件访问方法,文件服务器在识别目标文件 非公开文件的情况下,先获取目标文件在OBS存储桶中的真实存储地址、再调用fileupload提供的SDK生成访问OBS存储桶的ACL权限信息,无需客户端向后端传递ACL权限信息,而是通过后端向OBS存储桶传递ACL权限信息,杜绝密钥泄露,从而提高了OBS文件访问的安全性和可靠性。
可选的,步骤130的具体实现过程可以包括:
首先,在ACL权限信息携带待鉴权密码信息和OBS存储桶内文件地址的情况下,基于待鉴权密码信息,生成访问OBS存储桶的鉴权请求;再进一步接收针对鉴权请求反馈的鉴权通过结果;然后,基于鉴权通过结果,接收OBS存储桶针对OBS存储桶内文件地址返回的文件下载地址;然后,基于下载地址下载目标文件,并将下载完成的目标文件通过文件流形式反馈至客户端。
其中,待鉴权密码信息可以包括但不限定TmpSecretId和TmpSecretKey;OBS存储桶内文件地址可以为OBS存储桶内存储目标文件的地址,也即目标文件在OBS存储桶内的真实存储地址。
具体的,文件服务器基于ACL权限信息携带的TmpSecretId、TmpSecretKey和OBS存储桶内文件地址,调用Fileupload-SDK对TmpSecretId和TmpSecretKey进行解析,并生成鉴权请求,鉴权请求用于请求OBS存储桶校验文件服务器是否有权限调用目标文件的下载地址,当文件服务器接收到接口反馈的ACL权限信息鉴权通过OBS存储桶的权限校验这一鉴权通过结果时,可以接收OBS存储桶针对OBS存储桶内文件地址返回的文件下载地址,此时文件服务器可以经由下载地址下载目标文件,并在下载完成后将目标文件以文件流形式反馈至客户端,也即将目标文件的文件流反馈至客户端;进一步的,为了确保文件安全性,可以将目标文件的文件流进行加密,得到加密后的url响应后反馈至客户端。反之,当文件服务器接收到OBS存储桶反馈的鉴权未通过结果时,可以重新生成ACL权限信息,并重新生成访问OBS存储桶的鉴权请求;直至接收到鉴权通过结果。
需要说明的是,文件流包括文件输入流(JAVA.IO.FileInputStream)和文件输出流(JAVA.IO.FileOutputStream),作用是真实连接程序和文件之间的管道,其中文件输入流用于从文件中读取字节,而文件输出流则用于向文件中写入字节。并且,文件流是节点流,也即JAVA.IO将流划分为节点流和处理流两类,节点流可以称之为低级流且其特点是真实连接程序和另一端的管道,负责实际读写数据的流文件即为典型的节点流,可以真实连接程序与文件之间的管道,可以读写文件数据;处理流可以称之为高级脸且其特点包括:不能独立存在(不可以单独实例化进行读写操作),必须连接在其他流上,目的是当数据流经当前流时,可以对其做某种加工操作,以实现简化工作的目的。
此外需要说明的是,考虑到成本的问题,在一些边缘业务和不重要的文档处可以不采用文件流的形式进行下载。
本发明提供的OBS文件访问方法,文件服务器先生成访问OBS存储桶的鉴权请求,并在接收到鉴权通过反馈时,接收OBS存储桶返回的文件下载地址,从而将下载完成的目标文件反馈至客户端。以此方式可以无需用户接触真实的OBS存储桶地址,从而大幅提高了访问OBS存储桶文件的安全性。
参照图2,为本发明实施例提供的OBS文件访问方法的流程示意图,并且图2所示的OBS文件访问方法的执行主体为客户端;如图2所示,该OBS文件访问方法,包括以下步骤:
步骤210、获取文件访问请求,文件访问请求包括目标用户的用户基本信息和请求查看的目标文件的文件ID信息。
其中,用户基本信息可以包括但不限定目标用户的登录客户端时输入的账号、密码、手机号码、cookie文本、身份证号码和验证码等身份凭证信息。
具体的,当客户端接收到目标用户输入的用户基本信息和请求查看的目标文件的文件ID信息时,可以自动生成文件访问请求。
步骤220、基于文件访问请求进行身份鉴权。
具体的,客户端针对文件访问请求进行身份鉴权时,可以调用预先建立的用户基本信息-文件-文件ID信息之间的映射关系,此处的映射关系可以明确每个用户有权限访问的文件及其对应的文件ID信息,基于此,客户端可以使用软件或者自身携带的权限控制系统或者权限服务系统对该文件访问请求进行身份鉴权。
步骤230、基于鉴权通过结果,对文件ID信息进行加密,并将加密后确定的加密文件ID信息传输至文件服务器。
具体的,当客户端针对文件访问请求进行身份鉴权且鉴权通过时,可以对目标文件的文件ID信息进行加密,其加密方式可以采用不对称加密方法,以保证无法解密;再进一步将加密后确定的加密文件ID信息传输至文件服务器;反之,当鉴权未通过时,直接返回鉴权失败返回错误,并且可以提示目标用户重新输入用户基本信息和/或文件ID信息。
需要说明的是,当使用非对称加密方法对目标文件的文件ID信息进行加密的,可以通过下述程序实现:
private static final String KEY = "XXXX"; --自行设置
public static String encryptUrl(String url) {
String encryptUrl = AESUtil.aesEncrypt(url , KEY);
try {
return URLEncoder.encode(encryptUrl,CharEncoding.UTF_8);
} catch (UnsupportedEncodingException e) {
log.error(e.getMessage(), e);
return "";
}
}
public static String decryptUrlNoTime(String url) {
if (StringUtils.isBlank(url)) {
return "";
}
try{
String durl= URLDecoder.decode(url, CharEncoding.UTF_8);
log.warn("url-durl="+durl);
String decryptedUrl = AESUtil.aesDecrypt(durl, KEY);
return decryptedUrl;
} catch (Exception e) {
log.error("the origin url is: {}, decryptedUrl is:{}", url,url);
log.error(e.getMessage(), e);
}
return "";
}
本发明提供的OBS文件访问方法,客户端通过对获取的文件访问请求进行身份鉴权且基于鉴权通过结果对目标文件的文件ID信息进行加密的方式,确定向文件服务器传输的加密文件ID信息。由于文件访问请求包括目标用户的用户基本信息和请求查看的目标文件的文件ID信息,因此结合客户端自带的身份鉴权功能能够减少大量重复鉴权的工作量,实现了权限控制的细粒度目的,扩展性也有了极大的提升,可满足更复杂的场景;并且结合由客户端校验目标用户具有访问权限后再由后端访问OBS存储桶,不仅确保文件的安全,也能满足文件安全传输需求。
参照图3,为本发明实施例提供的OBS文件访问方法的流程示意图,并且图3所示的OBS文件访问方法的执行主体为OBS存储桶;如图3所示,该OBS文件访问方法,包括以下步骤:
步骤310、接收文件服务器传输的ACL权限信息,ACL权限信息是文件服务器基于加密文件ID信息生成的,加密文件ID信息携带目标用户有权限请求查看的目标文件的文件ID信息。
步骤320、确定与ACL权限信息对应的签名信息。
步骤330、在签名信息处于有效期的情况下,确定鉴权通过,并向文件服务器返回目标文件的文件下载地址。
其中,ACL权限信息携带待鉴权密码信息和OBS存储桶内文件地址,OBS存储桶内文件地址为OBS存储桶内存储目标文件的地址。
具体的,OBS存储桶接收文件服务器传输的ACL权限信息,具体可以由OBS存储桶的COS API接收ACL权限信息,考虑到COS API,因此COS API可以使用ACL权限信息计算签名,用于发起COS API 请求,并且COS API请求使用ACL权限信息计算签名时,需要用到获取临时密钥接口返回信息中TmpSecretId、TmpSecretKey和令牌(Token)这三个字段,因此,使用ACL权限信息访问对象服务时,可以通过x-cos-security-token 字段传递临时会话令牌(sessionToken),并通过ACL权限信息携带的临时SecretId和临时SecretKey计算签名信息,以此确定出与ACL权限信息对应的签名信息。
进一步的,判断签名信息是否处于有效期内;比如,当ACL权限信息是一次性权限凭证且本次为首次使用时,则确定签名信息处于有效期内,反之,当ACL权限信息是一次性权限凭证且本次为二次使用时则确定签名信息失效,此时可以提示文件服务器重新发送ACL权限信息;同理,当ACL权限信息是5分钟内有效且当前时刻未超过5分钟时,则确定签名信息处于有效期内处于有效期内,当ACL权限信息是5分钟内有效且当前时刻已超过5分钟时,则确定签名信息已失效。最后在签名信息处于有效期的情况下,确定鉴权通过,并按照ACL权限信息携带的OBS存储桶内文件地址查找到目标文件,然后向文件服务器返回目标文件的文件下载地址。
需要说明的是,以COS Java SDK为例,使用ACL权限信息访问对象服务的示例如下:
// 根据 github 提供的 maven 集成方式导入 cos xml java sdk
import com.qcloud.cos.*;
import com.qcloud.cos.auth.*;
import com.qcloud.cos.exception.*;
import com.qcloud.cos.model.*;
import com.qcloud.cos.region.*;
public class Demo {
public static void main(String[] args) throws Exception {
// 用户基本信息
String tmpSecretId = "COS_SECRETID"; // 替换为 STS 接口返回给您的临时 SecretId
String tmpSecretKey = "COS_SECRETKEY"; // 替换为 STS 接口返回给您的临时 SecretKey
String sessionToken = "Token"; // 替换为 STS 接口返回给您的临时Token
// 1 初始化用户身份信息(secretId, secretKey)
COSCredentials cred = new BasicCOSCredentials(tmpSecretId,tmpSecretKey);
// 2 设置 bucket 区域,详情请参阅 COS 地域https://WWW.tencentcloud.com/document/product/436/6224?from_cn_redirect=1
ClientConfig clientConfig = new ClientConfig(new Region("ap-guangzhou"));
// 3 生成 cos 客户端
COSClient cosclient = new COSClient(cred, clientConfig);
// bucket 名需包含 appid
String bucketName = "examplebucket-1250000000";
String key = "exampleobject";
// 上传 object, 建议 20M 以下的文件使用该接口
File localFile = new File("src/test/resources/text.txt");
PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, key, localFile);
// 设置 x-cos-security-token header 字段
ObjectMetadata objectMetadata = new ObjectMetadata();
objectMetadata.setSecurityToken(sessionToken);
putObjectRequest.setMetadata(objectMetadata);
try {
PutObjectResult putObjectResult= cosclient.putObject(putObjectRequest);
// 成功:putobjectResult 会返回文件的 etag
String etag = putObjectResult.getETag();
} catch (CosServiceException e) {
//失败,抛出 CosServiceException
e.printStackTrace();
} catch (CosClientException e) {
//失败,抛出 CosClientException
e.printStackTrace();
}
// 关闭客户端
cosclient.shutdown();
}
}
本发明提供的OBS文件访问方法,OBS存储桶针对接收到的文件服务器传输的ACL权限信息,通过先确定签名信息、后验证签名信息有效时向文件服务器反馈目标文件的下载地址的方式,提高访问OBS存储桶的安全性和可靠性;进一步的,由于ACL权限信息是文件服务器基于加密文件ID信息生成的,加密文件ID信息携带目标用户有权限请求查看的目标文件的文件ID信息,无需在OBS存储桶上做大量的文件分级分类工作,只需要设置公共文件和非公共文件即可,从而也能大幅提高文件迁移的效率。
参照图4,为本发明实施例提供的OBS文件访问系统的信息交互流程示意图,如图4所示,该OBS文件访问系统,包括文件服务器410、客户端420和OBS存储桶430,文件服务器410分别与客户端420和OBS存储桶430连接,当客户端420获取的文件服务请求包括目标用户的用户基本信息和请求查看的目标文件的文件ID信息时,文件服务器410用于执行前述实施例中以文件服务器为执行主体的方法,客户端420用于执行前述实施例中以客户端为执行主体的方法,OBS存储桶430用于执行前述实施例中以OBS存储桶为执行主体的方法。此处不再赘述。
基于相同原理,当目标用户需要将目标文件存储于OBS存储桶430中时,客户端420接收到的文件访问请求则会包括目标用户的用户基本信息和请求存储的目标文件的文件ID信息,然后进行鉴权且鉴权通过后加密反馈至文件服务器410,文件服务器410生成访问OBS存储桶430的ACL权限信息,调用文件存储接口上传文件下载地址,并将对应的目标文件下载完成后反馈至OBS存储桶430进行存储。其实现过程可以参照图4与前述实施例。此处不再赘述。
下面对本发明提供的OBS文件访问装置进行描述,下文描述的OBS文件访问装置与上文描述的OBS文件访问方法可相互对应参照。
参照图5,为本发明实施例提供的OBS文件访问装置的结构示意图,如图5所示,该OBS文件访问装置500,包括:
加密信息接收模块510,用于接收客户端身份鉴权通过后传输的加密文件ID信息,加密文件ID信息携带目标用户有权限请求查看的目标文件的文件ID信息;
ACL权限生成模块520,用于基于加密文件ID信息,生成访问OBS存储桶的ACL权限信息;
文件下载反馈模块530,用于基于ACL权限信息,接收OBS存储桶鉴权通过后返回的文件下载地址,并将目标文件下载完成后反馈至客户端。
可选的,ACL权限生成模块520,具体可以用于对加密文件ID信息进行解密,确定所述文件ID信息;在基于文件ID信息识别目标文件为非公共文件类型的情况下,生成访问OBS存储桶的ACL权限信息。
可选的,ACL权限生成模块520,具体还可以用于在基于文件ID信息识别目标文件为非公共文件类型的情况下,基于文件ID信息-存储桶内文件地址之间的映射关系,获取与文件ID信息对应的OBS存储桶内文件地址;基于OBS存储桶内文件地址,调用文件上传接口提供的软件开发工具包,生成访问OBS存储桶的ACL权限信息;其中,OBS存储桶内文件地址为OBS存储桶内存储目标文件的地址。
文件下载反馈模块530,具体可以用于在ACL权限信息携带待鉴权密码信息和OBS存储桶内文件地址的情况下,基于待鉴权密码信息,生成访问OBS存储桶的鉴权请求;接收针对鉴权请求反馈的鉴权通过结果;基于鉴权通过结果,接收OBS存储桶针对OBS存储桶内文件地址返回的文件下载地址;基于下载地址下载目标文件,并将下载完成的目标文件通过文件流形式反馈至客户端。
参照图6,为本发明实施例提供的OBS文件访问装置的结构示意图,如图6所示,该OBS文件访问装置600,包括:
访问请求获取模块610,用于获取文件访问请求,文件访问请求包括目标用户的用户基本信息和请求查看的目标文件的文件ID信息;
访问请求鉴权模块620,用于基于文件访问请求进行身份鉴权;
信息加密传输模块630,用于基于鉴权通过结果,对文件ID信息进行加密,并将加密后确定的加密文件ID信息传输至文件服务器。
参照图7,为本发明实施例提供的OBS文件访问装置的结构示意图,如图7所示,该OBS文件访问装置700,包括:
ACL权限接收模块710,用于接收文件服务器传输的ACL权限信息,ACL权限信息是文件服务器基于加密文件ID信息生成的,加密文件ID信息携带目标用户有权限请求查看的目标文件的文件ID信息;
签名信息确定模块720,用于确定与ACL权限信息对应的签名信息;
下载地址传输模块730,用于在签名信息处于有效期的情况下,确定鉴权通过,并向文件服务器返回目标文件的文件下载地址。
图8示例了一种电子设备的实体结构示意图,如图8所示,该电子设备可以包括:处理器(processor)810、通信接口(CommunicationsInterface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的逻辑指令,以执行OBS文件访问,该方法包括:
接收客户端身份鉴权通过后传输的加密文件ID信息,加密文件ID信息携带目标用户有权限请求查看的目标文件的文件ID信息;
基于加密文件ID信息,生成访问OBS存储桶的ACL权限信息;
基于ACL权限信息,接收OBS存储桶鉴权通过后返回的文件下载地址,并将目标文件下载完成后反馈至客户端。或者,包括:
获取文件访问请求,文件访问请求包括目标用户的用户基本信息和请求查看的目标文件的文件ID信息;
基于文件访问请求进行身份鉴权;
基于鉴权通过结果,对文件ID信息进行加密,并将加密后确定的加密文件ID信息传输至文件服务器。亦或者,包括:
接收文件服务器传输的ACL权限信息,ACL权限信息是文件服务器基于加密文件ID信息生成的,加密文件ID信息携带目标用户有权限请求查看的目标文件的文件ID信息;
确定与ACL权限信息对应的签名信息;
在签名信息处于有效期的情况下,确定鉴权通过,并向文件服务器返回目标文件的文件下载地址。
此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的OBS文件访问,该方法包括:
接收客户端身份鉴权通过后传输的加密文件ID信息,加密文件ID信息携带目标用户有权限请求查看的目标文件的文件ID信息;
基于加密文件ID信息,生成访问OBS存储桶的ACL权限信息;
基于ACL权限信息,接收OBS存储桶鉴权通过后返回的文件下载地址,并将目标文件下载完成后反馈至客户端。或者,包括:
获取文件访问请求,文件访问请求包括目标用户的用户基本信息和请求查看的目标文件的文件ID信息;
基于文件访问请求进行身份鉴权;
基于鉴权通过结果,对文件ID信息进行加密,并将加密后确定的加密文件ID信息传输至文件服务器。亦或者,包括:
接收文件服务器传输的ACL权限信息,ACL权限信息是文件服务器基于加密文件ID信息生成的,加密文件ID信息携带目标用户有权限请求查看的目标文件的文件ID信息;
确定与ACL权限信息对应的签名信息;
在签名信息处于有效期的情况下,确定鉴权通过,并向文件服务器返回目标文件的文件下载地址。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的OBS文件访问,该方法包括:
接收客户端身份鉴权通过后传输的加密文件ID信息,加密文件ID信息携带目标用户有权限请求查看的目标文件的文件ID信息;
基于加密文件ID信息,生成访问OBS存储桶的ACL权限信息;
基于ACL权限信息,接收OBS存储桶鉴权通过后返回的文件下载地址,并将目标文件下载完成后反馈至客户端。或者,包括:
获取文件访问请求,文件访问请求包括目标用户的用户基本信息和请求查看的目标文件的文件ID信息;
基于文件访问请求进行身份鉴权;
基于鉴权通过结果,对文件ID信息进行加密,并将加密后确定的加密文件ID信息传输至文件服务器。亦或者,包括:
接收文件服务器传输的ACL权限信息,ACL权限信息是文件服务器基于加密文件ID信息生成的,加密文件ID信息携带目标用户有权限请求查看的目标文件的文件ID信息;
确定与ACL权限信息对应的签名信息;
在签名信息处于有效期的情况下,确定鉴权通过,并向文件服务器返回目标文件的文件下载地址。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (12)
1.一种OBS文件访问方法,其特征在于,应用于文件服务器,包括:
接收客户端身份鉴权通过后传输的加密文件ID信息,所述加密文件ID信息携带目标用户有权限请求查看的目标文件的文件ID信息;
基于所述加密文件ID信息,生成访问OBS存储桶的ACL权限信息,所述ACL权限信息包括临时云安全产品通信密钥和临时密钥;
基于所述ACL权限信息,接收所述OBS存储桶鉴权通过后返回的文件下载地址,并将所述目标文件下载完成后反馈至所述客户端;其中,所述OBS存储桶用于在基于所述ACL权限信息进行鉴权且鉴权通过的情况下,向所述文件服务器返回所述文件下载地址且返回的所述文件下载地址进行了加密处理。
2.根据权利要求1所述的OBS文件访问方法,其特征在于,所述基于所述加密文件ID信息,生成访问OBS存储桶的ACL权限信息,包括:
对所述加密文件ID信息进行解密,确定所述文件ID信息;
在基于所述文件ID信息识别所述目标文件为非公共文件类型的情况下,生成所述访问OBS存储桶的ACL权限信息。
3.根据权利要求2所述的OBS文件访问方法,其特征在于,所述在基于所述文件ID信息识别所述目标文件为非公共文件类型的情况下,生成所述访问OBS存储桶的ACL权限信息,包括:
在基于所述文件ID信息识别所述目标文件为非公共文件类型的情况下,基于文件ID信息-存储桶内文件地址之间的映射关系,获取与所述文件ID信息对应的OBS存储桶内文件地址;
基于所述OBS存储桶内文件地址,调用文件上传接口提供的软件开发工具包,生成访问OBS存储桶的ACL权限信息;
其中,所述OBS存储桶内文件地址为所述OBS存储桶内存储所述目标文件的地址。
4.根据权利要求3所述的OBS文件访问方法,其特征在于,所述基于所述ACL权限信息,接收所述OBS存储桶鉴权通过后返回的文件下载地址,并将所述目标文件下载完成后反馈至所述客户端,包括:
在所述ACL权限信息携带待鉴权密码信息和所述OBS存储桶内文件地址的情况下,基于所述待鉴权密码信息,生成访问所述OBS存储桶的鉴权请求;
接收针对所述鉴权请求反馈的鉴权通过结果;
基于所述鉴权通过结果,接收所述OBS存储桶针对所述OBS存储桶内文件地址返回的文件下载地址;
基于所述下载地址下载所述目标文件,并将下载完成的所述目标文件通过文件流形式反馈至所述客户端。
5.一种OBS文件访问方法,其特征在于,应用于客户端,包括:
获取文件访问请求,所述文件访问请求包括目标用户的用户基本信息和请求查看的目标文件的文件ID信息;
基于所述文件访问请求进行身份鉴权,所述身份鉴权基于预先建立的用户基本信息-文件-文件ID信息之间的映射关系进行,所述映射关系用于明确每个用户有权限访问的文件及其对应的文件ID信息;
基于鉴权通过结果,对所述文件ID信息进行加密,并将加密后确定的加密文件ID信息传输至文件服务器。
6.一种OBS文件访问方法,其特征在于,应用于OBS存储桶,包括:
接收文件服务器传输的ACL权限信息,所述ACL权限信息是所述文件服务器基于加密文件ID信息生成的,所述加密文件ID信息携带目标用户有权限请求查看的目标文件的文件ID信息;所述ACL权限信息包括临时云安全产品通信密钥和临时密钥;
确定与所述ACL权限信息对应的签名信息,所述签名信息是由所述OBS存储桶的COSAPI根据所述临时云安全产品通信密钥、所述临时密钥以及令牌确定的;
在所述签名信息处于有效期的情况下,确定鉴权通过,并向所述文件服务器返回所述目标文件的文件下载地址;其中,所述OBS存储桶用于在基于所述ACL权限信息进行鉴权且鉴权通过的情况下,向所述文件服务器返回所述文件下载地址且返回的所述文件下载地址进行了加密处理。
7.一种OBS文件访问系统,其特征在于,包括文件服务器、客户端和OBS存储桶,所述文件服务器分别与所述客户端和所述OBS存储桶连接,所述文件服务器用于执行如权利要求1至4任一项所述的方法,所述客户端用于执行如权利要求5所述的方法,所述OBS存储桶用于执行如权利要求6所述的方法。
8.一种OBS文件访问装置,其特征在于,包括:
加密信息接收模块,用于接收客户端身份鉴权通过后传输的加密文件ID信息,所述加密文件ID信息携带目标用户有权限请求查看的目标文件的文件ID信息;
ACL权限生成模块,用于基于所述加密文件ID信息,生成访问OBS存储桶的ACL权限信息,所述ACL权限信息包括临时云安全产品通信密钥和临时密钥;
文件下载反馈模块,用于基于所述ACL权限信息,接收所述OBS存储桶鉴权通过后返回的文件下载地址,并将所述目标文件下载完成后反馈至所述客户端;其中,所述OBS存储桶用于在基于所述ACL权限信息进行鉴权且鉴权通过的情况下,向所述文件服务器返回所述文件下载地址且返回的所述文件下载地址进行了加密处理。
9.一种OBS文件访问装置,其特征在于,包括:
访问请求获取模块,用于获取文件访问请求,所述文件访问请求包括目标用户的用户基本信息和请求查看的目标文件的文件ID信息;
访问请求鉴权模块,用于基于所述文件访问请求进行身份鉴权,所述身份鉴权基于预先建立的用户基本信息-文件-文件ID信息之间的映射关系进行,所述映射关系用于明确每个用户有权限访问的文件及其对应的文件ID信息;
信息加密传输模块,用于基于鉴权通过结果,对所述文件ID信息进行加密,并将加密后确定的加密文件ID信息传输至文件服务器。
10.一种OBS文件访问装置,其特征在于,包括:
ACL权限接收模块,用于接收文件服务器传输的ACL权限信息,所述ACL权限信息是所述文件服务器基于加密文件ID信息生成的,所述加密文件ID信息携带目标用户有权限请求查看的目标文件的文件ID信息;所述ACL权限信息包括临时云安全产品通信密钥和临时密钥;
签名信息确定模块,用于确定与所述ACL权限信息对应的签名信息,所述签名信息是由OBS存储桶的COS API根据所述临时云安全产品通信密钥、所述临时密钥以及令牌确定的;
下载地址传输模块,用于在所述签名信息处于有效期的情况下,确定鉴权通过,并向所述文件服务器返回所述目标文件的文件下载地址;其中,所述OBS存储桶用于在基于所述ACL权限信息进行鉴权且鉴权通过的情况下,向所述文件服务器返回所述文件下载地址且返回的所述文件下载地址进行了加密处理。
11.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述OBS文件访问方法。
12.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述OBS文件访问方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310240657.4A CN115982778B (zh) | 2023-03-14 | 2023-03-14 | Obs文件访问方法、系统、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310240657.4A CN115982778B (zh) | 2023-03-14 | 2023-03-14 | Obs文件访问方法、系统、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115982778A CN115982778A (zh) | 2023-04-18 |
CN115982778B true CN115982778B (zh) | 2023-07-14 |
Family
ID=85968332
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310240657.4A Active CN115982778B (zh) | 2023-03-14 | 2023-03-14 | Obs文件访问方法、系统、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115982778B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110062006A (zh) * | 2019-05-08 | 2019-07-26 | 福州福昕网络技术有限责任公司 | 一种客户端高并发鉴权方法和系统 |
CN111294212A (zh) * | 2020-05-12 | 2020-06-16 | 广东纬德信息科技股份有限公司 | 一种基于电力配电的安全网关密钥协商方法 |
CN113014593A (zh) * | 2021-03-12 | 2021-06-22 | 北京金山云网络技术有限公司 | 访问请求的鉴权方法及装置、存储介质、电子设备 |
CN113691502A (zh) * | 2021-08-02 | 2021-11-23 | 上海浦东发展银行股份有限公司 | 通信方法、装置、网关服务器、客户端及存储介质 |
CN114374524A (zh) * | 2020-10-14 | 2022-04-19 | 北京金山云网络技术有限公司 | 对象存储的访问控制方法和装置、存储介质和电子装置 |
CN115037552A (zh) * | 2022-06-29 | 2022-09-09 | 北京大甜绵白糖科技有限公司 | 鉴权方法、装置、设备及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA3187034A1 (en) * | 2019-02-14 | 2020-08-14 | Bank Of Montreal | Systems and methods for secure storage and retrieval of trade data |
CN110781507A (zh) * | 2019-10-21 | 2020-02-11 | 中广核工程有限公司 | 文件权限控制方法、装置、计算机设备及存储介质 |
CN111198848B (zh) * | 2020-01-03 | 2022-06-24 | 南京领行科技股份有限公司 | 一种分布式文件访问方法、系统、服务器和存储介质 |
CN115146302A (zh) * | 2021-03-31 | 2022-10-04 | 北京有竹居网络技术有限公司 | 文件处理方法、装置、存储介质及系统 |
-
2023
- 2023-03-14 CN CN202310240657.4A patent/CN115982778B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110062006A (zh) * | 2019-05-08 | 2019-07-26 | 福州福昕网络技术有限责任公司 | 一种客户端高并发鉴权方法和系统 |
CN111294212A (zh) * | 2020-05-12 | 2020-06-16 | 广东纬德信息科技股份有限公司 | 一种基于电力配电的安全网关密钥协商方法 |
CN114374524A (zh) * | 2020-10-14 | 2022-04-19 | 北京金山云网络技术有限公司 | 对象存储的访问控制方法和装置、存储介质和电子装置 |
CN113014593A (zh) * | 2021-03-12 | 2021-06-22 | 北京金山云网络技术有限公司 | 访问请求的鉴权方法及装置、存储介质、电子设备 |
CN113691502A (zh) * | 2021-08-02 | 2021-11-23 | 上海浦东发展银行股份有限公司 | 通信方法、装置、网关服务器、客户端及存储介质 |
CN115037552A (zh) * | 2022-06-29 | 2022-09-09 | 北京大甜绵白糖科技有限公司 | 鉴权方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115982778A (zh) | 2023-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9529993B2 (en) | Policy-driven approach to managing privileged/shared identity in an enterprise | |
US20200019714A1 (en) | Distributed data storage by means of authorisation token | |
JP6556943B2 (ja) | アプライアンスセキュアシェルのためのシングルサインオン方法 | |
CN105007280B (zh) | 一种应用登录方法和装置 | |
US9288214B2 (en) | Authentication and authorization methods for cloud computing platform security | |
US9560080B2 (en) | Extending organizational boundaries throughout a cloud architecture | |
US7546630B2 (en) | Methods, systems, and media to authenticate a user | |
US9699168B2 (en) | Method and system for authenticating a rich client to a web or cloud application | |
US9690920B2 (en) | Secure configuration catalog of trusted identity providers | |
US8136146B2 (en) | Secure audit log access for federation compliance | |
US20060156418A1 (en) | Method and apparatus for preventing unauthorized access to data | |
CN109873805A (zh) | 基于云安全的云桌面登陆方法、装置、设备和存储介质 | |
CN106302606B (zh) | 一种跨应用访问方法及装置 | |
CN109831435B (zh) | 一种数据库操作方法、系统及代理服务器和存储介质 | |
KR20220160021A (ko) | 낮은 신뢰 권한 액세스 관리 | |
US20210209012A1 (en) | Verifiable testcase workflow | |
CN110069909A (zh) | 一种免密登录第三方系统的方法及装置 | |
CN115730338A (zh) | 基于隐私计算的零信任敏感大数据跨域分享方法和装置 | |
CN113761509B (zh) | iframe验证登录方法及装置 | |
US20090204544A1 (en) | Activation by trust delegation | |
US20230306103A1 (en) | Pre-registration of authentication devices | |
CN115982778B (zh) | Obs文件访问方法、系统、装置、电子设备及存储介质 | |
CN116707849A (zh) | 针对飞地实例的云服务访问权限设置方法和云管理平台 | |
Samuel et al. | Enhanced security and authentication mechanism in cloud transactions using HMAC | |
George et al. | Safest Secure and Consistent Data Services in the Storage of Cloud Computing |
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 |