通过本文您可以对现有数据库性能、安全等能力进行评估,提前规划好预防措施保障业务稳定运行,避免活动期间因数据库超载导致系统崩溃造成经济损失。
前提条件
使用DMS大促预案的实例的管控模式为安全协同。更多信息,请参见管控模式。
背景信息
大型活动期间,公司业务量可能出现大幅度上涨,数据库的使用与数据安全管理将面临巨大挑战。例如如下场景:
临近双十一,数据库即将面临一次访问流量上的大考。筹备业务大促期间,您可评估您现有数据库的使用情况,预估活动期间的使用量,以及大促期间研发人员使用数据库的情况,提前做好预防措施。
在活动大促期间,未做预防措施导致数据库出现问题的案例如下:
-
某运营人员为了统计活动数据执行了慢SQL指令,最终导致业务被拖垮。
-
某研发人员执行了一条结构变更指令,影响了同一数据库下另外一条业务线的活动。
性能安全
限制查询与导出的超时时间
您可以在编辑实例中设置目标实例在DMS上的查询超时时间和导出超时时间,避免长时间执行的SQL进一步影响业务。
查询超时时间和导出超时时间的常态推荐值为60s和600s,大促期间推荐值为5s和60s。
具体操作,请参见编辑实例。
在编辑实例对话框中,找到查询超时时间(s)和导出超时时间(s)字段,分别填入目标超时时间值并保存。
限制查询最大返回行数
您可以在安全规则中配置单次查询最大返回行数的值,避免大量数据返回影响业务正常请求的响应时间。
常态推荐值为200行,大促期间推荐值为10行。具体操作,请参见SQL窗口安全规则。
在规则集的基础配置项页签中,找到单次查询最大返回行数配置项,单击编辑修改其配置值。
限制全表扫描的最大值
您可以在安全规则中配置允许全表扫描SQL执行的表的大小值,避免大促期间研发同学对超大表进行全表扫描而影响业务。
常态推荐值为10240 MB,大促期间推荐值为1024 MB。具体操作,请参见SQL窗口安全规则。
在规则集的基础配置项页签中,找到限制允许SQL全表扫描的最大值(MB)配置项,单击编辑修改其配置值。
变更安全
拦截高风险SQL
您可以在安全规则中对部分高风险SQL语句(DQL、DDL、DML、DCL)进行管控,避免某些高风险SQL的执行而影响业务。
常态推荐按需开启,大促期间建议禁止例如DDL等高风险的SQL执行。具体操作,请参见SQL变更安全规则。在安全规则的规则集配置中,单击左侧导航栏的SQL变更,选择SQL执行规则页签。页面展示DML、DDL、DCL三类语句的执行规则,每类包含"允许在SQL控制台直接执行"(已禁用)和"禁止直接执行必须以工单方式执行"(已启用)两条规则。可通过编辑、启用/禁用、删除按钮管理各规则状态。未启用任何规则时,变更类SQL/命令均禁止执行。
升级审批流程
在大促期间,建议在审批流程中增加高级别的审批负责人或者业务关联人作为审批节点。
一般情况下推荐按需设置审批流程,例如研发-->业务Owner-->DBA,大促期间建议审批流程为研发-->业务Owner-->业务Owner主管-->DBA。具体操作,请参见创建审批流程。
变更窗口管控
在执行引擎底层强制管控实例的变更窗口范围,具有禁止和允许两种策略。
在大促时期间,建议通过设置时间段来限制人员发起DDL、DML、SELECT。
在实例的变更窗口列表对话框中,单击新增按钮添加变更窗口规则。每条规则包含类型(如禁止变更-DDL)、开始-结束时间及启用状态开关,可随时通过删除移除单条规则或单击清空库变更窗口批量清除。
数据安全
提高敏感信息列的等级设置
您可以通过字段安全级别调整功能将个人信息、手机号、身份证ID以及资金等敏感字段进行脱敏,提高数据安全。具体操作,请参见调整字段安全级别。
提高字段安全级别后,在DMS中执行SQL查询时,敏感字段的值均显示为**(星号掩码),表示数据已被成功脱敏。
开启数据水印功能
您可以在DMS中开启防泄露数字水印功能,系统将在整个控制台中同时提供水印,保障您的数据信息安全,防止截图等数据泄露事件。具体操作,请参见防泄露数字水印。
在配置管理页面搜索"水印",找到参数【数据安全】防泄露数字水印功能,单击编辑,在弹出的修改配置项对话框中开启开关,单击确定修改。
敏感数据管控
有效识别敏感数据的分布,进行细粒度权限管控、数据脱敏处理,进行最小化权限数据访问。具体操作,请参见管理敏感数据。
敏感数据保护支持接入多种数据源(PolarDB、ADB、MySQL等),兼容阿里云、友商云及IDC自建环境。通过部署识别任务(即时/单次/周期),依据合规标准(个人信息保护法、网络安全法、数据安全法、GDPR、HIPAA、PCI DSS等)对数据进行自动分级分类,并提供哈希、替换、遮掩、变换、加密等脱敏算法。支持静态脱敏(环境构建、数据集成、数据开发)和动态脱敏(SQLConsole查询、程序访问、API访问)两种模式。精细化权限管控分为无权限(内容显示为**)、半脱敏权限(内容显示为***st)和明文权限三个级别。
行级管控
设置表中数据行的权限,同一个表的数据,不同人员仅能访问特定数据行。具体操作,请参见行级管控。
在管控值详情弹窗中,可查看管控组下的行值列表,包括行值、最后修改人、最后修改时间等信息,并支持搜索行值、添加行值和删除操作。
设置用户访问元数据权限
可实现避免指定人员接触到一些无权限的元数据(包含数据库、实例、表等)。具体操作,请参见元数据访问控制。
在用户管理列表中,找到目标用户,单击对应操作列的更多,在下拉菜单中选择访问控制。
设置元数据可见范围
可实现避免指定元数据被无权限的人员搜索、接触。具体操作,请参见元数据访问控制。
在实例列表中,单击目标实例对应的更多,在下拉菜单中选择访问控制。
应急处理
操作审计
该功能可以快速定位指定时间段内,人员是否在DMS对指定数据库、表实施变更。具体操作,请参见操作审计。
在 DMS 的 SQLConsole 页面右上角,单击操作审计即可进入该功能。
数据追踪
在误删、误更新数据操作后,可快速恢复数据。具体操作,请参见数据追踪。
数据追踪工单详情页包含三个步骤区块:1)基本信息,包括提交时间、任务名称、时间范围、数据库(带环境标签)、表名及拉取DML类型(如插入);2)文件获取,以进度条形式展示数据拉取完成度;3)审批。工单完成后,页面顶部状态显示为工单已完成,并可通过创建子工单、操作日志、关闭工单等按钮进行后续操作。
DML无锁变更
在应急情况下,可实现大批量、无索引SQL的数据更新(UPDATE、DELETE)。请参见DML无锁变更。
DDL无锁变更
适应用于应急情况下,调整数据表中字段大小、增加索引等操作。具体操作,请参见开启无锁结构变更。
开启大促业务解决方案
若您未开通DMS服务,现诚邀您参加DMS推出的稳定变更-2实例首购3个月仅9.9元、安全协同-2实例首购3个月仅19.9元活动,让数据更安全、管理更高效、数据价值更清晰。更多信息,请参见阿里云售卖页。
为了帮助您更好的使用DMS,您可以搜索并加入钉钉用户群(21991247)获得更多帮助。