数据库作为企业的核心业务,其运维操作是安全管控的重点。堡垒机企业双擎版和国密版支持对MySQL、SQL Server、PostgreSQL类型的RDS和MySQL、PostgreSQL、PostgreSQL(兼容Oracle)的PolarDB以及MySQL、SQL Server、PostgreSQL、Oracle类型的自建数据库进行运维和审计。本文以具体案例介绍如何通过堡垒机进行数据库运维。
背景信息
企业资产中,除了Windows服务器、Linux服务器外,还有大量的数据库资产。数据库作为核心业务资产包含大量敏感信息,如何保证运维安全、防止越权访问、违规操作等更是企业的重点关注需求。
数据库业务比较多样化,有云原生数据库如RDS、以及自建数据库,并包含MySQL、SQL Server、PostgreSQL、Oracle多种类型,且很多大型企业数据库业务也通常会分布在多跨账号、跨VPC以及线下IDC或异构云等混合场景下,那么如何实现对如上混合场景的统一运维管控、方便运维安全团队的集中管理也是堡垒机的重点。
阿里云堡垒机企业双擎版或国密版支持Windows服务器、Linux服务器以及数据库的运维管控,针对多种类型数据库均可实现运维权限划分及事后审计追溯,最大化保证数据库运维安全。另外还提供混合场景运维能力,通过网络域运维能力将跨账号、线下IDC、异构云混合场景下的资产进行统一平台接入,便于安全团队的一站式管控。
同时,企业双擎版和国密版具有可靠底层架构保障,双引擎部署,双活架构运行,对于数据库的运维高要求操作提供更稳定的业务保障。详细信息,请参见版本功能对比。

数据库运维流程
使用堡垒机进行数据库运维时,管理员先通过堡垒机对资产进行管理,以及运维人员进行权限划分。运维人员再通过客户端、运维门户等方式建立到堡垒机的SSH隧道,并在堡垒机管控下登录数据库资产进行运维。

运维方式及步骤
客户端运维
前提条件
- 已在堡垒机中新建数据库和用户,并授权用户资产和资产账户。具体操作,请参见新建数据库、管理用户及授权资产及资产账户。 - 下文以MySQL和本地用户为例介绍。 
- 已在本地系统安装支持SSH隧道的数据库运维工具。关于客户端工具及版本推荐,请参见客户端远程连接工具及版本推荐。 - 下文以Windows系统+Navicat Premium工具、Linux系统+命令行两种方式介绍运维流程。 
步骤一:获取堡垒机运维地址和数据库运维令牌
- 登录运维门户。具体操作,请参见登录运维门户。 
- 在左侧导航栏,单击数据库。 
- 在数据库页面,定位到目标数据库,在远程连接列,将登录方式选择为查看运维令牌,单击登录。 
- 在运维令牌对话框,单击申请运维令牌(首次登录需要申请运维令牌)。  
- 登录运维门户获取运维令牌时,如果当前数据库账户未在堡垒机上托管,则需要在运维令牌对话框配置数据库账户的基本信息后,才能获取运维令牌。关于新建数据库账户的更多信息,请参见数据库管理。 
- 运维令牌需要在有效期内使用,管理员可以在堡垒机设置令牌有效期。若开启运维审批,则以管理员审批通过时设置的有效期为准。 
- 如果管理员设置允许运维员自主续期,则令牌过期前,运维员可以自主为令牌续期,过期之后需要重新申请令牌。若已开启运维审批,则运维员不可进行续期。运维令牌配置修改后需要重新申请或更新令牌才可生效。 
- 若令牌在有效期内但运维连接失败,可能为运维并发已达到上限,请联系管理员升配堡垒机规格或释放空闲连接;或管理员限制了该来源IP和时间段导致无法运维,请联系管理员解除限制。 
- 审计记录的运维用户信息为申请令牌的用户,与客户端中所填用户名和资产账户无关。 
步骤二:通过客户端工具或者命令行建立SSH隧道
下文以Navicat Premium工具和终端命令行工具介绍通过堡垒机运维数据库资产的流程。
Navicat Premium工具
- 打开Navicat Premium工具,新建MySQL连接。 - 在SSH页签,勾选SSH隧道,并配置登录堡垒机的相关信息(步骤一获取的客户端SSH隧道配置项)。  - 关键配置项 - 说明 - 主机 - 堡垒机运维地址,即填写步骤一客户端SSH隧道配置项中的公网或私网运维地址。 - 端口 - 堡垒机SSH运维端口。默认为60022。 - 用户名 - 运维员登录堡垒机的用户名。 - 密码 - 数据库运维令牌,即填写步骤一客户端SSH隧道配置项中的运维令牌。 
- 在常规页签,配置数据库的相关信息。  - 关键配置项 - 说明 - 主机 - 数据库连接地址。 - 用户名 - 数据库账户登录名。 - 密码 - 如果管理员已在堡垒机中托管了数据库账户密码,则密码处可留空。 
- 如果管理员未在堡垒机中托管数据库账户密码,则密码处需填写数据库账户的登录密码。 
 说明 建议您勾选保存密码,如果未勾选,客户端可能会要求您填写账户密码,您可以将运维令牌填写在密码处。
 
