数据库自动化运维平台--自助权限申请
客户端程序访问数据库都需要一个连接数据库的用户名和密码,这个用户一般是DBA帮RD创建。根据安全级别的不同,每个团队都会有不同的授权方式。我们在用户访问数据库安全方面也制定了一套规则:
(1) 读写账号只能有SELECT,DELETE,UPDATE,INSERT权限。
(2) 用户的白名单IP不能是一个网段,必须是一个IP。
(3) 白名单IP必须是线上的服务器IP,不能是线下测试机IP。
对于白名单IP不能是网段这条规则,可能会给DBA带来很多的工作量。RD给出几十个IP白名单让DBA授权是常有的事,并且在手动授权的过程中容易犯错,比如之前就发生过手动授权覆盖已有账号的密码,使得客户端无法连接数据库的故障。
基于以上原因,最近对RD开放了新的运维平台,自助授权申请平台。
所涉及的技术:
(1)开发语言:Python
(2)框架:Flask
(3)bootstrap, html, js, css, jQuery
(4)后端存储:MySQL
平台部分截图:
1)自助授权
主要分为三部分:
新用户申请,一般用在创建新库的情况下。
已有账号需要扩展IP白名单,发生在客户端程序需要扩容,迁移等情况下。
已有账号扩展库,已有账号扩展权限。
2)用户使用平台控制
不是所有用户登录到运维平台上都能执行任务,需要向DBA申请操作某个集群实例的权限
可以编辑用户的能操作的端口实例,以及把此用户设置成黑名单用户。
3)新增用户
非线上的IP, 没有权限,新增用户已存在等 提交任务都会失败。
提交任务会生产任务列表
点击任务列表上的查看,可以查看任务概述
产生了任务还需要有人审核才行,审核规则要结合我们的元数据平台,需要集群负责人审核。
审核之后,便可以执行了
4)已有账号扩展IP
扩展白名单IP,需要这个用户已经存在,可以查看这个用户的现有信息等
5)已有账号扩展DB, 扩展权限
6)自助平台后台
总结:
通过平台服务化,使得DBA的工作更有效率,降低重复性工作。