系统和数据库账户权限分配和使用制度

1. 适用范围

本制度仅适用于:

  1. 部署了已发布产品的平台设备和数据库,配合第三方对接的设备和数据库不在此范围内。
  2. 运维部具有完整控制权的设备和数据库,专网平台设备,由第三方维护设备不在此范围内。

    2. 总体原则

    操作系统和数据库,是平台运行架构中最底层的服务,是保障平台安全平稳运行的基石。其权限的分配须遵循如下的基本原则:

  3. 操作系统和数据库的root权限统一由运维部进行管理。

  4. 在保障用户可以满足其正常工作需要的基础上,授予最小权限。
  5. 所有权限申请均需通过相应的审批流程。
  6. 用户账户均需采集用户的真实信息,以实名进行登记。
  7. 对用户的登录方式进行限制,仅允许通过跳板机访问,并对其操作进行全程记录,并可随时进行追溯。

    3. 权限设置原则

    3.1 线上服务器权限

  8. 权限共分为管理员、受限用户、只读用户三种,其中受限用户通过设置白名单、黑名单,及sudoers相关配置,控制用户允许执行的命令,受限用户根据用户所在部门和操作特点,根据用户组进行设置,并可进行动态调整。

  9. 研发、测试人员,根据其需求,授予受限用户和只读用户权限,禁止授予管理员权限。
  10. 账户权限分为临时和长期两种,其中临时为7天,长期为永久(但90天内未登录则权限冻结,需要申请解冻)。
  11. 保存在配置文件里的涉密数据(如数据库用户名密码,appid/appkey等),通过调整配置文件权限的方式,避免暴露给受限用户。

    3.2 数据库权限

  12. 权限的最小级别为数据库级别,不再单独为数据表分配权限。

  13. 自主维护的数据库的除程序账户和运维外,只分配只读权限的账户。
  14. 如果有第三方使用数据库的场景,则单独为其创建新库,可以按需求赋予指定账户的读写权限。

    4. 授予权限的典型场景

    4.1 线上服务器权限

  15. 【研发】需要登录生产环境服务器进行线上故障的排错。

  16. 【研发】收集线上系统状态、业务日志,进行有针对性的优化。
  17. 【研发】非基线版本的业务模块,在正式交付用户前的部署和调试阶段,进行线上的开发和对接调试。
  18. 【交付】用户现场的支持维护。
  19. 【运维】日常值班的故障恢复,线上平台报警的排错及处理,升级、扩容及其它环境变更等。

    4.2 数据库权限

  20. 【研发、测试】需要获取线上业务数据。

  21. 【交付】用户现场的支持维护。
  22. 【第三方】平台的对接开发,需要对已有业务数据进行查询,转存,及根据业务需要保存增量的业务数据。

    5. 权限审批和分配流程

    以下流程已于钉钉上线。

  23. 发起人申请,需注明资源,目的,权限级别,申请时间。

  24. 部门主管,运维主管,CTO(如需root权限,后续会去掉授予root权限的选项)审批。
  25. 权限管理员按照指定要求赋予权限。

    6. 用户须知

  26. 用户账户已经实名认证,必须做到专人专用,严禁泄露或共享账户给他人使用。

  27. 用户需确保客户端登录设备的安全,电脑设置登陆密码并设置超时锁屏,配置防火墙并定期查杀病毒,禁止安装和使用具有任何安全风险的程序或工具。
  28. 用户需保证账户安全,包括:
    • 通过密钥对登录的,需为私钥指定密码。
    • 通过用户名/密码登录的,需保证使用强密码(大写字母,小写字母,数字,字符4种类型中至少包括3种,且不少于8位)每三个月至少更改一次密码。
    • 使用MFA登录的,需确保手机打开超时锁屏功能,且严禁将手机与电脑同时放在一起的情况下,擅自离开办公岗位。