阿里云-dms使用规范

数据管理DMS 是一种集数据管理、结构管理、用户授权、安全审计、数据趋势、数据追踪、BI图表、性能与优化和服务器管理于一体的数据管理服务。—— 阿里云

为什么选择DMS

  • [网络] UAT 及 PROD 环境隔离,办公网段无法访问直接访问
  • [开发] 无论在家or公司,无需登录堡垒机无需接触数据库账号,可以直接查询、增删改数据(通过工单)
  • [DBA] 支持钉钉审批支持自定义流程、支持多种类型数据库、完善的用户授权体系、可杜绝线上数据被篡改
  • [审计] 强大的SQL审核及安全审计功能,完全满足外部审计需求
  • [安全] 可实现敏感数据管理,防止泄露,保护公司核心数据财产

[TOC]

dms简介

dms使用

  • 阿里云dms入口:https://dms.aliyun.com/new
  • 访问dms之前,必须先申请一个阿里云RAM子账号,请发申请邮件给 DBA 并抄送双方主管,邮件格式如下:
邮件标题:      申请阿里云ram子账号
邮件收件人:    DBA
邮件抄送:      申请人主管, DBA主管
邮件正文:      因 xxx,现需要申请一个ram子账号访问阿里云dms服务,请帮忙开通。
  • DMS适用范围:MySQL、Redis、Mongodb、SQL Server、PostgreSQL、ADB

查询数据

权限申请

  • 登录新版DMS控制台,依次点开:安全与规范 - 权限 - 申请权限,选择 库-权限

Alt text

  • 只是查询数据的话,建议申请只读实例,以减少对主实例的压力
  • 只是查询数据的话,权限类型只选择"查询"权限即可
  • 权限期限不得超过6个月(到期可再申请),特殊情况除外
  • 根据最小化、按需申请原则,不允许申请整个实例

sql窗口查询数据

Alt text

  • 查询数据超过200条则必须申请工单并经过库owner审批,超过1000条的敏感数据则必须加签审计同事
  • 导出sql有未命名的字段必须使用as别名,比如:
select left(remark,7), tag_sourceId from tag_bind where TypeId=2 and is_del=0

变更数据

权限申请

  • 可参考查询数据的权限申请,权限类型勾选:变更 即可。

提交工单变更数据

Alt text

  • 若要变更数据,需先申请 [主库][变更] 权限,再提交 [普通数据变更工单]

    注:申请了变更权限不代表就可以直接修改数据,在dms窗口执行update会弹出提交工单提示。

  • 提交普通数据变更,请务必填写 [回滚SQL],以便变更异常后快速回滚;
  • 针对且仅限 UPDATE/DELETE 工单,在最后一步执行的时候会有一个“是否备份数据”的按钮,勾选它就会自动备份(如要回滚,可点开此工单下载备份数据),若跳过校验、dml夹杂ddl、begin...end则不会备份。
  • 提交普通数据变更,注意 [执行方式] 的区别:
  • [审批通过后,提交者执行(默认)] 即 工单审批通过后,仍需要提交者点执行才会执行变更
  • [审批通过后,自动执行] 即 工单审批通过后sql会自动执行,无需提交者介入
  • [最后一个审批人执行]
  • MySQL的大表DML/DDL推荐使用[无锁变更]
说明:
1.无锁变更会自动拆分用户的单条SQL,然后分批执行,因此不保证原始SQL的事务性
2.支持无锁结构变更和无锁数据变更
3.仅支持MySQL,不支持MSSQL/Oracle

适用场景:
1.目标表为大表,且更新语句不走索引,避免长时间锁表
2.历史数据清理/备份大量数据/单条SQL事务太大,超过binlog限制

dms策略及限制

  • 单次查询最大返回行数 200,超过200则必须走工单
  • 禁止全表UPDATE执行
  • 禁止全表DELETE执行
  • 不允许TRUNCATE在SQL控制台直接执行
  • 审批流程:申请人-->库Owner-->DBA

    目前库Owner设置多人,任意一个响应就可以到下一个节点。最多可以设置三个。

工单审批

  • 若为库owner角色,则会涉及到工单审批,可参考如下:

Alt text

实际存在的问题

  • 办公网断与生产、UAT环境的网络未隔离;
  • 绕过dms,通过ecs、堡垒机使用应用账号直连数据库
  • 不符合规范的工单,比如建表、全表更新等;
Copyright © www.sqlfans.cn 2023 All Right Reserved更新时间: 2022-01-14 17:30:07

results matching ""

    No results matching ""