开发者学习笔记【阿里云云数据库助理工程师(ACA)认证:企业级数据库管理的技术演进与实践(DMS)(二)】
课程地址:https://edu.aliyun.com/course/3112080/lesson/19073
企业级数据库管理的技术演进与实践(DMS)(二)
二、数据管理服务 DMS 的功能原理
1.新型授权管理方案
各种角色按需去开通对应的权限类型,包括有效期。这部分重要的点在于到期会自动回收,不存在没有使用或者到了期限还能够接着使用的情况。会进行移植转岗,自动回收。过期的也会进行回收、失效。如果需要再次使用,就要走新的流程进行开通。
2.SQL请求的安全防护
一个完整链路开始要选择是否要在公司内网访问,如果不使用公司内网则无法发起请求。发起请求之后,后面还有一系列相关权限检测,包括规则、脱敏,最后才会返回结果。其中核心的内容是初始化了阿里巴巴一套线性的安全规范,但是这套规范提供了各种参数、动作,是由企业可以自己按需去做调整的。比如默认每次查询200行,企业可以按照自己的需要可以把预制做调整,包括查询的超时时间等。
3.敏感数据的识别和防护
首先第一步需要识别并区别出来敏感和机密,这里提供了两种能力来作为自动化的识别。
一种方法是基于字段,比如说手机号、email等,这些可以通过字段云的方式来达标。
另一种同时也提供的一些基于字段内容的规则识别,比如说手机号的11位、身份证号等有业界标准格式和字段数量。
识别字段可以通过自己的管理需要,比如手机号只能显示后四位,那么前面的数字会遮掩掉。还有一些特殊的字段只能显示中间的两位或头部的两位等等,这种属于脱敏算法的管理。
这部分可以按安全管理员按需去做调整,在有权限的情况下可以看到相应的数据,在没有权限的情况下操作就会被拦截。如果有半脱敏的权限,那么就能够看到脱敏算法处理过的数据。
如果是敏文权限,那么就可以看到完整的数据。所有的操作均是记录下来,可以被用于问题的排查定位。
4.安全规则 DSL 方案
目前是阿里巴巴现行最新的安全规则,研发规范、研发流程均包含在内。企业一方的调整可以通过规则、行为、动作、结构反馈形成一个完整的闭环。这里的每一个行为都会经过规则集的校验,通过校验后才会真正下发到数据库,成为一个完整的流程。
5.SQL 审核
这一部分针对代码里面用到的 SQL 语句,在发布上线之前先做一个revile,包括SQL注入、无锁引 SQL、不合规 SQL都可以在这之前得到有效的规避。在发布到线上之后均是合规的 SQL,这样来保证生产服务的稳定。
三、数据管理服务 DMS 的应用场景
1.企业员工账号安全&自动化管理实践
这部分可以对接到企业的云账号,通过阿里云用户的 CSO,让企业用户快速地使用。这一部分也通过OpenAPI 的能力支持。在企业入职时,可以去新建对应的账号。在离职之前经过相应的类审,把相关的账号做完清理,走完整个流程。最后再保障人员在离职的情况下,就不能够再接触云产品的服务,从而做到有效安全的管理。
2.员工操作的审计
在此之上,DMS 提供了所有操作的详细记录,随时可以审计,以及问题的排查。可以在指定的时间段内快速的去定位数据库上发生的操作,可以处理异常或者故障化,进行快速地问题恢复。
3.数据追踪与恢复
直接在数据库中产生的误更新、误删除。这部分提供的知识,需要指定时间段和某个操作的表,可以自动去解析这个时间内这个表发生的所有的操作从而生成它恢复的脚本,这是一个低门槛的操作。不需要去理解不同版本的格式,但是在数据库中只能保留七天,如果超过七天,这份数据只能通过实例的周期备份码恢复。当问题发生的时间比较短时,可以通过数据追踪来进行恢复,从时间上来说会很快。
4.高效协同
整个企业中所有需要使用数据库的用户是可以形成完整的闭环,管理员把用户角色划分好、用户资源等准备好后,DBA 把规则、规范、研发流程、审批流程相关定义好,安全管理员完成数据脱敏的审计。所有的使用者基于权限可以进行相关功能的使用,在相关功能使用的下发下之后,这个功能是否能够直接下发到数据库,下发数据库之前是否要审批和经过怎样的审批都是通过规则来形成的闭环。
绝大多数情况下是一些无风险操作,无需审批。如果有一定的风险,可能需要业务负责人审批。如果有比较大的危险,那么业务负责人审批完成之后还要经过 DBA 的审批。这一部分都是完全可以去自定义的。同时在安全方面也可以在事后做一些审计。最后产品可以满足等保合规的需要包括上市的审计。
5.DMS 研发流程
通过研发协同的概念来了解研发流程是如何落地的。首先在结构变更上,可以通过结构设计、库表同步去进行提供无锁结构变更,同时也支持表结构版本管理定位每一个版本的差异进行恢复。
在代码上线前,通过SQL 审核消灭一些不合规的问题 SQL。上线后一般会有数据的初始化、变更来完成数据常态化的更新。在运行一段时间之后,数据运维可能会对历史数据进行一些清理、归档。这时会提供无锁数据变更的能力。根据组建和违建自动分开、执行,从而保证变更的平稳。如果数据出现了异常,可以随时通过数据追踪来做定位以及恢复。在常态化的运维中包括运营分析、跟进会有一部分数据分析的需求,这时通过 SQL Console 或者跨库查询来支持。这几层中一切的基础都是安全规则。所有的行为是否能够下发,下发的方式都是通过安全规则来定义的。
在这之上也提供了便捷的功能,例如数据库分组管理、逻辑库表管理。这两个的粒度都可以将多次的操作化为一次操作。比如将1024个表分在64个库上,这时通过逻辑表库管理的操作可以同时覆盖到1024表中所有的变更,做一个整体的反馈从而保证整体是一致的。
6.DSQL 跨库查询
在传统中,一般把不同的数据汇总到一个仓库里进行分析。利用跨库查询可以通过标准的 SQL 来进行实施分析,可以是同构的也可以是异构的数据。整个数据可以直接分析,但这个操作适用于整个数据量偏少的实时场景。如果数据量大时,还需要进行数据量中间的存储。
(1)多源查询的优势
①标准SQL接口
②支持RDBMS和NoSQL数据源
③无需额外存储
④无需ETL进行数据变换和汇聚
⑤即时查询,数据时效性高
⑥Serverless架构,无需管理计算资源
7.DMS 数仓开发
基于 DMS 管理的各种各样的数据源可以通过 DTS 把数据源从源端快速便捷稳定安全地同步到目标端,在目标端中可以进行报表的开发、周期任务的调度。包括周报、月报、日报等。这里产生的报表可以通过数据服务或可视化的大屏来引导进行分享,可以给到高层的决策。
最后会有数据治理,基于任务的调度、了解上下文的关系,在 MySQL 的一张表时会了解到这张表会影响到后面哪些表的数据,以及结构。这时在数据一开始变更时就能够得到有效的影响范围的评估,同时也能够被定位,及时得知 MySQL 发生的变更,库表定义需要随着做一部分更新。数据质量相关的功能目前在建设当中。
四、数据管理服务 DMS 的案例分析
1.案例分析:兑吧集团
兑吧集团是运营 SaaS 服务和互动效果广告供应商。目前已在香港上市。最初使用DMS 是解决人员数据查询的安全问题,后来基于安全逐渐管理了整个企业的研发流程、研发规范、表结构设计和应用发布上线。
阿里云的DMS企业版提供了一系列强大功能,包括专业数据访问功能,定制自由的安全规则,全面的操作日志审计,支持RDS和自建实例接入等等。其自动化的工单平台使我们的数据更安全,管理更高效,为兑吧集团提供了可靠的数据保障。
课堂小结
小结:
1.数据管理服务DMS的功能
2.数据管理服务DMS的基础原理
3.数据管理服务DMS的应用场景