- 在Navicat Premium工具中,双击新创建的数据库连接,连接成功后进行运维。 
终端命令行
- 打开命令行工具,执行以下命令。 - 命令格式: - ssh -N -L <localport>:<databaseAddress>:<databasePort> <bastionusername>@<bastionAddress> -p <bastionPort>
- 参数说明: - 参数 - 说明 - localport - 建立隧道后自定义本地监听的端口。请确认与本地已有监听端口不存在冲突。 - databaseAddress - 需要运维的数据库资产的地址。 - databasePort - 需要运维的数据库资产的端口。 - bastionusername - 云堡垒机的用户名。 - bastionAddress - 云堡垒机的运维地址。 - bastionPort - 云堡垒机SSH运维的端口。默认为60022。 
- 命令示例: - ssh -N -L 33061:rm-******m020h.mysql.rds.aliyuncs.com:3306 bastuser@******-public.bastionhost.aliyuncs.com -p 60022
 
- 在密码认证步骤,输入数据库运维令牌,然后按回车键等待。  
- 另起一个命令行,确认本地自定义端口是否处于已监听状态,LISTEN表示已监听。  
- 执行以下命令,成功连接数据库后进行运维。  - 命令格式 - mysql -h 127.0.0.1 -u <accountname> -P <localport>
- 参数说明 - accountname为运维的数据库登录账户名。
- localport为连接堡垒机时自定义的本地监听端口。
 
 
Web运维
堡垒机支持通过运维门户或Web控制台运维数据库。下文以运维门户为例数据运维流程。
前提条件
已在堡垒机中新建数据库和用户,并授权用户资产和资产账户。具体操作,请参见新建数据库、管理用户及授权资产及资产账户。
下文以MySQL和本地用户为例介绍。
操作步骤
- 登录堡垒机运维门户。具体操作,请参见登录运维门户。 
- 在左侧导航栏,单击数据库。 
- 找到目标数据库,并在远程连接列,选择Web远程连接登录方式,单击登录。  
SSO单点登录运维
运维人员可通过Web页面使用单点登录器自动调用本地客户端以建立会话,从而省去单独配置客户端的步骤。下文以堡垒机运维门户为例,介绍如何使用SSO单点登录运维MySQL数据库。
前提条件
- 已在堡垒机中新建数据库和用户,并授权用户资产和资产账户。具体操作,请参见新建数据库、管理用户及授权资产及资产账户。 - 下文以MySQL和本地用户为例介绍。 
- 已在本地系统安装单点登录器支持的客户端。关于支持的客户端说明,请参见单点登录器支持的客户端。 - 下文以Windows系统、Dbeaver 23为例介绍。 
步骤一:获取运维门户地址
- 登录堡垒机控制台,在顶部菜单栏,选择堡垒机所在的地域。 
- 在堡垒机实例列表,定位到目标实例,单击管理。 
- 在左侧导航栏,单击概览,获取运维门户地址。  
步骤二:在本地系统安装单点登录器
- 在浏览器中,输入获取到的运维门户地址。 
- 在云盾堡垒机登录页面,输入堡垒机用户名和密码,单击登录。 
- 在运维门户页面,单击单点登录器下载。 - 本文下载的是Windows系统适用的单点登录器。  
- 下载完成后安装成功即可(安装后无需打开)。 
步骤三:设置运维终端
- 在运维门户的左侧导航栏,单击终端设置。 
- 在MySQL页签,选择Dbeaver客户端,并单击保存。  
- 在弹出的usmsso.exe提示框中,单击打开,并按照页面指引配置运维数据库的客户端。 
步骤四:运维数据库
- 在运维门户的左侧导航栏,单击数据库。 
- 找到目标数据库,并在远程连接列,单击下拉列表,将登录方式设置为本地客户端登录,单击登录。  
数据库运维审计
运维人员通过堡垒机进入数据库资产之后,堡垒机可对运维人员的操作进行审计,包括会话审计、实时监控、操作日志等,实现事后追溯。
- 登录堡垒机控制台,在顶部菜单栏,选择堡垒机所在的地域。 
- 在堡垒机实例列表,定位到目标实例,单击管理。 
- 在左侧导航栏,选择。 
- 在会话审计页面,查看会话记录。