MaxCompute数据安全机制-阿里云开发者社区

开发者社区> 隐林> 正文

MaxCompute数据安全机制

简介: 文章转自dongkai和传统的计算平台类似,MaxCompute使用多租户隔离租户间的数据。租户内利用访问控制保护用户数据。但是作为一个云计算、大数据平台,MaxCompute在实现时做了一系列的创新。这些创新主要体现在三个方面:1、访问可追溯;2、更细粒度的访问控制;3、跨租户访问控制。访问可追溯
+关注继续查看
文章转自dongkai

和传统的计算平台类似,MaxCompute使用多租户隔离租户间的数据。租户内利用访问控制保护用户数据。但是作为一个云计算、大数据平台,MaxCompute在实现时做了一系列的创新。这些创新主要体现在三个方面:1、访问可追溯;2、更细粒度的访问控制;3、跨租户访问控制。
访问可追溯
      传统的计算平台都会内建一个账号系统。用户以平台内账号连接计算平台、提交作业。平台的权限控制和审计也使用内部账号而不是真实的用户。MaxCompute作为aliyun的一个产品,直接使用阿里云官网的账号系统。这使得请求的主体更加的真实。用户必须用官网颁发的AccessId请求MaxCompute。MaxCompute通过阿里云官网的身份认证系统确认请求者身份;利用共享密钥机制防止“中间人攻击”。因此MaxCompute所有数据访问以及审计记录都更加准确的体现访问者的真实身份。

                                      图1、传统的访问控制


                                      图2、MaxCompute的访问控制
细粒度的访问控制
      MaxCompute以项目为租户单位,支持acl和policy这两种常规的访问控制模型。Acl和policy的访问控制只到对象这一级,例如udf、表、jar包等。对于项目空间内最为重要的资源-表,MaxCompute还提供了列级别访问控制-labelsecurity。Labelsecurity以强制访问控制的形式存在MaxCompute整个访问控制体系中。如图3,租户一旦配置了LabelSecurity,访问者除了有acl或者policy的权限外,还必须要有字段的label权限才能读对应的数据。

                                图3、 LabelSecurity与ACL、Policy的区别
      为方便这种细粒度访问控制的管理,labelsecurity的权限管理采用了多级安全管理模型。如图4,租户的管理者根据机密等级给用户和表的字段设置label。用户不需要label授权就可以访问比自己label低的字段。但是如果需要访问比自己label高的字段就需要授权

                                                                                              图4、 labelsecurity多级安全管理
 跨租户访问控制
        MaxCompute引入租户的目的是为了隔离租户之间的数据。在实际使用时,实体组织为了数据安全会在MaxCompute创建多个租户,以此在更高层次上防止组织内的成员访问未经授权的数据。但是这种安全机制会引入一个问题,在特定场景下部分作业需要联合查询旗下多个租户内的数据。传统计算平台解决这个额外难题的做法可能会是:1、组织内先进行权限审批;2、完成审批后再把数据导入到其中一个租户内,如图5;3、再执行作业。在大数据场景下,数据的导入导出会很占用资源,并且数据的时效性也会打折扣。为此MaxCompute设计了两种跨租户的访问控制。Package和项目空间trusted。

                                                                      图5 传统计算平台跨租户数据访问
  •  Package:

      Package类似文件系统中的软链接。租户A创建一个package,向package中加入资源,同时设定资源可访问的权限。经过租户A授权后,租户B可以安装该package,此时就完成了外部资源的导入。后续租户B可以把package作为一种项目空间内的资源授权给项目空间内的用户。采用这种软链接模式,租户间的数据导入导出将变的非常轻量,数据的时效性也能够得到保障。跨project访问时,请求会经过用户对package的权限、package是否可以安装、package内资源的访问限制三层校验。

                                                                              图6 MaxCompute中基于package的跨project数据访问
  • Trusted模式:

       当项目空间有类似上下级关系时,MaxCompute还提供了一种更加方便的跨租户授权方式-Trusted。下级项目空间A可以完全信任上级项目空间B中的用户时,项目空间A可以把项目空间B加为trusted。此时如果组织内的用户张三同时加入到项目空间A和B中。那么张三在项目空间B中就可以访问在项目空间A中授权过的资源。

                                                                 图7 MaxCompute中基于项目空间trusted的跨project访问


欢迎加入“数加·MaxCompute购买咨询”钉钉群(群号: 11782920)进行咨询,群二维码如下:

96e17df884ab556dc002c912fa736ef6558cbb51 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
那么多物联网安全事件,我们从中学到了什么?
物联网为企业带来了前所未有的灵活性和功能性。更多的物联网设备有望帮助企业简化供应链运作,提高效率,降低现有流程中的成本,提高产品和服务质量,甚至为客户创造新的产品和服务。物联网将优化甚至彻底改革商业模式,使之变得更好。
599 0
使用Excel COM组件导出数据后释放 Excel进程不能正常结束
分析一下自己的错误: 首先用Range的GetItem取到的是一个VARIANT,内含IDispatch接口,我一直以为内含的是一个BSTR,所以我已一开始直接用 _bstr_t   bs(rg.GetItem(_variant_t((short)1),_variant_t((short)2))); 来获取字符串(主要是的确能获得字符串),根据lop5712(LOP)的提醒,发现返回的VARIANT是接口并不是BSTR; 看来_bstr_t这个类可以把IDispatch接口直接转换为字符串。
622 0
MaxCompute 数据计算入门
阿里云的MaxCompute是大数据存储和分析平台。使用DataHub、SLS可以将海量数据轻松同步到MaxCompute,然后使用SQL查询、UDF和Map Reduce进行数据处理、分析和挖掘等任务。
2080 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
4392 0
Spring Boot 启动加载数据 CommandLineRunner
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/catoop/article/details/50501710 实际应用中,我们会有在项目服务启动的时候就去加载一些数据或做一些事情这样的需求。
688 0
企业上云数据安全
企业是否选择上公共云,或者哪些系统或数据上公共云,对数据安全的关心是重要因素之一。本最佳实践重点在于介绍狭义的数据加密存储安全范畴,即首先使用SDDP产品进行敏感数据发现和分级分类,然后对高级别敏感数据进行按需、不同类型的全链路加密存储。
891 0
+关注
隐林
阿里云大数据产品专家,擅长MaxCompute、机器学习、分布式、可视化、人工智能等大数据领域;
288
文章
38
问答
来源圈子
更多
MaxCompute(原ODPS)是一项面向分析的大数据计算服务,它以Serverless架构提供快速、全托管的在线数据仓库服务,消除传统数据平台在资源扩展性和弹性方面的限制,最小化用户运维投入,使您经济并高效的分析处理海量数据。
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载