全部产品
Search
文档中心

运维安全中心(堡垒机):数据库运维最佳实践

更新时间:Jun 02, 2026

数据库作为企业的核心业务,其运维操作是安全管控的重点。堡垒机企业双擎版和国密版支持对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系统+命令行两种方式介绍运维流程。

步骤一:获取堡垒机运维地址和数据库运维令牌

  1. 登录运维门户。具体操作,请参见登录运维门户

  2. 在左侧导航栏,单击数据库

  3. 数据库页面,定位到目标数据库,在远程连接列,将登录方式选择为查看运维令牌,单击登录

  4. 运维令牌对话框,单击申请运维令牌(首次登录需要申请运维令牌)。

    申请成功后,对话框显示两部分信息:客户端数据库常规信息配置项(包含数据库地址、账户名称、端口)和客户端SSH隧道配置项(包含运维令牌、公网运维地址、私网运维地址、堡垒机运维端口 SSH: 60022 / RDP: 63389、令牌过期时间)。请将运维令牌复制并填入客户端密码处。如需延长有效期,可单击 更新令牌续期令牌

说明
  • 登录运维门户获取运维令牌时,如果当前数据库账户未在堡垒机上托管,则需要在运维令牌对话框配置数据库账户的基本信息后,才能获取运维令牌。关于新建数据库账户的更多信息,请参见数据库管理

  • 运维令牌需要在有效期内使用,管理员可以在堡垒机设置令牌有效期。若开启运维审批,则以管理员审批通过时设置的有效期为准。

  • 如果管理员设置允许运维员自主续期,则令牌过期前,运维员可以自主为令牌续期,过期之后需要重新申请令牌。若已开启运维审批,则运维员不可进行续期。运维令牌配置修改后需要重新申请或更新令牌才可生效。

  • 若令牌在有效期内但运维连接失败,可能为运维并发已达到上限,请联系管理员升配堡垒机规格或释放空闲连接;或管理员限制了该来源IP和时间段导致无法运维,请联系管理员解除限制。

  • 审计记录的运维用户信息为申请令牌的用户,与客户端中所填用户名和资产账户无关。

步骤二:通过客户端工具或者命令行建立SSH隧道

下文以Navicat Premium工具和终端命令行工具介绍通过堡垒机运维数据库资产的流程。

Navicat Premium工具

  1. 打开Navicat Premium工具,新建MySQL连接。

    • SSH页签,勾选SSH隧道,并配置登录堡垒机的相关信息(步骤一获取的客户端SSH隧道配置项)。

      关键配置项

      说明

      主机

      堡垒机运维地址,即填写步骤一客户端SSH隧道配置项中的公网或私网运维地址。

      端口

      堡垒机SSH运维端口。默认为60022。

      用户名

      运维员登录堡垒机的用户名。

      密码

      数据库运维令牌,即填写步骤一客户端SSH隧道配置项中的运维令牌。

    • 常规页签,配置数据库的相关信息。

      其中端口设置为3306连接名称可自定义(如mysqltest)。

      关键配置项

      说明

      主机

      数据库连接地址。

      用户名

      数据库账户登录名。

      密码

      • 如果管理员已在堡垒机中托管了数据库账户密码,则密码处可留空。

      • 如果管理员未在堡垒机中托管数据库账户密码,则密码处需填写数据库账户的登录密码。

      说明 建议您勾选保存密码,如果未勾选,客户端可能会要求您填写账户密码,您可以将运维令牌填写在密码处。
  2. 在Navicat Premium工具中,双击新创建的数据库连接,连接成功后进行运维。

