数据库操作审批规范

总则

为规范生产环境数据库管理和操作,提高审核执行效率,特制定本规范。

适用范围

本规范中所定义的数据管理内容,指生产环境中的数据库(公司内部项目以及外部项目中的数据库),且包括并不限于 MySQL、Redis、Hive 等。

数据类型

  • 普通数据:
    • 表结构、常规非涉密字段等数据
  • 涉密数据:
    • 用户信息,包括并不限于手机号、姓名、地址、IP、IMEI 等
    • 公司运行数据,包括并不限于业务订单等

操作等级

等级审核审核对象适用类型数量是否涉密可靠性级别备注
0自行审核查询表结构、数量、非涉密数据<1000普通
1项目组长修改表结构或字段、插入数据,查询大量数据<5000普通/重要评估后如果影响大,抄送给相关业务线人员,以及技术总监
2项目组长查询涉密数据<100普通抄送技术总监
3技术总监删除表、数据等重要
4技术总监查询涉密数据>100普通

操作规则

  • 所有操作必须通过邮件来传递,运维人员不接受邮件以外的请求;
  • 所有操作必须在主题中表明操作等级,通过操作等级来区分是否需要审核或者其他;
  • 运维人员只接受项目组长或技术总监审核结果,不接受开发者操作请求(可弹性);
  • 严禁 drop 或者 delete 表操作。如有特殊情况,项目组长在邮件内容中说明操作理由;
  • SQL 语法错误,不予执行;
  • SQL 需按照标准语法,必须使用分号结尾,且插入语句不得包含数据库名称。

示例如下:

开发人员希望查询 A 表的表结构,

1.邮件需要填写以下内容:

  • 邮件主题 等级 0+简要目的说明

  • 收件人 项目组长

  • 抄送 运维人员

  • 邮件内容
    * 查询 SQL

    2.项目组长审核

    3.上述流程完成,运维人员收到项目组长同意的结果后执行上述查询请求。

开发人员查询用户数据且大于 100 条:

1.开发人员发起请求

  • 邮件主题 等级 4+简要目的说明

  • 收件人 项目组长

  • 抄送 运维人员

  • 邮件内容
    _ 查询原因
    _ 查询 SQL

    2.项目组长审核

  • 如果审核通过,项目组长发送邮件给技术总监请求审核;

  • 如果未通过,开发者调整 SQL 或取消查询

    3.技术总监收到项目组长邮件申请请求

  • 审核结果回复给项目组长

    4.上述流程完成,运维人员收到技术总监同意的结果后执行上述查询请求。