【阿里云大数据产品MaxCompute(原名ODPS)】DT时代企业数据资产的护卫舰

简介: MaxCompute设计之初就是面向多租户,确保租户的数据安全是MaxCompute的必备功能之一。在MaxCompute系统的安全设计和实现上,MaxCompute的工程师们会遵循一些经过实践检验的安全设计原则(如Saltzer-Schroeder原则)。

免费开通大数据服务:https://www.aliyun.com/product/odps

阿里云数加MaxCompute(原名ODPS)设计之初就是面向多租户,确保租户的数据安全是MaxCompute的必备功能之一。在MaxCompute系统的安全设计和实现上,MaxCompute的工程师们会遵循一些经过实践检验的安全设计原则(如Saltzer-Schroeder原则)。在常用密码算法及安全协议的设计和实现上,也会遵循业界相关标准(如PKCS-及FIPS-系列标准),并坚持最佳安全实践。


这里从如下几个方面来解刨一下MaxCompute的安全特性,让关心MaxCompute数据安全的读者有一个基本的了解。更多产品信息请访问https://www.aliyun.com/product/odps 。

1. API认证

认证是一个服务的安全入口。MaxCompute认证采用业界标准的API认证协议来实现,如HmacSHA1。MaxCompute还提供HTTP和HTTPS两种的EndPoint以满足用户对认证安全的不同要求。HTTP EndPoint是明文传输,那么HmacSHA1认证只能保证消息请求的真实性(Authenticity)和完整性(Integrity),适合于对数据安全不太敏感的用户。HTTPS EndPoint则能提供更多的安全性,比如信道加密,抗重放攻击等。适合于对数据安全比较敏感的用户。

2. 访问控制

当你创建项目空间后,你就是项目空间的owner。一个项目空间只有一个owner,只有owner对项目空间有完全控制权限。你可以上传/下载数据、提交SQL进行数据处理。在没有你的授权的情况下,任何其他用户都无权访问你的项目空间。 注意,MaxCompute平台并没有超级管理员的角色,所以MaxCompute的开发、测试、运维同学都是没有权限看到用户数据的。有人会问了,通过MaxCompute背后的运维管理控制台也不能访问用户数据吗?的确不能。运维同学只有在获得内部授权之后,可以通过该控制台来执行一些运维管理类操作,比如停止一个有恶意行为的用户作业,但该控制台没有操作用户数据的权限。

MaxCompute产品面向的是企业级用户,所以提供了丰富的项目空间内的用户管理及授权功能,有兴趣的同学可以参考MaxCompute用户手册中的相关章节。MaxCompute访问控制粒度非常精细,比如你可以授权一个用户只能读某个table的部分columns,并且可以要求该用户只能在某个时间范围内、而且必须从指定的某些IP地址来进行访问。换句话说,一个企业主可以做到只允许其员工在公司内、在正常上班时间才能访问数据,下班回家就不允许访问了。

3. 数据流控制

MaxCompute设计之初就是要满足数据分享(或数据交换)的场景。所以,只要有授权,用户就可以非常方便的进行跨项目空间的数据访问。比如,在获得相应的访问权限之后,项目空间A中的作业可以直接处理项目空间B中的数据,而不必事先将数据从项目空间B中复制到项目空间A。

数据保护有两层含义,一是防止未授权的数据访问;二是防止获得授权的用户滥用数据。很多商用系统并不提供后一种数据安全保证。但在MaxCompute平台上,用户的这种担忧比较明显:用户希望能确保对自己的数据拥有控制权,而一旦授权他人读取,他人就可能会做复制数据,那么就相当于失去了对数据的控制权。

MaxCompute通过支持数据流控制来防止跨项目空间的数据复制。如果你想确保项目空间中的所有数据都不允许流出去,那么你可以打开项目空间的数据流控设置。你还可以设置项目空间的数据保护策略,以限制哪些数据可以流出到哪些项目空间。

4. 用户作业的隔离运行

MaxCompute支持用户提交各种类型的作业(如SQL/XLib/MR)。为了确保不同用户作业在运行时互不干扰,MaxCompute将用户作业的Worker进程运行在飞天 Container沙箱中。如果用户作业含有Java代码(比如UDF),那么飞天Container沙箱中的Worker进程启动JVM时,还会设置严格的Java 沙箱策略以限制UDF的运行时权限。

5. 作业运行时使用最小权限

最小权限原则是系统安全和容错设计的一个基本指导原则,即让每个任务在运行时使用刚好满足需要(不多也不少)的权限来执行。

