华为OBS使用心得及配置OBS数据禁止下载
近期参与了一个跟华为数据交换的项目,简单聊聊华为的数据交换方案及使用心得。
先简单说一下背景:数据交换旨在建立企业互信,消除数据孤岛。行业数据都是各企业花费了大量精力整理得到的,一时间公开完全不可行。但是LLM的发展,基础模型需要越来越多的数据,这在倒逼企业合作,加之美国在相关方面的封锁,消除数据孤岛开始凸显其重要性。当然LoRA的出现也给LLM提供了另外一种解决方案:外挂行业知识库,这个问题就不在这里介绍了。
公司希望使用自己的数据,基于盘古大模型训练出我们自己的大模型。我有幸参与了与华为的数据交换项目,接触到华为云的OBS(Object Storage Service,对象存储服务)。
最初操作OBS的时候,第一感觉就是这是个网盘,企业不限速网盘,复杂的操作让人本能的反感(做产品的第一要诀:让产品连傻子都用的起来,能点击一次解决问题,就不要让用户点两次)。各种配置眼花缭乱,期间更是有开发参与调试,真是让人无语且崩溃,不过想到这事没有前人在做也就释然了,通力合作把事情做成才是关键。
具体配置不展开了,只说说关于数据交换过程中数据安全传输的两套方案及禁止下载的配置。
先定义一下数据交换过程的生命周期,数据交换过程从数据提供方上传数据到OBS开始,到数据接收方从平台(EDS或者OBS)下载数据为止。至于为什么不讨论数据上传前和下载后可能的安全问题,我认为基于企业互信,这部分是不需要在数据交换项目中讨论的。企业互信是因,数据交换是果,我们很难看到两个没有信任关系的企业会有数据交换的可能。
方案1,EDS数据交换空间,针对场景是两个(或多个)企业进行数据交换。数据提供方可以一对多的提供数据,数据接收方则根据数据合约来使用数据,让数据在流通的全流程内安全可追溯。数据提供方将数据上传到OBS,使用EDS的连接器将数据接入(简易理解,就是把数据从一个网盘接入另一个网盘,实际上有堡垒机等一系列安全措施保护数据安全),在EDS中生成数据合约,限定数据的使用期限、下载次数和下载工具。数据接收方在接到数据合约之后,按照合约内容将数据归档,在限定期间内使用下载工具下载数据。
这个方案的好处就是数据从OBS接入EDS开始,全流程高度可控,数据不上架、不生成合约,消费方是无法看到和使用的。唯一可能产生数据泄露的地方在于,一是数据提供方上传数据到OBS后是可以下载的,这种情况是数据提供方自行泄露;这个方案的坏处就是,有很多需要配置的地方,上述过程中基本上没有提及堡垒机等其他服务,用户自行配置基本上不可能,建议华为能出一个基础的配置模板,否则用户就得享受一对一服务了,其实也挺不错哟。
下文中禁止下载的配置,其实也可以用于解决方案1中数据提供方上传数据到OBS后下载的情况。
方案2,使用OBS交换数据。OBS是一个存储服务,理解成网盘更方便,但是通过配置权限,也可以让他变成一个便捷的数据交换工具。其核心配置就是禁止数据下载。
起初的时候一直不理解为什么要对数据提供方限制下载,直到我发现数据接收方是华为。事情的起因是我们双方对数据安全传输方案的选取上有分歧,我们倾向全流程安全可控的方案1,但是经过成本、时间、效率等一系列的评估之后,排除了方案1。此时华为方提出了另一种方案,他们提供OBS,并给我们提供相应的IAM账号,只能上传不能下载。其实我们也是可以提供同样的配置,但是效果完全不一样。假设数据提供方提供OBS、IAM账户且配置禁止下载后,由于IAM的主账号在数据提供方,主账号可以随意修改权限,出现数据泄露的现象的话双方都有可能。但是如果是数据接收方提供OBS、IAM账号且配置禁止下载,我们就会发现数据提供方不能随意修改权限,只能上传不能下载,数据泄露的可能只在数据接收方。在感慨了一声华为有担当之后,我们果断采取华为的方案,他们提供OBS、IAM账号配置禁止下载。
方案2的好处就相当明显了,配置简单的同时保证了安全性。
接下来再说OBS数据禁止下载的配置。