系统和数据库账户权限分配和使用制度
1. 适用范围
本制度仅适用于:
- 部署了已发布产品的平台设备和数据库,配合第三方对接的设备和数据库不在此范围内。
运维部具有完整控制权的设备和数据库,专网平台设备,由第三方维护设备不在此范围内。
2. 总体原则
操作系统和数据库,是平台运行架构中最底层的服务,是保障平台安全平稳运行的基石。其权限的分配须遵循如下的基本原则:
操作系统和数据库的root权限统一由运维部进行管理。
- 在保障用户可以满足其正常工作需要的基础上,授予最小权限。
- 所有权限申请均需通过相应的审批流程。
- 用户账户均需采集用户的真实信息,以实名进行登记。
对用户的登录方式进行限制,仅允许通过跳板机访问,并对其操作进行全程记录,并可随时进行追溯。
3. 权限设置原则
3.1 线上服务器权限
权限共分为管理员、受限用户、只读用户三种,其中受限用户通过设置白名单、黑名单,及sudoers相关配置,控制用户允许执行的命令,受限用户根据用户所在部门和操作特点,根据用户组进行设置,并可进行动态调整。
- 研发、测试人员,根据其需求,授予受限用户和只读用户权限,禁止授予管理员权限。
- 账户权限分为临时和长期两种,其中临时为7天,长期为永久(但90天内未登录则权限冻结,需要申请解冻)。
保存在配置文件里的涉密数据(如数据库用户名密码,appid/appkey等),通过调整配置文件权限的方式,避免暴露给受限用户。
3.2 数据库权限
权限的最小级别为数据库级别,不再单独为数据表分配权限。
- 自主维护的数据库的除程序账户和运维外,只分配只读权限的账户。
如果有第三方使用数据库的场景,则单独为其创建新库,可以按需求赋予指定账户的读写权限。
4. 授予权限的典型场景
4.1 线上服务器权限
【研发】需要登录生产环境服务器进行线上故障的排错。
- 【研发】收集线上系统状态、业务日志,进行有针对性的优化。
- 【研发】非基线版本的业务模块,在正式交付用户前的部署和调试阶段,进行线上的开发和对接调试。
- 【交付】用户现场的支持维护。
【运维】日常值班的故障恢复,线上平台报警的排错及处理,升级、扩容及其它环境变更等。
4.2 数据库权限
【研发、测试】需要获取线上业务数据。
- 【交付】用户现场的支持维护。
【第三方】平台的对接开发,需要对已有业务数据进行查询,转存,及根据业务需要保存增量的业务数据。
5. 权限审批和分配流程
以下流程已于钉钉上线。
发起人申请,需注明资源,目的,权限级别,申请时间。
- 部门主管,运维主管,CTO(如需root权限,后续会去掉授予root权限的选项)审批。
-
6. 用户须知
用户账户已经实名认证,必须做到专人专用,严禁泄露或共享账户给他人使用。
- 用户需确保客户端登录设备的安全,电脑设置登陆密码并设置超时锁屏,配置防火墙并定期查杀病毒,禁止安装和使用具有任何安全风险的程序或工具。
- 用户需保证账户安全,包括:
- 通过密钥对登录的,需为私钥指定密码。
- 通过用户名/密码登录的,需保证使用强密码(大写字母,小写字母,数字,字符4种类型中至少包括3种,且不少于8位)每三个月至少更改一次密码。
- 使用MFA登录的,需确保手机打开超时锁屏功能,且严禁将手机与电脑同时放在一起的情况下,擅自离开办公岗位。