数据库运维高危操作的复核审批
云堡垒机专业版支持通过执行命令运维数据库,包括数据删除、修改、查看等运维操作。为确保数据库敏感信息的安全,避免关键信息的丢失和泄露,本文针对运维用户访问和运维数据库关键信息,详细介绍了如何设置数据库高危操作的复核审批,以及如何实现关键信息的重点监控。
本文以管理员admin_A授权运维用户User_A,针对MySQL数据库资源RDS_A高危操作的二次授权为例。
应用场景
云堡垒机(Cloud Bastion Host,CBH),通过设置数据库控制策略,设置预置命令执行策略,动态识别并拦截高危命令(包括删库、修改关键信息、查看敏感信息等),中断数据库运维会话。同时自动生成数据库授权工单,发送给管理员进行二次审批授权。只有管理员审批工单授权执行操作后,运维用户才能执行该高危操作,继续数据库运维会话。
约束限制
目前仅支持二次审核MySQL或Oracle数据库的执行命令。
前提条件
- 已购买专业版云堡垒机,且能正常登录云堡垒机系统。
- 云堡垒机所在安全组已放开相应数据库访问端口,数据库与云堡垒机之间网络连接畅通。
- 资源RDS_A已被纳管为主机运维方式资源,详情请参见如何创建数据库运维?。
- 运维用户User_A已获取资源RDS_A的访问控制权限,详情请参见创建访问控制策略。
配置二次审核策略
为实现高危操作的复核审批,需在“数据库控制策略”中预置命令规则,并开启“动态授权”执行方式。
- admin_A登录云堡垒机系统。
- 选择 ,进入数据库控制策略页面。
- 配置数据库规则集,选择预置高危操作命令。
- 选择“规则集”页签。
图1 规则集管理页面
- 单击“新建”,创建一个MySQL数据库的规则集。以新建DB-test规则集为例。
图2 创建规则集
- 单击“添加规则”,在DB-test规则集中添加“库”、“表”或“命令”规则。以添加DELETE删除表内容的命令为例。
- “命令”为必填项,至少需选择一个命令,可同时选择多个命令。
- 设置“库”或“表”,表示对数据库中库或表操作的命令限制。
- 未设置“库”或“表”,表示对数据库中全部操作的命令限制。
图3 添加命令规则
- 选择“规则集”页签。
- 配置数据库策略。
- 选择“策略列表”页签。
图4 数据库控制策略管理页面
- 单击“新建”,创建一个“动态授权”的数据库控制策略。以新建DB-ACL策略为例。
图5 配置动态授权
- 关联规则集DB-test。
图6 关联规则集
- 关联用户User_A和关联资源RDS_A。
图7 关联用户和资源
- 选择“策略列表”页签。
效果验证
运维用户执行高危操作,触发拦截,申请操作权限。管理员通过对高危操作的二次审核,加强对数据库核心资产的管控力度。
- 运维用户User_A登录资源RDS_A。
- 登录云堡垒机系统。
- 选择 。
- 单击“登录”,通过SSO单点登录工具调用数据库客户端,登录数据库资源RDS_A。
图8 登录数据库资源
- 以调用Navicat客户端登录数据库为例。运维用户User_A在资源RDS_A中,执行删除表内容操作,自动触发拦截DELETE命令,提示无权限删除。
图9 触发拦截
- 运维用户User_A提交数据库授权工单,反馈给管理员admin_A审批。
- 运维用户User_A登录云堡垒机系统。
- 选择 ,查看因删除操作被拦截而产生的工单。
- 单击“提交”,提交对资源RDS_A删除操作的授权申请。
图10 提交数据库授权工单
- 管理员admin_A审核运维用户User_A的运维操作,根据实际情况批准或驳回申请。
- 管理员admin_A登录云堡垒机系统。
- 选择User_A数据库授权工单。 ,审核
- 单击“批准”或“驳回”,审批工单。
仅管理员“批准”工单后,运维用户才能继续执行被拦截的高危操作。
图11 审批工单