终端命令行

  1. 打开命令行工具,执行以下命令。

    • 命令格式:

      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

  2. 在密码认证步骤,输入数据库运维令牌,然后按回车键等待。

    [root@xxx ~]# ssh -N -L 3 :rm-xxx0h.mysql.rds.aliyuncs.com:3306 doc01@uxxx-public.bastionhost.aliyuncs.com -p 60022
    The authenticity of host '[uxxx public.bastionhost.aliyuncs.com]:60022 ([xxx.7.15]:60022)' can't be established.
    RSA key fingerprint is SHA256:xxx.
    RSA key fingerprint is MD5:9x:xx:xx:xx:b0:56:0b:bb:58:e6:46:ec.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added '[uxxx.bastionhost.aliyuncs.com]:60022,[xxx.15]:60022' (RSA) to the list of known hosts.
    doc01@uxxx ic.bastionhost.aliyuncs.com's password:
  3. 另起一个命令行,确认本地自定义端口是否处于已监听状态,LISTEN表示已监听。

    [root@iZtxxx:jwtg98zqZ ~]# ss -an | grep 33
    tcp    ESTAB    0    0        127.0.0.1:48012    127.0.0.1:3xxx
    tcp    LISTEN   0    128      [::1]:3…          [::1]:*
  4. 执行以下命令,成功连接数据库后进行运维。

    [root@iZ_xxx jwtg98zqZ lib]# mysql -h 127.0.0.1  -u roxxx -P 3xxx
    Welcome to the MariaDB monitor.  Commands end with ; or \g.
    Your MySQL connection id is 3151064
    Server version: 8.0.13 Source distribution
    Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    MySQL [(none)]>
    • 命令格式

      mysql -h 127.0.0.1 -u <accountname> -P <localport>
    • 参数说明

      • accountname为运维的数据库登录账户名。

      • localport为连接堡垒机时自定义的本地监听端口。

Web运维

堡垒机支持通过运维门户或Web控制台运维数据库。下文以运维门户为例数据运维流程。

前提条件

已在堡垒机中新建数据库和用户,并授权用户资产和资产账户。具体操作,请参见新建数据库管理用户授权资产及资产账户

下文以MySQL本地用户为例介绍。

操作步骤

  1. 登录堡垒机运维门户。具体操作,请参见登录运维门户

  2. 在左侧导航栏,单击数据库

  3. 找到目标数据库,并在远程连接列,选择Web远程连接登录方式,单击登录

    在弹出的登录对话框中,数据库账户选择 root,可勾选设为默认方式

SSO单点登录运维

运维人员可通过Web页面使用单点登录器自动调用本地客户端以建立会话,从而省去单独配置客户端的步骤。下文以堡垒机运维门户为例,介绍如何使用SSO单点登录运维MySQL数据库

前提条件

步骤一:获取运维门户地址

  1. 登录堡垒机控制台,在顶部菜单栏,选择堡垒机所在的地域。

  2. 在堡垒机实例列表,定位到目标实例,单击管理

  3. 在左侧导航栏,单击概览,获取运维门户地址。

    在右侧堡垒机实例信息面板中,可获取公网运维门户地址私网运维门户地址

步骤二:在本地系统安装单点登录器

  1. 在浏览器中,输入获取到的运维门户地址。

  2. 云盾堡垒机登录页面,输入堡垒机用户名和密码,单击登录

  3. 在运维门户页面,单击单点登录器下载

    本文下载的是Windows系统适用的单点登录器。

  4. 下载完成后安装成功即可(安装后无需打开)。

步骤三:设置运维终端

  1. 在运维门户的左侧导航栏,单击终端设置

  2. MySQL页签,选择Dbeaver客户端,并单击保存

  3. 在弹出的usmsso.exe提示框中,单击打开,并按照页面指引配置运维数据库的客户端。

步骤四:运维数据库

  1. 在运维门户的左侧导航栏,单击数据库

  2. 找到目标数据库,并在远程连接列,单击下拉列表,将登录方式设置为本地客户端登录,单击登录

数据库运维审计

运维人员通过堡垒机进入数据库资产之后,堡垒机可对运维人员的操作进行审计,包括会话审计、实时监控、操作日志等,实现事后追溯。

  1. 登录堡垒机控制台,在顶部菜单栏,选择堡垒机所在的地域。

  2. 在堡垒机实例列表,定位到目标实例,单击管理

  3. 在左侧导航栏,选择运维审计 > 会话审计

  4. 会话审计页面,查看会话记录。