数据库操作审批规范
总则
为规范生产环境数据库管理和操作,提高审核执行效率,特制定本规范。
适用范围
本规范中所定义的数据管理内容,指生产环境中的数据库(公司内部项目以及外部项目中的数据库),且包括并不限于 MySQL、Redis、Hive 等。
数据类型
- 普通数据:
- 表结构、常规非涉密字段等数据
- 涉密数据:
- 用户信息,包括并不限于手机号、姓名、地址、IP、IMEI 等
- 公司运行数据,包括并不限于业务订单等
操作等级
等级 | 审核 | 审核对象 | 适用类型 | 数量 | 是否涉密 | 可靠性级别 | 备注 |
---|---|---|---|---|---|---|---|
0 | 否 | 自行审核 | 查询表结构、数量、非涉密数据 | <1000 | 否 | 普通 | |
1 | 是 | 项目组长 | 修改表结构或字段、插入数据,查询大量数据 | <5000 | 否 | 普通/重要 | 评估后如果影响大,抄送给相关业务线人员,以及技术总监 |
2 | 是 | 项目组长 | 查询涉密数据 | <100 | 是 | 普通 | 抄送技术总监 |
3 | 是 | 技术总监 | 删除表、数据等 | 否 | 重要 | ||
4 | 是 | 技术总监 | 查询涉密数据 | >100 | 是 | 普通 |
操作规则
- 所有操作必须通过邮件来传递,运维人员不接受邮件以外的请求;
- 所有操作必须在主题中表明操作等级,通过操作等级来区分是否需要审核或者其他;
- 运维人员只接受项目组长或技术总监审核结果,不接受开发者操作请求(可弹性);
- 严禁 drop 或者 delete 表操作。如有特殊情况,项目组长在邮件内容中说明操作理由;
- SQL 语法错误,不予执行;
- SQL 需按照标准语法,必须使用分号结尾,且插入语句不得包含数据库名称。
示例如下:
开发人员希望查询 A 表的表结构,
1.邮件需要填写以下内容:
邮件主题 等级 0+简要目的说明
收件人 项目组长
抄送 运维人员
邮件内容
* 查询 SQL2.项目组长审核
3.上述流程完成,运维人员收到项目组长同意的结果后执行上述查询请求。
开发人员查询用户数据且大于 100 条:
1.开发人员发起请求
邮件主题 等级 4+简要目的说明
收件人 项目组长
抄送 运维人员
邮件内容
_ 查询原因
_ 查询 SQL2.项目组长审核
如果审核通过,项目组长发送邮件给技术总监请求审核;
如果未通过,开发者调整 SQL 或取消查询
3.技术总监收到项目组长邮件申请请求
审核结果回复给项目组长
4.上述流程完成,运维人员收到技术总监同意的结果后执行上述查询请求。