登录界面,登录是对接了单点sso,单点认证后获取username,根据username的权限,对应显示前端的界面
2.dashboard 显示,包括用户总数、机器总数、授权主机数、当前登录用户信息、最近登录信息、报警信息
3.每日指标,主要包括每天需要例行检查的服务状态以及业务监控状态
4.部门管理,主要是LDAP对应的cn地址,所有的用户信息都与LDAP打通包括用户的增加及删除,增加用户实现以下几个功能:
5. 用户管理:
增加用户实现以下几个功能:
平台用户的增加
用户的ssh key创建,并拷贝到跳板机上
LDAP 用户增加
二次认证需要的条形验证码生成,主要是为单点登录生成google authenticator 二次认证的二维码(基于时间进行验证)
google authenticator 二次认证登录跳板机的密钥文件生成
通过钉钉接口获取用户的电话号码及中文名字
用户角色
主要有运维人员,超级用户,管理员,普通用户
前端可以根据不同的角色显示不同
后端主要是用装饰器实现用户权限的管理
删除用户实现功能
删除用户时,判断用户是否属于某个组,若属于则提示先移除组再删除用户
删除用户的ECS登录权限及sudo权限
删除用户ssh key
删除用户google authenticator 二次认证登录跳板机的密钥文件
删除用户二维码
LDAP删除用户
平台删除用户
用户组
提供用户检索功能
组对应的ECS机器有登录权限或sudo权限,当某个用户增加到这个组下,也会赋予相应的权限
当从某个组移除用户时,用户组及用户对应的ECS机器有登录权限和sudo权限,都会被移除
点击成员数目,可以查看组下的具体成员信息
6.资产管理,主要包括机器管理和机器组管理
机器管理实现功能
机器信息通过阿里云API接口获取,并通过django-celery 的beat 定时同步主机信息,也可以手动同步机器信息
机器分组实现功能
机器组对应的用户及用户拥有的ECS登录权限及sudo权限,当某个机器加到此组下时,也会对应的用户也会拥有此机器的ECS登录权限及sudo权限
从组中移除机器时,删除用户的登录权限及sudo权限
机器组列表:
7.授权管理
ECS 登录授权
对用户及用户组进行登录授权
拷贝用户的公钥文件到授权主机,实现ssh 免密登录
Sudo 授权
对用户及用户组授权
sudo授权主要是将用户加到某个用户组下,用户组的权限在机器初始化的时候,维护sudoers文件,对应拥有的权限
ECS授权列表:
ECS 授权添加:
sudo 授权添加:
8.自动化管理
任务操作
远程主机单机命令执行
远程主机脚本执行
较长命令及脚本支持后台执行
后台执行功能主要是celery 异步任务执行,返回执行结果
机器初始化
机器初始化主要用ansible 批量初始化
机器模版由多条ansible命令执行
机器初始化命令:
命令组合成模版:
机器初始化:
机器初始化列表:
实时查看执行初始化日志:
任务执行模块:
单一命令
shell 脚本
任务执行列表:
执行结果查看,也可以下载
9.审计日志,包括登录日志及平台操作日志
登录日志:
操作日志:
10.审批管理
资源(ECS,RDS,SLB,MNS.MogoDB,Redis等)申请、释放、变更配置的申请审批
权限申请(ECS登录,sudo权限,应用平台,数据库白名单等)和释放
邮件组申请
数据库变更申请(数据库修改数据,更改表结构,申请用户权限)
所有的审批对接钉钉API接口,审批人一般为2人,包括leader及运维人员,抄送个部门负责人
ECS登录、Sudo、应用平台实现自动授权,定时任务检查钉钉审批状态,审批通过之后,自动实现权限赋予,应用平台通过API接口实现
申请列表:
ECS 资源申请,其他的申请图就不一一列出
权限申请列表:
11.值班管理
-
日常值班,可以按天或按周来进行值班轮循
节假日值班,选择具体值班人员,确定值班范围,按天来进行轮询值班
日常值班列表:
节假日值班添加:
根据添加的值班信息展示:
由于代码涉及到公司隐私信息,就不开源啦,前端代码使用的模版可以在百度云盘下载:
https://pan.baidu.com/s/1gfB2KPP
转载于:https://blog.51cto.com/12113362/2051070