数据库自动化运维平台--自助权限申请

客户端程序访问数据库都需要一个连接数据库的用户名和密码,这个用户一般是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的工作更有效率,降低重复性工作。