开发者学堂课程【SaaS 模式云数据仓库系列课程 —— 2021数仓必修课:SaaS 模式云数据仓库 MaxCompute 安全最佳实践】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/55/detail/1054
SaaS 模式云数据仓库 MaxCompute 安全最佳实践
内容介绍:
1. 什么是 MaxCompute
2. MaxCompute 企业级安全能力升级
3. MaxCompute 安全体系
4.如何应对数据误用
5.如何应对数据滥用
6.如何应对数据泄露
7.如何应对数据丢失
1.什么是 MaxCompute
MaxCompute 是一款云原生、高效能的SaaS模式企业级数据仓库服务,被广泛用于构建现代化企业数据平台,开展BI分析、数据化运营、画像及推荐、智能预测等应用场景。
MaxCompute 构建在阿里云大规模计算、存储资源之上,以 Serverless 架构提供全托管的在线数据仓库服务,消除了传统数据平台在资源扩展性和弹性方面的限制,并最小化用户的运维投入。
MaxCompute 支持多种经典计算模型(批处理、机器学习、交互式分析等)和完善的企业管理功能,借助 MaxCompute ,用户可轻松集成和管理企业数据资产,简化数据平台架构,加速价值实现。
2.MaxCompute 企业级安全能力升级
MaxCompute 近期对产品的安全能力进行了全面升级。 发布的安全能力有:
细粒度授权
数据加密 (BYOK)
数据脱敏(数据保护伞)
持续备份恢复
跨地域的容灾备份
实时审计日志
3.MaxCompute 安全体系
对于一个企业级的大数据平台,要应对的安全风险,有三个层次(如图-1):
1.基础安全与可信平台,保障数据中心的物理安全与网络安全,主要包括数据中心保障设施、数据中心安全管控、数据中心的网络安全等几个维度的建设。
2.大数据平台的系统安全,主要由访问控制、安全隔离、风控审计、以及数据保护等子系统构成,为上层安全应用或工具提供平台能力基础。
3.数据应用的安全,为用户提供工具化的数据安全产品,优化用户体验,帮助用户更好应对各类数据风险。
近期的 MaxCompute 安全能力升级,主要新功能覆盖了访问控制、风控审计、以及数据保护几个子系统,如图-1中“大数据平台安全”层中,黄色高亮字体部分。本文中,我们将针对几类主要的数据风险(如图-2),介绍这些数据风险应对的最佳实践。在最佳实践中,将会穿插介绍何时使用、为什么使用、如何使用这些新功能。
4.如何应对数据误用
数据误用是由于非故意的、过失性动作导致的,防止误用一般指防止数据被不经意间错误使用。
应对数据误用的风险,防止数据误用,核心的一点,就是了解数据,能够回答这些问题:我有什么数据,这些数据在哪里,这些数据是怎么来的、又被如何使用,等一系列问题。
- MaxCompute 提供基础元数据信息
MaxCompute 可以帮助用户很好的回答这些问题。 MaxCompute 平台构建了统一的元数据管理,基于统一元数据和完备的平台日志,向用户提供元数据和相关日志数据。 用户可以基于 MaxCompute 的 Information Schema,构建自己的数据管理应用。
- 使用数据地图作为数据管理工具
大多数用户更希望通过现有的数据管理应用或服务,来了解自己的数据:“DataWorks -数据地图”就是这样的应用。
数据总览、数据明细等信息能帮助用户了解自己有哪些数据以及数据的明细信息;产出和使用信息、血缘信息,则能帮助用户了解数据的来龙去脉,帮助用户正确、合理的使用数据。
使正确的数据,被正确的使用在正确的场景下。在这里插入图片描述
5.如何应对数据滥用
数据滥用指的是对数据的使用超出了其预先约定的场景或目的,数据滥用一般是靠故意的、带有目的性的动作完成的。而应对数据滥用,最主要的应对是对数据使用做最小化授权,严格限制数据的被访问、使用的范围。权限管理的最佳实践,推荐图-5中的4大过程:
数据分级管理:基于 MaxCompute 的 LabelSecurity 对数据做分类分级管理。
授权审批流程:基于 MaxCompute 的 列级别权限管控能力, 对数据的访问使用需求,做最小化授权。
定期审计:对权限的申请、审批、使用情况进行分析,做到事前有审批,事后有审计。
及时清理:及时清理过期权限,减少数据风险。
可以依托 MaxCompute 的细粒度权限体系,使用 Dataworks 等白屏化工具,来实现最小化授权的最佳实践,应对数据滥用的风险。
- (New) MaxCompute 细粒度权限体系提供精细化的权限管理能力
MaxCompute 支持不同的授权机制来完成对用户或角色的授权,包括:
- 自主访问控制机制 (DAC, Discretionary Access Control): ACL
- 强制访问控制机制 (MAC, Mandatory Access Control):LabelSecurity (标签安全策略)
- 基于角色的访问控制机制 (RBAC, Role based Access Control): 角色管理
不论是哪种访问控制机制,授权鉴权过程中的三个要素是相同的: Action,Object,以及 Subject,如下图。
在此次的 MaxCompute 安全能力发布中,也包括权限模型的升级,支持更细粒度的授权鉴权,提供精细化的权限管理能力。 主要新功能有:
- ACL 支持列级别权限管理,增加 Condition支持,增加授权有效期支持;
- 细粒度 Package 内资源权限管控,对 Package 内的资源可以支持到列级别的权限管控;
- 增加独立的 Download 数据下载权限管理,对更高风险的数据批量下载场景做独立权管控;
- 管理类权限支持分级授权管理,内置 super administrator 角色来分解project owner 管理负担;
- 完善 RBAC,LabelSecurity 增加对 Role 的支持;
- 增强对应用端的权限管理能力。
使用安全中心进行白屏化权限管理
MaxCompute 的细粒度权限体系提供了的实现最小化授权的平台能力,结合一些白屏化工具,如“ DataWorks-安全中心”,则可以提供更好的用户体验,让用户更方便的实现权限管理。
安全中心提供便捷的权限管控功能和可视化的申请、审批流程,也可以进行权限的审计和管理:
- 权限自助申请:选择所需权限的数据表/字段,在线上快速发起申请。
- 权限审计及交还:管理员可以查看数据权限的对应人员,进行审计管理,用户也可以主动交还不再需要的权限。
- 权限审批管理:在线审批授权模式,提供可视化、流程化的管理授权机制,并可以对审批流程进行事后追溯。
6.如何应对数据泄露
1.数据生命周期
数据泄露可能发生在数据生命周期的多个阶段,如数据传输、数据存储、数据处理、数据交换等阶段。因此,我们将结合数据生命周期的不同阶段来介绍应对数据泄露的最佳实践。
首先,数据从不同的渠道被采集,经过各类传输通道,进入大数据平台。
在大数据平台中,经过计算后落盘存储;数据也会通过数据分享机制,在不同的租户、业务之间流转;经过一定周期后,一些数据也会被删除销毁。经过处理后的数据,则会通过不同的传输通道,被其他数据应用、或者用户消费。
2.(New) 应对数据存储过程中的数据泄露风险 - 使用数据加密(存储加密)功能。
如何应对数据存储过程中的数据泄露风险:如磁盘数据被直接访问,磁盘被获取,等风险。应对此类情况的措施,是对磁盘数据进行加密,这样即使数据被恶意获取,加密后的数据也无法被解读使用。
此次安全能力升级中, MaxCompute 发布了存储加密功能,支持用户数据的落盘加密:
- MaxCompute 接入秘钥管理系统 KMS 以保障秘钥的安全性,支持服务秘钥和用户自选秘钥 (BYOK) 。
- 用户可以在创建 MaxCompute 项目时,配置选择打开存储加密功能(存量用户可以通过工单申请开通)。
- 支持加密算法: AES256,国密算法,等。
- 数据加密后对用户使用保持透明,各种类型的任务不需额外改变。
3.应对数据数据处理过程中的数据泄露风险 - MaxCompute 安全隔离能力
在数据处理过程中,应对数据泄露的风险则主要在于大数据平台的安全隔离能力。
MaxCompute 提供独立的隔离环境用于执行数据处理应用,可以支持完整的UDF种类,支持 Java 和 Python UDF, 还支持执行如 Spark、Flink、Tensorflow 等开源三方计算引擎,提供了多元化的数据处理能力。
4.应对数据交换(共享)过程中的数据泄露风险 - MaxCompute 数据隔离与权限体系
在数据交换、或者说数据共享过程中,则需要完善的数据隔离能力与权限管理体系来保障数据安全、防范数据泄露风险。 MaxCompute 提供不同层级和维度上的数据隔离与权限管理机制,以支持多层次的数据保护和数据共享场景。
- 多租户的数据安全隔离: MaxCompute
支持多租户的使用场景,针对不同的用户数据进行数据存储隔离,用户数据被离散存储在分布式文件系统中,满足多用户协同、共享、和安全的需要,做到真正的多租户资源隔离。 - 租户内的业务 (Project) 数据隔离与共享:同一租户下,不同业务( Project)之间的数据隔离、以及一定程度上的数据共享是非常常见的场景。基于ProjectProtection 保护机制可以实现 Project 之间的数据隔离与保护,二Package 则能让用户更方便同时也更安全的实现跨 Project 的数据和资源分享。如前文“MaxCompute 细粒度权限体系提供精细化的权限管理能力”介绍,此次安全能力升级增加了对 Package 的数据和资源做细粒度的权限管理,增强了 Package 的数据共享和保护能力。
- (New) 应用端数据访问控制:通过对访问 MaxCompute 的的应用增加签名机制,增强了对应用端访问控制的管理能力。 例如,只允许特定的应用可以进行授权语句的操作,以避免用户通过接口或不合规的应用进行非法数据授权操作。
5.(New) 数据生命周期中的敏感数据保护
应对数据泄露风险中的一个重要主题是敏感数据保护,前文所述在存储、处理、和交换过程中的风险应对实践,对敏感数据保护同样适用。 此外,还有一些针对敏感数据保护这一特定场景的最佳实践:
- 数据分类分级:使用 MaxCompute 的 LabelSecurity
功能,对数据做安全性的分类分级,对不同类别不同安全等级的数据访问和使用,进行精细化的权限管理。 - (New) 数据脱敏:基于安全行业的脱敏实现或应用,结合 MaxCompute 的平台 UDF
能力,实现不同客户端数据输出时的敏感数据脱敏。脱敏实现也可以与数据分类分级结合使用,对不同分类分级的数据做不同的脱敏实现。
(New)用数据保护伞作为敏感数据保护工具
数据保护伞,是基于 MaxCompute 平台的数据分类分级能力和接入脱敏应用能力、构建的敏感数据保护工具。用户可以使用数据保护伞对敏感数据进行标识,选择脱敏算法,在数据屏显输出时进行脱敏。
7.如何应对数据丢失
除了恶意的数据泄露、数据滥用等风险,数据开发过程中的各种误操作,偶发的设备或机房故障,甚或是罕见的灾害意外情况,都能造成数据丢失的后果。 应对数据丢失风险的最佳实践,主要有备份恢复,以及容灾能力。
1.(New) MaxCompute 备份与恢复
数据开发过程中,避免不了会有误操作删除数据(如 Drop/Truncate Table)后需要恢复,或使用“insert into”、“insertoverwrite”语法执行后发现数据有问题需要恢复之前版本。
MaxCompute 近期发布了持续的备份与恢复能力,系统会自动备份数据的历史版本(例如被删除或修改前的数据并保留一定时间,您可以对保留周期内的数据进行快速恢复,避免因误操作丢失数据。
2.(New) MaxCompute 异地容灾
MaxCompute 的异地容灾能力,更好的提供了在机房故障或意外灾害等极端场景下的数据安全保障。
在为 MaxCompute 项目指定备份位置到备份集群后,MaxCompute 自动实现主集群与备份集群的数据复制,达到主集群与被集群数据的一致,实现异地数据容灾。当发生故障,MaxCompute 项目从主集群切换到备份集群后,使用备份集群的计算资源访问备份集群的数据,完成服务的切换和恢复。)
善用审计,应对各类数据风险
至此,我们已经介绍了在数据开发和使用过程中,应对各类数据风险的实践。我们把非常重要的、适用于各类数据风险应对的一个实践,放在最后介绍:善用日志,构建预警和审计能力。
MaxCompute 提供了完善的历史数据和实时日志:
- Information Schema: 提供了项目元数据及使用历史数据等信息。PRIVILEGES 和 HISTORY 类的视图,可以帮助用户对数据权限使用、任务执行等维度做分析审计。
- (New) 实时审计日志功能: MaxCompute
- 完整记录了用户的各项操作行为,如DDL、授权、任务执行等各类事件,满实时审计、问题回溯分析等需求。
基于 Information Schema 和 实时审计日志,用户可以构建自己的数据风控和审计体系。Information Schema 去年就已上线,下文将主要介绍新发布的实时审计日志。
当然,并不是所有的用户都计划自己构建风控和审计工具,这种情况下,可以直接使用 Dataworks 中的已有产品,进行风控和审计。优点是无需用户二次开发、开箱即用,缺点则是定制的弹性较小。
1.(New) 实时审计日志
敏感数据是否被过度使用?
数据访问权限是否被过度授予?是否有异常如计划外高频的数据访问?在数据安全保障中,管理者常常需要回答这些问题。 MaxCompute 审计日志可以帮助回答这些问题。
MaxCompute完整地记录用户的各项操作行为,并通过阿里云ActionTrail服务将用户行为日志实时推送给ActionTrail。用户可以在ActionTrail中查看和检索用户行为日志,同时通过ActrionTrail将日志投递到日志服务项目或指定的OSS Bucket中,满足实时审计、问题回溯分析等需求。
ActionTrail针对作业(Instance)、表(Table)、函数(Function)、资源(Resource)、用户(User)、角色(Role)和授权(Privilege)等事件的多种操作行为进行审计。
2.使用 DataWorks 中的审计工具
用户也可以使用 Dataworks 的已有产品,进行数据安全的风控和审计:
- 在前文中介绍的安全中心,可以提供权限的审计。
- 数据保护伞也提供了风控和审计能力。