MaxCompute的作业运行过程一般是这样:用户提交的SQL/XLib/MR作业会被调度到某一计算集群上运行,运行时每个作业一般对应一组并行跑的Worker进程,Worker进程一般会从数据集群上读数据、处理完成后最终会将数据写回到数据集群。举个例子来理解MaxCompute是如何遵循最小权限原则的。我们假设用户Alice被授权读访问一个项目空间下t1和t2两个table数据,但她提交的某个SQL只需要读t1的数据。在MaxCompute中,这个SQL对应的Worker进程在运行时就只能读t1对应的底层数据文件,而不会有更多的数据访问权限。

MaxCompute最小权限是依赖于底层的飞天分布式操作系统提供的Kerberos认证和Capability访问控制来实现的。Kerberos认证用于解决飞天底层服务模块之间的身份认证,Capability则用于解决底层服务模块之间的访问控制技术。这与上层MaxCompute所提供的认证和访问控制是完全正交的安全机制,对MaxCompute用户是完全透明的。

6. 数据访问审计

MaxCompute还提供精准的、细粒度的数据访问操作记录,并会长期保存。MaxCompute平台体系所依赖的功能服务模块非常之多,我们可以把它称之为底层服务栈。对于数据操作记录来说,MaxCompute会收集服务栈上的所有操作记录,从上层table/column级别的数据访问日志,一直到底层分布式文件系统上的数据操作日志。最底层分布式文件系统上处理的每一次数据访问请求,也都能追溯到是最上层的哪个项目空间中的哪个用户的哪个作业发起的数据访问。

有了服务栈上的各层操作审计之后,即使是内部攻击者(工程师或渗透到内部系统中的黑客)想从内部(绕过MaxCompute服务)直接访问底层分布式文件系统上的用户数据的话,也一定是可以从操作日志中被发现的。所以,通过数据访问审计,用户就可以准确的知道他在MaxCompute上的数据是否存在未授权的数据访问。

7. 风险控制

除了不同层面的防御机制之外,MaxCompute产品还会提供一套安全监控系统,用于监控用户作业及用户数据的安全活动,如AccessKey滥用,项目空间安全配置不当,用户代码运行时触犯安全策略,以及用户数据是否遭受异常访问等。

安全攻击防不胜防,所以MaxCompute会通过安全监控手段来及时发现问题,一旦发现安全问题则会启动相应的处理流程,尽可能将用户损失降到最低。


结语:虽然没有绝对的安全,但安全性在MaxCompute产品设计和实现中享有最高优先级。MaxCompute团队已经汇聚了多领域的安全专家,以保障用户数据安全。同时,我们欢迎更多安全专家的加入,共同增强MaxCompute的数据安全。

相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
1月前
|
SQL DataWorks 关系型数据库
DataWorks报错问题之写入数据时报‘http.client.ResponseNotReady’如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
|
1月前
|
消息中间件 分布式计算 DataWorks
DataWorks常见问题之查看数据地图模块总的存储大小失败如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
|
1月前
|
分布式计算 DataWorks 调度
DataWorks报错问题之dataworks同步clickhouse数据报错如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
|
1月前
|
SQL 分布式计算 DataWorks
DataWorks常见问题之maxcompute资源打开失败如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
|
1月前
|
分布式计算 DataWorks NoSQL
DataWorks报错问题之dataworks数据异常如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
|
3天前
|
数据采集 搜索推荐 大数据
大数据中的人为数据
【4月更文挑战第11天】人为数据,源于人类活动,如在线行为和社交互动,是大数据的关键部分,用于理解人类行为、预测趋势和策略制定。数据具多样性、实时性和动态性,广泛应用于市场营销和社交媒体分析。然而,数据真实性、用户隐私和处理复杂性构成挑战。解决策略包括数据质量控制、采用先进技术、强化数据安全和培养专业人才,以充分发挥其潜力。
10 3
|
6天前
|
运维 供应链 大数据
数据之势丨从“看数”到“用数”,百年制造企业用大数据实现“降本增效”
目前,松下中国旗下的64家法人公司已经有21家加入了新的IT架构中,为松下集团在中国及东北亚地区节约了超过30%的总成本,减少了近50%的交付时间,同时,大幅降低了系统的故障率。
|
26天前
|
SQL 分布式计算 DataWorks
在DataWorks中,将MaxCompute的表映射成Hologres(Holo)外部表的语句
【2月更文挑战第32天】在DataWorks中,将MaxCompute的表映射成Hologres(Holo)外部表的语句
22 1
|
30天前
|
DataWorks 监控 数据可视化
|
1月前
|
分布式计算 DataWorks API
DataWorks常见问题之按指定条件物理删除OTS中的数据失败如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。

相关产品

  • 云原生大数据计算服务 MaxCompute